META-INF.resources.static.js.240.ee8f3b7b.chunk.js Maven / Gradle / Ivy
Show all versions of hawtio-example-sample-plugin
/*! For license information please see 240.ee8f3b7b.chunk.js.LICENSE.txt */
(self.webpackChunkhawtio_sample_plugin=self.webpackChunkhawtio_sample_plugin||[]).push([[240],{9365:e=>{"use strict";var t,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,a={};((e,t)=>{for(var i in t)r(e,i,{get:t[i],enumerable:!0})})(a,{apacheCamelModelVersion:()=>u,components:()=>p,dataformats:()=>d,definitions:()=>s,languages:()=>c,rests:()=>l}),e.exports=(t=a,((e,t,a,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of n(t))o.call(e,a)||undefined===a||r(e,a,{get:()=>t[a],enumerable:!(s=i(t,a))||s.enumerable});return e})(r({},"__esModule",{value:!0}),t));var s={expression:{type:"object",title:"expression",group:"language",icon:"generic24.png",description:"Expression in the choose language",properties:{expression:{kind:"element",type:"string",title:"Expression",group:"language",description:"The expression",required:!0},language:{kind:"element",type:"string",title:"Expression",group:"language",description:"The chosen language",required:!0,enum:["constant","csimple","datasonnet","exchangeProperty","groovy","header","hl7terser","joor","jq","js","jsonpath","language","method","mvel","ognl","python","ref","simple","spel","tokenize","xpath","xquery","xtokenize"]}}},aggregate:{type:"object",title:"Aggregate",group:"eip,routing",icon:"aggregate24.png",description:"Aggregates many messages into a single message",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{correlationExpression:{kind:"expression",type:"object",description:"The expression used to calculate the correlation key to use for aggregation. The Exchange which has the same correlation key is aggregated together. If the correlation key could not be evaluated an Exception is thrown. You can disable this by using the ignoreBadCorrelationKeys option.",title:"Correlation Expression",required:!0,deprecated:!1},completionPredicate:{kind:"expression",type:"object",description:"A Predicate to indicate when an aggregated exchange is complete. If this is not specified and the AggregationStrategy object implements Predicate, the aggregationStrategy object will be used as the completionPredicate.",title:"Completion Predicate",required:!1,deprecated:!1},completionTimeoutExpression:{kind:"expression",type:"object",description:"Time in millis that an aggregated exchange should be inactive before its complete (timeout). This option can be set as either a fixed value or using an Expression which allows you to evaluate a timeout dynamically - will use Long as result. If both are set Camel will fallback to use the fixed value if the Expression result was null or 0. You cannot use this option together with completionInterval, only one of the two can be used. By default the timeout checker runs every second, you can use the completionTimeoutCheckerInterval option to configure how frequently to run the checker. The timeout is an approximation and there is no guarantee that the a timeout is triggered exactly after the timeout value. It is not recommended to use very low timeout values or checker intervals.",title:"Completion Timeout Expression",required:!1,deprecated:!1},completionSizeExpression:{kind:"expression",type:"object",description:"Number of messages aggregated before the aggregation is complete. This option can be set as either a fixed value or using an Expression which allows you to evaluate a size dynamically - will use Integer as result. If both are set Camel will fallback to use the fixed value if the Expression result was null or 0.",title:"Completion Size Expression",required:!1,deprecated:!1},optimisticLockRetryPolicy:{kind:"element",type:"object",description:"Allows to configure retry settings when using optimistic locking.",title:"Optimistic Lock Retry Policy",required:!1,deprecated:!1},parallelProcessing:{kind:"attribute",type:"boolean",defaultValue:"false",description:"When aggregated are completed they are being send out of the aggregator. This option indicates whether or not Camel should use a thread pool with multiple threads for concurrency. If no custom thread pool has been specified then Camel creates a default pool with 10 concurrent threads.",title:"Parallel Processing",required:!1,deprecated:!1},optimisticLocking:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Turns on using optimistic locking, which requires the aggregationRepository being used, is supporting this by implementing org.apache.camel.spi.OptimisticLockingAggregationRepository .",title:"Optimistic Locking",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"If using parallelProcessing you can specify a custom thread pool to be used. In fact also if you are not using parallelProcessing this custom thread pool is used to send out aggregated exchanges as well.",title:"Executor Service",required:!1,deprecated:!1},timeoutCheckerExecutorService:{kind:"attribute",type:"object",description:"If using either of the completionTimeout, completionTimeoutExpression, or completionInterval options a background thread is created to check for the completion for every aggregator. Set this option to provide a custom thread pool to be used rather than creating a new thread for every aggregator.",title:"Timeout Checker Executor Service",required:!1,deprecated:!1},aggregateController:{kind:"attribute",type:"object",description:"To use a org.apache.camel.processor.aggregate.AggregateController to allow external sources to control this aggregator.",title:"Aggregate Controller",required:!1,deprecated:!1},aggregationRepository:{kind:"attribute",type:"object",description:"The AggregationRepository to use. Sets the custom aggregate repository to use. Will by default use org.apache.camel.processor.aggregate.MemoryAggregationRepository",title:"Aggregation Repository",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"The AggregationStrategy to use. For example to lookup a bean with the name foo, the value is simply just #bean:foo. Configuring an AggregationStrategy is required, and is used to merge the incoming Exchange with the existing already merged exchanges. At first call the oldExchange parameter is null. On subsequent invocations the oldExchange contains the merged exchanges and newExchange is of course the new incoming Exchange.",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using beans as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used for the very first aggregation. If this option is true then null values is used as the oldExchange (at the very first aggregation), when using beans as the AggregationStrategy.",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},completionSize:{kind:"attribute",type:"integer",description:"Number of messages aggregated before the aggregation is complete. This option can be set as either a fixed value or using an Expression which allows you to evaluate a size dynamically - will use Integer as result. If both are set Camel will fallback to use the fixed value if the Expression result was null or 0.",title:"Completion Size",required:!1,deprecated:!1},completionInterval:{kind:"attribute",type:"duration",description:"A repeating period in millis by which the aggregator will complete all current aggregated exchanges. Camel has a background task which is triggered every period. You cannot use this option together with completionTimeout, only one of them can be used.",title:"Completion Interval",required:!1,deprecated:!1},completionTimeout:{kind:"attribute",type:"duration",description:"Time in millis that an aggregated exchange should be inactive before its complete (timeout). This option can be set as either a fixed value or using an Expression which allows you to evaluate a timeout dynamically - will use Long as result. If both are set Camel will fallback to use the fixed value if the Expression result was null or 0. You cannot use this option together with completionInterval, only one of the two can be used. By default the timeout checker runs every second, you can use the completionTimeoutCheckerInterval option to configure how frequently to run the checker. The timeout is an approximation and there is no guarantee that the a timeout is triggered exactly after the timeout value. It is not recommended to use very low timeout values or checker intervals.",title:"Completion Timeout",required:!1,deprecated:!1},completionTimeoutCheckerInterval:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Interval in millis that is used by the background task that checks for timeouts ( org.apache.camel.TimeoutMap ). By default the timeout checker runs every second. The timeout is an approximation and there is no guarantee that the a timeout is triggered exactly after the timeout value. It is not recommended to use very low timeout values or checker intervals.",title:"Completion Timeout Checker Interval",required:!1,deprecated:!1},completionFromBatchConsumer:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables the batch completion mode where we aggregate from a org.apache.camel.BatchConsumer and aggregate the total number of exchanges the org.apache.camel.BatchConsumer has reported as total by checking the exchange property org.apache.camel.Exchange#BATCH_COMPLETE when its complete. This option cannot be used together with discardOnAggregationFailure.",title:"Completion From Batch Consumer",required:!1,deprecated:!1},completionOnNewCorrelationGroup:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables completion on all previous groups when a new incoming correlation group. This can for example be used to complete groups with same correlation keys when they are in consecutive order. Notice when this is enabled then only 1 correlation group can be in progress as when a new correlation group starts, then the previous groups is forced completed.",title:"Completion On New Correlation Group",required:!1,deprecated:!1},eagerCheckCompletion:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Use eager completion checking which means that the completionPredicate will use the incoming Exchange. As opposed to without eager completion checking the completionPredicate will use the aggregated Exchange.",title:"Eager Check Completion",required:!1,deprecated:!1},ignoreInvalidCorrelationKeys:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If a correlation key cannot be successfully evaluated it will be ignored by logging a DEBUG and then just ignore the incoming Exchange.",title:"Ignore Invalid Correlation Keys",required:!1,deprecated:!1},closeCorrelationKeyOnCompletion:{kind:"attribute",type:"integer",description:"Closes a correlation key when its complete. Any late received exchanges which has a correlation key that has been closed, it will be defined and a ClosedCorrelationKeyException is thrown.",title:"Close Correlation Key On Completion",required:!1,deprecated:!1},discardOnCompletionTimeout:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Discards the aggregated message on completion timeout. This means on timeout the aggregated message is dropped and not sent out of the aggregator.",title:"Discard On Completion Timeout",required:!1,deprecated:!1},discardOnAggregationFailure:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Discards the aggregated message when aggregation failed (an exception was thrown from AggregationStrategy . This means the partly aggregated message is dropped and not sent out of the aggregator. This option cannot be used together with completionFromBatchConsumer.",title:"Discard On Aggregation Failure",required:!1,deprecated:!1},forceCompletionOnStop:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Indicates to complete all current aggregated exchanges when the context is stopped",title:"Force Completion On Stop",required:!1,deprecated:!1},completeAllOnStop:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Indicates to wait to complete all current and partial (pending) aggregated exchanges when the context is stopped. This also means that we will wait for all pending exchanges which are stored in the aggregation repository to complete so the repository is empty before we can stop. You may want to enable this when using the memory based aggregation repository that is memory based only, and do not store data on disk. When this option is enabled, then the aggregator is waiting to complete all those exchanges before its stopped, when stopping CamelContext or the route using it.",title:"Complete All On Stop",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},"batch-config":{type:"object",title:"Batch-config",group:"configuration,eip",icon:"generic24.png",description:"Configures batch-processing resequence eip.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{batchSize:{kind:"attribute",type:"integer",defaultValue:"100",description:"Sets the size of the batch to be re-ordered. The default size is 100.",title:"Batch Size",required:!1,deprecated:!1},batchTimeout:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the timeout for collecting elements to be re-ordered. The default timeout is 1000 msec.",title:"Batch Timeout",required:!1,deprecated:!1},allowDuplicates:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to allow duplicates.",title:"Allow Duplicates",required:!1,deprecated:!1},reverse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to reverse the ordering.",title:"Reverse",required:!1,deprecated:!1},ignoreInvalidExchanges:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore invalid exchanges",title:"Ignore Invalid Exchanges",required:!1,deprecated:!1}}},bean:{type:"object",title:"Bean",group:"eip,endpoint",icon:"bean24.png",description:"Calls a Java bean",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{ref:{kind:"attribute",type:"string",description:"Sets a reference to an exiting bean to use, which is looked up from the registry",title:"Ref",required:!1,deprecated:!1},method:{kind:"attribute",type:"string",description:"Sets the method name on the bean to use",title:"Method",required:!1,deprecated:!1},beanType:{kind:"attribute",type:"string",description:"Sets the class name (fully qualified) of the bean to use",title:"Bean Type",required:!1,deprecated:!1},scope:{kind:"attribute",type:"enum",defaultValue:"Singleton",enum:["Singleton","Request","Prototype"],description:"Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while processing the request. The bean does not have to be thread-safe as the instance is only called from the same request. When using prototype scope, then the bean will be looked up or created per call. However in case of lookup then this is delegated to the bean registry such as Spring or CDI (if in use), which depends on their configuration can act as either singleton or prototype scope. So when using prototype scope then this depends on the bean registry implementation.",title:"Scope",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},beans:{type:"object",title:"Beans",group:"configuration",icon:"generic24.png",description:"A grouping POJO (and related XML root element) that's historically associated with entire application (or its distinguished fragment). This class is not meant to be used with Camel Java DSL, but it's needed to generate XML Schema and MX parser methods.",properties:{"component-scan":{kind:"element",type:"array",description:"Component scanning definition(s). But unlike package/packageScan/contextScan, we're not scanning only for org.apache.camel.builder.RouteBuilder.",title:"Component-scan",required:!1,deprecated:!1},bean:{kind:"element",type:"array",description:"",title:"Bean",required:!1,deprecated:!1},restConfiguration:{kind:"element",type:"array",description:"",title:"Rest Configuration",required:!1,deprecated:!1},rest:{kind:"element",type:"array",description:"",title:"Rest",required:!1,deprecated:!1},routeConfiguration:{kind:"element",type:"array",description:"",title:"Route Configuration",required:!1,deprecated:!1},routeTemplate:{kind:"element",type:"array",description:"",title:"Route Template",required:!1,deprecated:!1},templatedRoute:{kind:"element",type:"array",description:"",title:"Templated Route",required:!1,deprecated:!1},route:{kind:"element",type:"array",description:"",title:"Route",required:!1,deprecated:!1}}},blacklistServiceFilter:{type:"object",title:"Blacklist Service Filter",group:"routing,cloud,service-filter",icon:"generic24.png",description:"",properties:{servers:{kind:"element",type:"array",description:"Sets the server blacklist. Each entry can be a list of servers separated by comma in the format: servicehost:port,servicehost2:port,servicehost3:port",title:"Servers",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},cachingServiceDiscovery:{type:"object",title:"Caching Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{timeout:{kind:"attribute",type:"integer",defaultValue:"60",description:"Set the time the services will be retained.",title:"Timeout",required:!1,deprecated:!1},units:{kind:"attribute",type:"enum",defaultValue:"SECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Set the time unit for the timeout.",title:"Units",required:!1,deprecated:!1},serviceDiscoveryConfiguration:{kind:"element",type:"object",description:"Set the service-call configuration to use",title:"Service Discovery Configuration",required:!0,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},camel:{type:"object",title:"Camel",group:"configuration",icon:"generic24.png",description:"If beans reminds Spring application too much, we can use camel.",properties:{"component-scan":{kind:"element",type:"array",description:"Component scanning definition(s). But unlike package/packageScan/contextScan, we're not scanning only for org.apache.camel.builder.RouteBuilder.",title:"Component-scan",required:!1,deprecated:!1},bean:{kind:"element",type:"array",description:"",title:"Bean",required:!1,deprecated:!1},restConfiguration:{kind:"element",type:"array",description:"",title:"Rest Configuration",required:!1,deprecated:!1},rest:{kind:"element",type:"array",description:"",title:"Rest",required:!1,deprecated:!1},routeConfiguration:{kind:"element",type:"array",description:"",title:"Route Configuration",required:!1,deprecated:!1},routeTemplate:{kind:"element",type:"array",description:"",title:"Route Template",required:!1,deprecated:!1},templatedRoute:{kind:"element",type:"array",description:"",title:"Templated Route",required:!1,deprecated:!1},route:{kind:"element",type:"array",description:"",title:"Route",required:!1,deprecated:!1}}},choice:{type:"object",title:"Choice",group:"eip,routing",icon:"choice24.png",description:"Route messages based on a series of predicates",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{when:{kind:"element",type:"array",description:"Sets the when nodes",title:"When",required:!1,deprecated:!1},otherwise:{kind:"element",type:"object",description:"Sets the otherwise node",title:"Otherwise",required:!1,deprecated:!1},precondition:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Indicates whether this Choice EIP is in precondition mode or not. If so its branches (when/otherwise) are evaluated during startup to keep at runtime only the branch that matched.",title:"Precondition",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},circuitBreaker:{type:"object",title:"Circuit Breaker",group:"eip,routing",icon:"generic24.png",description:"Route messages in a fault tolerance way using Circuit Breaker",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{configuration:{kind:"attribute",type:"string",description:"Refers to a circuit breaker configuration (such as resillience4j, or microprofile-fault-tolerance) to use for configuring the circuit breaker EIP.",title:"Configuration",required:!1,deprecated:!1},resilience4jConfiguration:{kind:"element",type:"object",description:"Configures the circuit breaker to use Resilience4j with the given configuration.",title:"Resilience4j Configuration",required:!1,deprecated:!1},faultToleranceConfiguration:{kind:"element",type:"object",description:"Configures the circuit breaker to use MicroProfile Fault Tolerance with the given configuration.",title:"Fault Tolerance Configuration",required:!1,deprecated:!1},onFallback:{kind:"element",type:"object",description:"The fallback route path to execute that does not go over the network. This should be a static or cached result that can immediately be returned upon failure. If the fallback requires network connection then use onFallbackViaNetwork() .",title:"On Fallback",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},claimCheck:{type:"object",title:"Claim Check",group:"eip,routing",icon:"generic24.png",description:"The Claim Check EIP allows you to replace message content with a claim check (a unique key), which can be used to retrieve the message content at a later time.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{operation:{kind:"attribute",type:"enum",enum:["Get","GetAndRemove","Set","Push","Pop"],description:"The claim check operation to use. The following operations are supported: Get - Gets (does not remove) the claim check by the given key. GetAndRemove - Gets and removes the claim check by the given key. Set - Sets a new (will override if key already exists) claim check with the given key. Push - Sets a new claim check on the stack (does not use key). Pop - Gets the latest claim check from the stack (does not use key).",title:"Operation",required:!1,deprecated:!1},key:{kind:"attribute",type:"string",description:"To use a specific key for claim check id (for dynamic keys use simple language syntax as the key).",title:"Key",required:!1,deprecated:!1},filter:{kind:"attribute",type:"string",description:"Specify a filter to control what data gets merged data back from the claim check repository. The following syntax is supported: body - to aggregate the message body attachments - to aggregate all the message attachments headers - to aggregate all the message headers header:pattern - to aggregate all the message headers that matches the pattern. The following pattern rules are applied in this order: exact match, returns true wildcard match (pattern ends with a and the name starts with the pattern), returns true regular expression match, returns true otherwise returns false You can specify multiple rules separated by comma. For example, the following includes the message body and all headers starting with foo: body,header:foo. The syntax supports the following prefixes which can be used to specify include,exclude, or remove - to include (which is the default mode) - - to exclude (exclude takes precedence over include) -- - to remove (remove takes precedence) For example to exclude a header name foo, and remove all headers starting with bar, -header:foo,--headers:bar Note you cannot have both include and exclude header:pattern at the same time.",title:"Filter",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"To use a custom AggregationStrategy instead of the default implementation. Notice you cannot use both custom aggregation strategy and configure data at the same time.",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},combinedServiceDiscovery:{type:"object",title:"Combined Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{serviceDiscoveryConfigurations:{kind:"element",type:"array",description:"List of ServiceDiscovery configuration to use",title:"Service Discovery Configurations",required:!0,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},combinedServiceFilter:{type:"object",title:"Combined Service Filter",group:"routing,cloud,service-filter",icon:"generic24.png",description:"",properties:{serviceFilterConfigurations:{kind:"element",type:"array",description:"List of ServiceFilter configuration to use",title:"Service Filter Configurations",required:!0,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},consulServiceDiscovery:{type:"object",title:"Consul Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{url:{kind:"attribute",type:"string",description:"The Consul agent URL",title:"Url",required:!1,deprecated:!1},datacenter:{kind:"attribute",type:"string",description:"The data center",title:"Datacenter",required:!1,deprecated:!1},aclToken:{kind:"attribute",type:"string",description:"Sets the ACL token to be used with Consul",title:"Acl Token",required:!1,deprecated:!1},userName:{kind:"attribute",type:"string",description:"Sets the username to be used for basic authentication",title:"User Name",required:!1,deprecated:!1},password:{kind:"attribute",type:"string",description:"Sets the password to be used for basic authentication",title:"Password",required:!1,deprecated:!1},connectTimeoutMillis:{kind:"attribute",type:"integer",description:"Connect timeout for OkHttpClient",title:"Connect Timeout Millis",required:!1,deprecated:!1},readTimeoutMillis:{kind:"attribute",type:"integer",description:"Read timeout for OkHttpClient",title:"Read Timeout Millis",required:!1,deprecated:!1},writeTimeoutMillis:{kind:"attribute",type:"integer",description:"Write timeout for OkHttpClient",title:"Write Timeout Millis",required:!1,deprecated:!1},blockSeconds:{kind:"attribute",type:"integer",defaultValue:"10",description:"The seconds to wait for a watch event, default 10 seconds",title:"Block Seconds",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},contextScan:{type:"object",title:"Context Scan",group:"configuration",icon:"generic24.png",description:"Scans for Java org.apache.camel.builder.RouteBuilder instances in the context org.apache.camel.spi.Registry .",properties:{includeNonSingletons:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to include non-singleton beans (prototypes) By default only singleton beans is included in the context scan",title:"Include Non Singletons",required:!1,deprecated:!1},excludes:{kind:"element",type:"array",description:"Exclude finding route builder from these java package names.",title:"Excludes",required:!1,deprecated:!1},includes:{kind:"element",type:"array",description:"Include finding route builder from these java package names.",title:"Includes",required:!1,deprecated:!1}}},convertBodyTo:{type:"object",title:"Convert Body To",group:"eip,transformation",icon:"convertBodyTo24.png",description:"Converts the message body to another type",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{type:{kind:"attribute",type:"string",description:"The java type to convert to",title:"Type",required:!0,deprecated:!1},mandatory:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When mandatory then the conversion must return a value (cannot be null), if this is not possible then NoTypeConversionAvailableException is thrown. Setting this to false could mean conversion is not possible and the value is null.",title:"Mandatory",required:!1,deprecated:!1},charset:{kind:"attribute",type:"string",description:"To use a specific charset when converting",title:"Charset",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},customLoadBalancer:{type:"object",title:"Custom Load Balancer",group:"eip,routing",icon:"generic24.png",description:"To use a custom load balancer implementation.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{ref:{kind:"attribute",type:"string",description:"Refers to the custom load balancer to lookup from the registry",title:"Ref",required:!0,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},customServiceFilter:{type:"object",title:"Custom Service Filter",group:"routing,cloud,service-filter",icon:"generic24.png",description:"",properties:{ref:{kind:"attribute",type:"string",description:"Reference of a ServiceFilter",title:"Ref",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},deadLetterChannel:{type:"object",title:"Dead Letter Channel",group:"configuration,error",icon:"generic24.png",description:"Error handler with dead letter queue.",properties:{deadLetterUri:{kind:"attribute",type:"string",description:"The dead letter endpoint uri for the Dead Letter error handler.",title:"Dead Letter Uri",required:!0,deprecated:!1},deadLetterHandleNewException:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the dead letter channel should handle (and ignore) any new exception that may been thrown during sending the message to the dead letter endpoint. The default value is true which means any such kind of exception is handled and ignored. Set this to false to let the exception be propagated back on the org.apache.camel.Exchange . This can be used in situations where you use transactions, and want to use Camel's dead letter channel to deal with exceptions during routing, but if the dead letter channel itself fails because of a new exception being thrown, then by setting this to false the new exceptions is propagated back and set on the org.apache.camel.Exchange , which allows the transaction to detect the exception, and rollback.",title:"Dead Letter Handle New Exception",required:!1,deprecated:!1},loggerRef:{kind:"attribute",type:"string",description:"References to a logger to use as logger for the error handler",title:"Logger Ref",required:!1,deprecated:!1},level:{kind:"attribute",type:"enum",defaultValue:"ERROR",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to use when using the logging error handler type.",title:"Level",required:!1,deprecated:!1},logName:{kind:"attribute",type:"string",description:"Name of the logger to use for the logging error handler",title:"Log Name",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},useOriginalBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Body",required:!1,deprecated:!1},onRedeliveryRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.",title:"On Redelivery Ref",required:!1,deprecated:!1},onExceptionOccurredRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.",title:"On Exception Occurred Ref",required:!1,deprecated:!1},onPrepareFailureRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor to prepare the org.apache.camel.Exchange before handled by the failure processor / dead letter channel. This allows for example to enrich the message before sending to a dead letter queue.",title:"On Prepare Failure Ref",required:!1,deprecated:!1},retryWhileRef:{kind:"attribute",type:"object",description:"Sets a retry while predicate. Will continue retrying until the predicate evaluates to false.",title:"Retry While Ref",required:!1,deprecated:!1},redeliveryPolicyRef:{kind:"attribute",type:"object",description:"Sets a reference to a RedeliveryPolicy to be used for redelivery settings.",title:"Redelivery Policy Ref",required:!1,deprecated:!1},executorServiceRef:{kind:"attribute",type:"object",description:"Sets a reference to a thread pool to be used by the error handler",title:"Executor Service Ref",required:!1,deprecated:!1},redeliveryPolicy:{kind:"element",type:"object",description:"Sets the redelivery settings",title:"Redelivery Policy",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},defaultErrorHandler:{type:"object",title:"Default Error Handler",group:"configuration,error",icon:"generic24.png",description:"The default error handler.",properties:{loggerRef:{kind:"attribute",type:"string",description:"References to a logger to use as logger for the error handler",title:"Logger Ref",required:!1,deprecated:!1},level:{kind:"attribute",type:"enum",defaultValue:"ERROR",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to use when using the logging error handler type.",title:"Level",required:!1,deprecated:!1},logName:{kind:"attribute",type:"string",description:"Name of the logger to use for the logging error handler",title:"Log Name",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},useOriginalBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Body",required:!1,deprecated:!1},onRedeliveryRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.",title:"On Redelivery Ref",required:!1,deprecated:!1},onExceptionOccurredRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.",title:"On Exception Occurred Ref",required:!1,deprecated:!1},onPrepareFailureRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor to prepare the org.apache.camel.Exchange before handled by the failure processor / dead letter channel. This allows for example to enrich the message before sending to a dead letter queue.",title:"On Prepare Failure Ref",required:!1,deprecated:!1},retryWhileRef:{kind:"attribute",type:"object",description:"Sets a retry while predicate. Will continue retrying until the predicate evaluates to false.",title:"Retry While Ref",required:!1,deprecated:!1},redeliveryPolicyRef:{kind:"attribute",type:"object",description:"Sets a reference to a RedeliveryPolicy to be used for redelivery settings.",title:"Redelivery Policy Ref",required:!1,deprecated:!1},executorServiceRef:{kind:"attribute",type:"object",description:"Sets a reference to a thread pool to be used by the error handler",title:"Executor Service Ref",required:!1,deprecated:!1},redeliveryPolicy:{kind:"element",type:"object",description:"Sets the redelivery settings",title:"Redelivery Policy",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},defaultLoadBalancer:{type:"object",title:"Default Load Balancer",group:"routing,cloud,load-balancing",icon:"generic24.png",description:"",properties:{properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},delay:{type:"object",title:"Delay",group:"eip,routing",icon:"generic24.png",description:"Delays processing for a specified length of time",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression to define how long time to wait (in millis)",title:"Expression",required:!0,deprecated:!1},asyncDelayed:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Enables asynchronous delay which means the thread will not block while delaying.",title:"Async Delayed",required:!1,deprecated:!1},callerRunsWhenRejected:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the caller should run the task when it was rejected by the thread pool. Is by default true",title:"Caller Runs When Rejected",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom Thread Pool if asyncDelay has been enabled.",title:"Executor Service",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},dnsServiceDiscovery:{type:"object",title:"Dns Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{proto:{kind:"attribute",type:"string",defaultValue:"_tcp",description:"The transport protocol of the desired service.",title:"Proto",required:!1,deprecated:!1},domain:{kind:"attribute",type:"string",description:"The domain name;",title:"Domain",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},doCatch:{type:"object",title:"Do Catch",group:"error",icon:"generic24.png",description:"Catches exceptions as part of a try, catch, finally block",properties:{exception:{kind:"element",type:"array",description:"The exception(s) to catch.",title:"Exception",required:!1,deprecated:!1},onWhen:{kind:"element",type:"object",description:"Sets an additional predicate that should be true before the onCatch is triggered. To be used for fine grained controlling whether a thrown exception should be intercepted by this exception type or not.",title:"On When",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},doFinally:{type:"object",title:"Do Finally",group:"error",icon:"generic24.png",description:"Path traversed when a try, catch, finally block exits",properties:{outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},doTry:{type:"object",title:"Do Try",group:"error",icon:"generic24.png",description:"Marks the beginning of a try, catch, finally block",properties:{outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},dynamicRouter:{type:"object",title:"Dynamic Router",group:"eip,routing",icon:"dynamicRouter24.png",description:"Route messages based on dynamic rules",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression to call that returns the endpoint(s) to route to in the dynamic routing. Important: The expression will be called in a while loop fashion, until the expression returns null which means the dynamic router is finished.",title:"Expression",required:!0,deprecated:!1},uriDelimiter:{kind:"attribute",type:"string",defaultValue:",",description:"Sets the uri delimiter to use",title:"Uri Delimiter",required:!1,deprecated:!1},ignoreInvalidEndpoints:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Ignore the invalidate endpoint exception when try to create a producer with that endpoint",title:"Ignore Invalid Endpoints",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producers when using this dynamic router, when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},enrich:{type:"object",title:"Enrich",group:"eip,transformation",icon:"enrich24.png",description:"Enriches a message with data from a secondary resource",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression that computes the endpoint uri to use as the resource endpoint to enrich from",title:"Expression",required:!0,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"Sets the AggregationStrategy to be used to merge the reply from the external service, into a single outgoing message. By default Camel will use the reply from the external service as outgoing message.",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"string",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},aggregateOnException:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was an exception thrown while trying to retrieve the data to enrich from the resource. Setting this option to true allows end users to control what to do if there was an exception in the aggregate method. For example to suppress the exception or set a custom message body etc.",title:"Aggregate On Exception",required:!1,deprecated:!1},shareUnitOfWork:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Shares the org.apache.camel.spi.UnitOfWork with the parent and the resource exchange. Enrich will by default not share unit of work between the parent exchange and the resource exchange. This means the resource exchange has its own individual unit of work.",title:"Share Unit Of Work",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producer when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},ignoreInvalidEndpoint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Ignore the invalidate endpoint exception when try to create a producer with that endpoint",title:"Ignore Invalid Endpoint",required:!1,deprecated:!1},allowOptimisedComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to allow components to optimise enricher if they are org.apache.camel.spi.SendDynamicAware .",title:"Allow Optimised Components",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},errorHandler:{type:"object",title:"Error Handler",group:"configuration,error",icon:"generic24.png",description:"Camel error handling.",properties:{errorHandlerType:{kind:"element",type:"object",description:"The specific error handler in use.",title:"Error Handler Type",required:!0,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},failover:{type:"object",title:"Failover",group:"eip,routing",icon:"generic24.png",description:"In case of failures the exchange will be tried on the next endpoint.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{exception:{kind:"element",type:"array",description:"A list of class names for specific exceptions to monitor. If no exceptions are configured then all exceptions are monitored",title:"Exception",required:!1,deprecated:!1},roundRobin:{kind:"attribute",type:"string",description:"Whether or not the failover load balancer should operate in round robin mode or not. If not, then it will always start from the first endpoint when a new message is to be processed. In other words it restart from the top for every message. If round robin is enabled, then it keeps state and will continue with the next endpoint in a round robin fashion. You can also enable sticky mode together with round robin, if so then it will pick the last known good endpoint to use when starting the load balancing (instead of using the next when starting).",title:"Round Robin",required:!1,deprecated:!1},sticky:{kind:"attribute",type:"string",description:"Whether or not the failover load balancer should operate in sticky mode or not. If not, then it will always start from the first endpoint when a new message is to be processed. In other words it restart from the top for every message. If sticky is enabled, then it keeps state and will continue with the last known good endpoint. You can also enable sticky mode together with round robin, if so then it will pick the last known good endpoint to use when starting the load balancing (instead of using the next when starting).",title:"Sticky",required:!1,deprecated:!1},maximumFailoverAttempts:{kind:"attribute",type:"string",defaultValue:"-1",description:"A value to indicate after X failover attempts we should exhaust (give up). Use -1 to indicate never give up and continuously try to failover. Use 0 to never failover. And use e.g. 3 to failover at most 3 times before giving up. his option can be used whether or not roundRobin is enabled or not.",title:"Maximum Failover Attempts",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},faultToleranceConfiguration:{type:"object",title:"Fault Tolerance Configuration",group:"configuration,eip",icon:"generic24.png",description:"MicroProfile Fault Tolerance Circuit Breaker EIP configuration",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{circuitBreaker:{kind:"attribute",type:"string",description:"Refers to an existing io.smallrye.faulttolerance.core.circuit.breaker.CircuitBreaker instance to lookup and use from the registry. When using this, then any other circuit breaker options are not in use.",title:"Circuit Breaker",required:!1,deprecated:!1},delay:{kind:"attribute",type:"duration",defaultValue:"5000",description:"Control how long the circuit breaker stays open. The default is 5 seconds.",title:"Delay",required:!1,deprecated:!1},successThreshold:{kind:"attribute",type:"integer",defaultValue:"1",description:"Controls the number of trial calls which are allowed when the circuit breaker is half-open",title:"Success Threshold",required:!1,deprecated:!1},requestVolumeThreshold:{kind:"attribute",type:"integer",defaultValue:"20",description:"Controls the size of the rolling window used when the circuit breaker is closed",title:"Request Volume Threshold",required:!1,deprecated:!1},failureRatio:{kind:"attribute",type:"integer",defaultValue:"50",description:"Configures the failure rate threshold in percentage. If the failure rate is equal or greater than the threshold the CircuitBreaker transitions to open and starts short-circuiting calls. The threshold must be greater than 0 and not greater than 100. Default value is 50 percentage.",title:"Failure Ratio",required:!1,deprecated:!1},timeoutEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether timeout is enabled or not on the circuit breaker. Default is false.",title:"Timeout Enabled",required:!1,deprecated:!1},timeoutDuration:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Configures the thread execution timeout. Default value is 1 second.",title:"Timeout Duration",required:!1,deprecated:!1},timeoutPoolSize:{kind:"attribute",type:"integer",defaultValue:"10",description:"Configures the pool size of the thread pool when timeout is enabled. Default value is 10.",title:"Timeout Pool Size",required:!1,deprecated:!1},timeoutScheduledExecutorService:{kind:"attribute",type:"object",description:"References to a custom thread pool to use when timeout is enabled",title:"Timeout Scheduled Executor Service",required:!1,deprecated:!1},bulkheadEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether bulkhead is enabled or not on the circuit breaker. Default is false.",title:"Bulkhead Enabled",required:!1,deprecated:!1},bulkheadMaxConcurrentCalls:{kind:"attribute",type:"integer",defaultValue:"10",description:"Configures the max amount of concurrent calls the bulkhead will support.",title:"Bulkhead Max Concurrent Calls",required:!1,deprecated:!1},bulkheadWaitingTaskQueue:{kind:"attribute",type:"integer",defaultValue:"10",description:"Configures the task queue size for holding waiting tasks to be processed by the bulkhead.",title:"Bulkhead Waiting Task Queue",required:!1,deprecated:!1},bulkheadExecutorService:{kind:"attribute",type:"object",description:"References to a custom thread pool to use when bulkhead is enabled.",title:"Bulkhead Executor Service",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},filter:{type:"object",title:"Filter",group:"eip,routing",icon:"filter24.png",description:"Filter out messages based using a predicate",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{expression:{kind:"expression",type:"object",description:"Expression to determine if the message should be filtered or not. If the expression returns an empty value or false then the message is filtered (dropped), otherwise the message is continued being routed.",title:"Expression",required:!0,deprecated:!1},statusPropertyName:{kind:"attribute",type:"string",description:"Name of exchange property to use for storing the status of the filtering. Setting this allows to know if the filter predicate evaluated as true or false.",title:"Status Property Name",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},from:{type:"object",title:"From",group:"eip,routing",icon:"endpoint24.png",description:"Act as a message source as input to a route",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{uri:{kind:"attribute",type:"string",description:"Sets the URI of the endpoint to use",title:"Uri",required:!0,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},globalOption:{type:"object",title:"Global Option",group:"configuration",icon:"generic24.png",description:"Models a string key/value pair for configuring some global options on a Camel context such as max debug log length.",properties:{key:{kind:"attribute",type:"string",description:"Global option key",title:"Key",required:!0,deprecated:!1},value:{kind:"attribute",type:"string",description:"Global option value",title:"Value",required:!0,deprecated:!1}}},globalOptions:{type:"object",title:"Global Options",group:"configuration",icon:"generic24.png",description:"Models a series of string key/value pairs for configuring some global options on a Camel context such as max debug log length.",properties:{globalOption:{kind:"element",type:"array",description:"A series of global options as key value pairs",title:"Global Option",required:!1,deprecated:!1}}},healthyServiceFilter:{type:"object",title:"Healthy Service Filter",group:"routing,cloud,service-filter",icon:"generic24.png",description:"",properties:{properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},idempotentConsumer:{type:"object",title:"Idempotent Consumer",group:"eip,routing",icon:"idempotentConsumer24.png",description:"Filters out duplicate messages",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{expression:{kind:"expression",type:"object",description:"Expression used to calculate the correlation key to use for duplicate check. The Exchange which has the same correlation key is regarded as a duplicate and will be rejected.",title:"Expression",required:!0,deprecated:!1},idempotentRepository:{kind:"attribute",type:"object",description:"Sets the reference name of the message id repository",title:"Idempotent Repository",required:!1,deprecated:!1},eager:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether to eagerly add the key to the idempotent repository or wait until the exchange is complete. Eager is default enabled.",title:"Eager",required:!1,deprecated:!1},completionEager:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether to complete the idempotent consumer eager or when the exchange is done. If this option is true to complete eager, then the idempotent consumer will trigger its completion when the exchange reached the end of the block of the idempotent consumer pattern. So if the exchange is continued routed after the block ends, then whatever happens there does not affect the state. If this option is false (default) to not complete eager, then the idempotent consumer will complete when the exchange is done being routed. So if the exchange is continued routed after the block ends, then whatever happens there also affect the state. For example if the exchange failed due to an exception, then the state of the idempotent consumer will be a rollback.",title:"Completion Eager",required:!1,deprecated:!1},skipDuplicate:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether to skip duplicates or not. The default behavior is to skip duplicates. A duplicate message would have the Exchange property org.apache.camel.Exchange#DUPLICATE_MESSAGE set to a Boolean#TRUE value. A none duplicate message will not have this property set.",title:"Skip Duplicate",required:!1,deprecated:!1},removeOnFailure:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether to remove or keep the key on failure. The default behavior is to remove the key on failure.",title:"Remove On Failure",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},inputType:{type:"object",title:"Input Type",group:"configuration",icon:"generic24.png",description:"Set the expected data type of the input message. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists. If validate attribute is true then camel applies Validator as well. Type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example {code java:java.lang.String} , {code json:ABCOrder} . It's also possible to specify only scheme part, so that it works like a wildcard. If only 'xml' is specified, all the XML message matches. It's handy to add only one transformer/validator for all the transformation from/to XML.",properties:{urn:{kind:"attribute",type:"string",description:"The input type URN.",title:"Urn",required:!0,deprecated:!1},validate:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether if validation is required for this input type.",title:"Validate",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},intercept:{type:"object",title:"Intercept",group:"configuration",icon:"generic24.png",description:"Intercepts a message at each step in the route",properties:{outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},interceptFrom:{type:"object",title:"Intercept From",group:"configuration",icon:"generic24.png",description:"Intercepts incoming messages",properties:{uri:{kind:"attribute",type:"string",description:"Intercept incoming messages from the uri or uri pattern. If this option is not configured, then all incoming messages is intercepted.",title:"Uri",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},interceptSendToEndpoint:{type:"object",title:"Intercept Send To Endpoint",group:"configuration",icon:"generic24.png",description:"Intercepts messages being sent to an endpoint",properties:{uri:{kind:"attribute",type:"string",description:"Intercept sending to the uri or uri pattern.",title:"Uri",required:!0,deprecated:!1},skipSendToOriginalEndpoint:{kind:"attribute",type:"string",description:"If set to true then the message is not sent to the original endpoint. By default (false) the message is both intercepted and then sent to the original endpoint.",title:"Skip Send To Original Endpoint",required:!1,deprecated:!1},afterUri:{kind:"attribute",type:"string",description:"After sending to the endpoint then send the message to this uri which allows to process its result.",title:"After Uri",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},jtaTransactionErrorHandler:{type:"object",title:"Jta Transaction Error Handler",group:"configuration,error",icon:"generic24.png",description:"JTA based transactional error handler (requires camel-jta).",properties:{transactedPolicyRef:{kind:"attribute",type:"object",description:"The transacted policy to use that is configured for either Spring or JTA based transactions. If no policy has been configured then Camel will attempt to auto-discover.",title:"Transacted Policy Ref",required:!1,deprecated:!1},rollbackLoggingLevel:{kind:"attribute",type:"enum",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Sets the logging level to use for logging transactional rollback. This option is default WARN.",title:"Rollback Logging Level",required:!1,deprecated:!1},loggerRef:{kind:"attribute",type:"string",description:"References to a logger to use as logger for the error handler",title:"Logger Ref",required:!1,deprecated:!1},level:{kind:"attribute",type:"enum",defaultValue:"ERROR",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to use when using the logging error handler type.",title:"Level",required:!1,deprecated:!1},logName:{kind:"attribute",type:"string",description:"Name of the logger to use for the logging error handler",title:"Log Name",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},useOriginalBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Body",required:!1,deprecated:!1},onRedeliveryRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.",title:"On Redelivery Ref",required:!1,deprecated:!1},onExceptionOccurredRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.",title:"On Exception Occurred Ref",required:!1,deprecated:!1},onPrepareFailureRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor to prepare the org.apache.camel.Exchange before handled by the failure processor / dead letter channel. This allows for example to enrich the message before sending to a dead letter queue.",title:"On Prepare Failure Ref",required:!1,deprecated:!1},retryWhileRef:{kind:"attribute",type:"object",description:"Sets a retry while predicate. Will continue retrying until the predicate evaluates to false.",title:"Retry While Ref",required:!1,deprecated:!1},redeliveryPolicyRef:{kind:"attribute",type:"object",description:"Sets a reference to a RedeliveryPolicy to be used for redelivery settings.",title:"Redelivery Policy Ref",required:!1,deprecated:!1},executorServiceRef:{kind:"attribute",type:"object",description:"Sets a reference to a thread pool to be used by the error handler",title:"Executor Service Ref",required:!1,deprecated:!1},redeliveryPolicy:{kind:"element",type:"object",description:"Sets the redelivery settings",title:"Redelivery Policy",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},kamelet:{type:"object",title:"Kamelet",group:"eip,routing",icon:"generic24.png",description:"To call Kamelets in special situations",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{name:{kind:"attribute",type:"string",description:"Name of the Kamelet (templateId/routeId) to call. Options for the kamelet can be specified using uri syntax, eg mynamecount=4&type=gold.",title:"Name",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},kubernetesServiceDiscovery:{type:"object",title:"Kubernetes Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{lookup:{kind:"attribute",type:"enum",defaultValue:"environment",enum:["environment","dns","client"],description:"How to perform service lookup. Possible values: client, dns, environment. When using client, then the client queries the kubernetes master to obtain a list of active pods that provides the service, and then random (or round robin) select a pod. When using dns the service name is resolved as name.namespace.svc.dnsDomain. When using dnssrv the service name is resolved with SRV query for _._...svc... When using environment then environment variables are used to lookup the service. By default environment is used.",title:"Lookup",required:!1,deprecated:!1},dnsDomain:{kind:"attribute",type:"string",description:"Sets the DNS domain to use for DNS lookup.",title:"Dns Domain",required:!1,deprecated:!1},portName:{kind:"attribute",type:"string",description:"Sets the Port Name to use for DNS/DNSSRV lookup.",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"attribute",type:"string",description:"Sets the Port Protocol to use for DNS/DNSSRV lookup.",title:"Port Protocol",required:!1,deprecated:!1},namespace:{kind:"attribute",type:"string",description:"Sets the namespace to use. Will by default use namespace from the ENV variable KUBERNETES_MASTER.",title:"Namespace",required:!1,deprecated:!1},apiVersion:{kind:"attribute",type:"string",description:"Sets the API version when using client lookup",title:"Api Version",required:!1,deprecated:!1},masterUrl:{kind:"attribute",type:"string",description:"Sets the URL to the master when using client lookup",title:"Master Url",required:!1,deprecated:!1},username:{kind:"attribute",type:"string",description:"Sets the username for authentication when using client lookup",title:"Username",required:!1,deprecated:!1},password:{kind:"attribute",type:"string",description:"Sets the password for authentication when using client lookup",title:"Password",required:!1,deprecated:!1},oauthToken:{kind:"attribute",type:"string",description:"Sets the OAUTH token for authentication (instead of username/password) when using client lookup",title:"Oauth Token",required:!1,deprecated:!1},caCertData:{kind:"attribute",type:"string",description:"Sets the Certificate Authority data when using client lookup",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"attribute",type:"string",description:"Sets the Certificate Authority data that are loaded from the file when using client lookup",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"attribute",type:"string",description:"Sets the Client Certificate data when using client lookup",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"attribute",type:"string",description:"Sets the Client Certificate data that are loaded from the file when using client lookup",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"attribute",type:"string",description:"Sets the Client Keystore algorithm, such as RSA when using client lookup",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"attribute",type:"string",description:"Sets the Client Keystore data when using client lookup",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"attribute",type:"string",description:"Sets the Client Keystore data that are loaded from the file when using client lookup",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"attribute",type:"string",description:"Sets the Client Keystore passphrase when using client lookup",title:"Client Key Passphrase",required:!1,deprecated:!1},trustCerts:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether to turn on trust certificate check when using client lookup",title:"Trust Certs",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},loadBalance:{type:"object",title:"Load Balance",group:"eip,routing",icon:"loadBalance24.png",description:"Balances message processing among a number of nodes",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{loadBalancerType:{kind:"element",type:"object",description:"The load balancer to be used",title:"Load Balancer Type",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},inheritErrorHandler:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether or not to inherit the configured error handler. The default value is true. You can use this to disable using the inherited error handler for a given DSL such as a load balancer where you want to use a custom error handler strategy.",title:"Inherit Error Handler",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},loadBalancerConfiguration:{type:"object",title:"Load Balancer Configuration",group:"routing,cloud,load-balancing",icon:"generic24.png",description:"",properties:{properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},log:{type:"object",title:"Log",group:"eip,routing",icon:"log24.png",description:"Logs the defined message to the logger",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{message:{kind:"attribute",type:"string",description:"Sets the log message (uses simple language)",title:"Message",required:!0,deprecated:!1},loggingLevel:{kind:"attribute",type:"enum",defaultValue:"INFO",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Sets the logging level. The default value is INFO",title:"Logging Level",required:!1,deprecated:!1},logName:{kind:"attribute",type:"string",description:"Sets the name of the logger",title:"Log Name",required:!1,deprecated:!1},marker:{kind:"attribute",type:"string",description:"To use slf4j marker",title:"Marker",required:!1,deprecated:!1},logger:{kind:"attribute",type:"object",description:"To refer to a custom logger instance to lookup from the registry.",title:"Logger",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},loop:{type:"object",title:"Loop",group:"eip,routing",icon:"generic24.png",description:"Processes a message multiple times",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{expression:{kind:"expression",type:"object",description:"Expression to define how many times we should loop. Notice the expression is only evaluated once, and should return a number as how many times to loop. A value of zero or negative means no looping. The loop is like a for-loop fashion, if you want a while loop, then the dynamic router may be a better choice.",title:"Expression",required:!0,deprecated:!1},copy:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the copy attribute is true, a copy of the input Exchange is used for each iteration. That means each iteration will start from a copy of the same message. By default loop will loop the same exchange all over, so each iteration may have different message content.",title:"Copy",required:!1,deprecated:!1},doWhile:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables the while loop that loops until the predicate evaluates to false or null.",title:"Do While",required:!1,deprecated:!1},breakOnShutdown:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the breakOnShutdown attribute is true, then the loop will not iterate until it reaches the end when Camel is shut down.",title:"Break On Shutdown",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},multicast:{type:"object",title:"Multicast",group:"eip,routing",icon:"multicast24.png",description:"Routes the same message to multiple paths either sequentially or in parallel.",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{aggregationStrategy:{kind:"attribute",type:"object",description:"Refers to an AggregationStrategy to be used to assemble the replies from the multicasts, into a single outgoing message from the Multicast. By default Camel will use the last reply as the outgoing message. You can also use a POJO as the AggregationStrategy",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},parallelAggregate:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then the aggregate method on AggregationStrategy can be called concurrently. Notice that this would require the implementation of AggregationStrategy to be implemented as thread-safe. By default this is false meaning that Camel synchronizes the call to the aggregate method. Though in some use-cases this can be used to archive higher performance when the AggregationStrategy is implemented as thread-safe.",title:"Parallel Aggregate",required:!1,deprecated:!1},parallelProcessing:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then sending messages to the multicasts occurs concurrently. Note the caller thread will still wait until all messages has been fully processed, before it continues. Its only the sending and processing the replies from the multicasts which happens concurrently. When parallel processing is enabled, then the Camel routing engin will continue processing using last used thread from the parallel thread pool. However, if you want to use the original thread that called the multicast, then make sure to enable the synchronous option as well.",title:"Parallel Processing",required:!1,deprecated:!1},synchronous:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used. When enabled then the same thread is used to continue routing after the multicast is complete, even if parallel processing is enabled.",title:"Synchronous",required:!1,deprecated:!1},streaming:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Camel will process replies out-of-order, eg in the order they come back. If disabled, Camel will process replies in the same order as defined by the multicast.",title:"Streaming",required:!1,deprecated:!1},stopOnException:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will now stop further processing if an exception or failure occurred during processing of an org.apache.camel.Exchange and the caused exception will be thrown. Will also stop if processing the exchange failed (has a fault message) or an exception was thrown and handled by the error handler (such as using onException). In all situations the multicast will stop further processing. This is the same behavior as in pipeline, which is used by the routing engine. The default behavior is to not stop but continue processing till the end",title:"Stop On Exception",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",defaultValue:"0",description:"Sets a total timeout specified in millis, when using parallel processing. If the Multicast hasn't been able to send and process all replies within the given timeframe, then the timeout triggers and the Multicast breaks out and continues. Notice if you provide a TimeoutAwareAggregationStrategy then the timeout method is invoked before breaking out. If the timeout is reached with running tasks still remaining, certain tasks for which it is difficult for Camel to shut down in a graceful manner may continue to run. So use this option with a bit of care.",title:"Timeout",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"Refers to a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well.",title:"Executor Service",required:!1,deprecated:!1},onPrepare:{kind:"attribute",type:"object",description:"Uses the Processor when preparing the org.apache.camel.Exchange to be send. This can be used to deep-clone messages that should be send, or any custom logic needed before the exchange is send.",title:"On Prepare",required:!1,deprecated:!1},shareUnitOfWork:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Multicast will by default not share unit of work between the parent exchange and each multicasted exchange. This means each sub exchange has its own individual unit of work.",title:"Share Unit Of Work",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},noErrorHandler:{type:"object",title:"No Error Handler",group:"configuration,error",icon:"generic24.png",description:"To not use an error handler.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},onCompletion:{type:"object",title:"On Completion",group:"configuration",icon:"generic24.png",description:"Route to be executed when normal route processing completes",properties:{mode:{kind:"attribute",type:"enum",defaultValue:"AfterConsumer",enum:["AfterConsumer","BeforeConsumer"],description:"Sets the on completion mode. The default value is AfterConsumer",title:"Mode",required:!1,deprecated:!1},onCompleteOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will only synchronize when the org.apache.camel.Exchange completed successfully (no errors).",title:"On Complete Only",required:!1,deprecated:!1},onFailureOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will only synchronize when the org.apache.camel.Exchange ended with failure (exception or FAULT message).",title:"On Failure Only",required:!1,deprecated:!1},parallelProcessing:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then the on completion process will run asynchronously by a separate thread from a thread pool. By default this is false, meaning the on completion process will run synchronously using the same caller thread as from the route.",title:"Parallel Processing",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well.",title:"Executor Service",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input message body when an org.apache.camel.Exchange for this on completion. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the split message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},onWhen:{kind:"element",type:"object",description:"Sets an additional predicate that should be true before the onCompletion is triggered. To be used for fine grained controlling whether a completion callback should be invoked or not",title:"On When",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},onException:{type:"object",title:"On Exception",group:"error",icon:"generic24.png",description:"Route to be executed when an exception is thrown",properties:{exception:{kind:"element",type:"array",description:"A set of exceptions to react upon.",title:"Exception",required:!0,deprecated:!1},onWhen:{kind:"element",type:"object",description:"Sets an additional predicate that should be true before the onException is triggered. To be used for fine grained controlling whether a thrown exception should be intercepted by this exception type or not.",title:"On When",required:!1,deprecated:!1},retryWhile:{kind:"expression",type:"object",description:"Sets the retry while predicate. Will continue retrying until predicate returns false.",title:"Retry While",required:!1,deprecated:!1},redeliveryPolicy:{kind:"element",type:"object",description:"Used for configuring redelivery options",title:"Redelivery Policy",required:!1,deprecated:!1},redeliveryPolicyRef:{kind:"attribute",type:"string",description:"Sets a reference to a redelivery policy to lookup in the org.apache.camel.spi.Registry to be used.",title:"Redelivery Policy Ref",required:!1,deprecated:!1},handled:{kind:"expression",type:"object",description:"Sets whether the exchange should be marked as handled or not.",title:"Handled",required:!1,deprecated:!1},continued:{kind:"expression",type:"object",description:"Sets whether the exchange should handle and continue routing from the point of failure. If this option is enabled then its considered handled as well.",title:"Continued",required:!1,deprecated:!1},onRedeliveryRef:{kind:"attribute",type:"string",description:"Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.",title:"On Redelivery Ref",required:!1,deprecated:!1},onExceptionOccurredRef:{kind:"attribute",type:"string",description:"Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.",title:"On Exception Occurred Ref",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the split message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},useOriginalBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the split message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Body",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},onFallback:{type:"object",title:"On Fallback",group:"eip,routing",icon:"generic24.png",description:"Route to be executed when Circuit Breaker EIP executes fallback",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{fallbackViaNetwork:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the fallback goes over the network. If the fallback will go over the network it is another possible point of failure. It is important to execute the fallback command on a separate thread-pool, otherwise if the main command were to become latent and fill the thread-pool this would prevent the fallback from running if the two commands share the same pool.",title:"Fallback Via Network",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},optimisticLockRetryPolicy:{type:"object",title:"Optimistic Lock Retry Policy",group:"configuration",icon:"generic24.png",description:"To configure optimistic locking",properties:{maximumRetries:{kind:"attribute",type:"integer",description:"Sets the maximum number of retries",title:"Maximum Retries",required:!1,deprecated:!1},retryDelay:{kind:"attribute",type:"duration",defaultValue:"50",description:"Sets the delay in millis between retries",title:"Retry Delay",required:!1,deprecated:!1},maximumRetryDelay:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the upper value of retry in millis between retries, when using exponential or random backoff",title:"Maximum Retry Delay",required:!1,deprecated:!1},exponentialBackOff:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Enable exponential backoff",title:"Exponential Back Off",required:!1,deprecated:!1},randomBackOff:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables random backoff",title:"Random Back Off",required:!1,deprecated:!1}}},otherwise:{type:"object",title:"Otherwise",group:"eip,routing",icon:"generic24.png",description:"Route to be executed when all other choices evaluate to false",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},outputType:{type:"object",title:"Output Type",group:"configuration",icon:"generic24.png",description:"Set the expected data type of the output message. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists. If validate attribute is true then camel applies Validator as well. Type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example {code java:java.lang.String} , {code json:ABCOrder} . It's also possible to specify only scheme part, so that it works like a wildcard. If only 'xml' is specified, all the XML message matches. It's handy to add only one transformer/validator for all the XML-Java transformation.",properties:{urn:{kind:"attribute",type:"string",description:"Set output type URN.",title:"Urn",required:!0,deprecated:!1},validate:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether if validation is required for this output type.",title:"Validate",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},packageScan:{type:"object",title:"Package Scan",group:"configuration",icon:"generic24.png",description:"Scans for Java org.apache.camel.builder.RouteBuilder classes in java packages",properties:{package:{kind:"element",type:"array",description:"Sets the java package names to use for scanning for route builder classes",title:"Package",required:!0,deprecated:!1},excludes:{kind:"element",type:"array",description:"Exclude finding route builder from these java package names.",title:"Excludes",required:!1,deprecated:!1},includes:{kind:"element",type:"array",description:"Include finding route builder from these java package names.",title:"Includes",required:!1,deprecated:!1}}},passThroughServiceFilter:{type:"object",title:"Pass Through Service Filter",group:"routing,cloud,service-filter",icon:"generic24.png",description:"",properties:{properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},pausable:{type:"object",title:"Pausable",group:"eip,routing",icon:"generic24.png",description:"Pausable EIP to support resuming processing from last known offset.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{consumerListener:{kind:"attribute",type:"object",description:"Sets the consumer listener to use",title:"Consumer Listener",required:!0,deprecated:!1},untilCheck:{kind:"attribute",type:"object",description:"References to a java.util.function.Predicate to use for until checks. The predicate is responsible for evaluating whether the processing can resume or not. Such predicate should return true if the consumption can resume, or false otherwise. The exact point of when the predicate is called is dependent on the component, and it may be called on either one of the available events. Implementations should not assume the predicate to be called at any specific point.",title:"Until Check",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},pipeline:{type:"object",title:"Pipeline",group:"eip,routing",icon:"pipeline24.png",description:"Routes the message to a sequence of processors.",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},policy:{type:"object",title:"Policy",group:"configuration",icon:"generic24.png",description:"Defines a policy the route will use",properties:{ref:{kind:"attribute",type:"string",description:"Sets a reference to use for lookup the policy in the registry.",title:"Ref",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},pollEnrich:{type:"object",title:"Poll Enrich",group:"eip,transformation",icon:"pollEnrich24.png",description:"Enriches messages with data polled from a secondary resource",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression that computes the endpoint uri to use as the resource endpoint to enrich from",title:"Expression",required:!0,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"Sets the AggregationStrategy to be used to merge the reply from the external service, into a single outgoing message. By default Camel will use the reply from the external service as outgoing message.",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"string",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},aggregateOnException:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was an exception thrown while trying to retrieve the data to enrich from the resource. Setting this option to true allows end users to control what to do if there was an exception in the aggregate method. For example to suppress the exception or set a custom message body etc.",title:"Aggregate On Exception",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",defaultValue:"-1",description:"Timeout in millis when polling from the external service. The timeout has influence about the poll enrich behavior. It basically operations in three different modes: negative value - Waits until a message is available and then returns it. Warning that this method could block indefinitely if no messages are available. 0 - Attempts to receive a message exchange immediately without waiting and returning null if a message exchange is not available yet. positive value - Attempts to receive a message exchange, waiting up to the given timeout to expire if a message is not yet available. Returns null if timed out The default value is -1 and therefore the method could block indefinitely, and therefore its recommended to use a timeout value",title:"Timeout",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ConsumerCache which is used to cache and reuse consumers when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},ignoreInvalidEndpoint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Ignore the invalidate endpoint exception when try to create a producer with that endpoint",title:"Ignore Invalid Endpoint",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},process:{type:"object",title:"Process",group:"eip,endpoint",icon:"process24.png",description:"Calls a Camel processor",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the Processor to lookup in the registry to use. Can also be used for creating new beans by their class name by prefixing with #class, eg #class:com.foo.MyClassType. And it is also possible to refer to singleton beans by their type in the registry by prefixing with #type: syntax, eg #type:com.foo.MyClassType",title:"Ref",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},property:{type:"object",title:"Property",group:"configuration",icon:"generic24.png",description:"A key value pair where the value is a literal value",properties:{key:{kind:"attribute",type:"string",description:"Property key",title:"Key",required:!0,deprecated:!1},value:{kind:"attribute",type:"string",description:"Property value",title:"Value",required:!0,deprecated:!1}}},propertyExpression:{type:"object",title:"Property Expression",group:"configuration",icon:"generic24.png",description:"A key value pair where the value is an expression.",properties:{key:{kind:"attribute",type:"string",description:"Property key",title:"Key",required:!0,deprecated:!1},expression:{kind:"expression",type:"object",description:"Property values as an expression",title:"Expression",required:!0,deprecated:!1}}},random:{type:"object",title:"Random",group:"eip,routing",icon:"generic24.png",description:"The destination endpoints are selected by random.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},recipientList:{type:"object",title:"Recipient List",group:"eip,routing",icon:"recipientList24.png",description:"Route messages to a number of dynamically specified recipients",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression that returns which endpoints (url) to send the message to (the recipients). If the expression return an empty value then the message is not sent to any recipients.",title:"Expression",required:!0,deprecated:!1},delimiter:{kind:"attribute",type:"string",defaultValue:",",description:"Delimiter used if the Expression returned multiple endpoints. Can be turned off using the value false. The default value is ,",title:"Delimiter",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"Sets the AggregationStrategy to be used to assemble the replies from the recipients, into a single outgoing message from the RecipientList. By default Camel will use the last reply as the outgoing message. You can also use a POJO as the AggregationStrategy",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},parallelAggregate:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then the aggregate method on AggregationStrategy can be called concurrently. Notice that this would require the implementation of AggregationStrategy to be implemented as thread-safe. By default this is false meaning that Camel synchronizes the call to the aggregate method. Though in some use-cases this can be used to archive higher performance when the AggregationStrategy is implemented as thread-safe.",title:"Parallel Aggregate",required:!1,deprecated:!1},parallelProcessing:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then sending messages to the recipients occurs concurrently. Note the caller thread will still wait until all messages has been fully processed, before it continues. Its only the sending and processing the replies from the recipients which happens concurrently. When parallel processing is enabled, then the Camel routing engin will continue processing using last used thread from the parallel thread pool. However, if you want to use the original thread that called the recipient list, then make sure to enable the synchronous option as well.",title:"Parallel Processing",required:!1,deprecated:!1},synchronous:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used. When enabled then the same thread is used to continue routing after the recipient list is complete, even if parallel processing is enabled.",title:"Synchronous",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",defaultValue:"0",description:"Sets a total timeout specified in millis, when using parallel processing. If the Recipient List hasn't been able to send and process all replies within the given timeframe, then the timeout triggers and the Recipient List breaks out and continues. Notice if you provide a TimeoutAwareAggregationStrategy then the timeout method is invoked before breaking out. If the timeout is reached with running tasks still remaining, certain tasks for which it is difficult for Camel to shut down in a graceful manner may continue to run. So use this option with a bit of care.",title:"Timeout",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well.",title:"Executor Service",required:!1,deprecated:!1},stopOnException:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will now stop further processing if an exception or failure occurred during processing of an org.apache.camel.Exchange and the caused exception will be thrown. Will also stop if processing the exchange failed (has a fault message) or an exception was thrown and handled by the error handler (such as using onException). In all situations the recipient list will stop further processing. This is the same behavior as in pipeline, which is used by the routing engine. The default behavior is to not stop but continue processing till the end",title:"Stop On Exception",required:!1,deprecated:!1},ignoreInvalidEndpoints:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Ignore the invalidate endpoint exception when try to create a producer with that endpoint",title:"Ignore Invalid Endpoints",required:!1,deprecated:!1},streaming:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Camel will process replies out-of-order, eg in the order they come back. If disabled, Camel will process replies in the same order as defined by the recipient list.",title:"Streaming",required:!1,deprecated:!1},onPrepare:{kind:"attribute",type:"object",description:"Uses the Processor when preparing the org.apache.camel.Exchange to be used send. This can be used to deep-clone messages that should be send, or any custom logic needed before the exchange is send.",title:"On Prepare",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producers when using this recipient list, when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},shareUnitOfWork:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Recipient List will by default not share unit of work between the parent exchange and each recipient exchange. This means each sub exchange has its own individual unit of work.",title:"Share Unit Of Work",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},redeliveryPolicy:{type:"object",title:"Redelivery Policy",group:"configuration",icon:"generic24.png",description:"To configure re-delivery for error handling",properties:{maximumRedeliveries:{kind:"attribute",type:"integer",description:"Sets the maximum redeliveries x = redeliver at most x times 0 = no redeliveries -1 = redeliver forever",title:"Maximum Redeliveries",required:!1,deprecated:!1},redeliveryDelay:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the initial redelivery delay",title:"Redelivery Delay",required:!1,deprecated:!1},asyncDelayedRedelivery:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Allow asynchronous delayed redelivery. The route, in particular the consumer's component, must support the Asynchronous Routing Engine (e.g. seda).",title:"Async Delayed Redelivery",required:!1,deprecated:!1},backOffMultiplier:{kind:"attribute",type:"number",defaultValue:"2.0",description:"Sets the back off multiplier",title:"Back Off Multiplier",required:!1,deprecated:!1},useExponentialBackOff:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Turn on exponential backk off",title:"Use Exponential Back Off",required:!1,deprecated:!1},collisionAvoidanceFactor:{kind:"attribute",type:"number",defaultValue:"0.15",description:"Sets the collision avoidance factor",title:"Collision Avoidance Factor",required:!1,deprecated:!1},useCollisionAvoidance:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Turn on collision avoidance.",title:"Use Collision Avoidance",required:!1,deprecated:!1},maximumRedeliveryDelay:{kind:"attribute",type:"duration",defaultValue:"60000",description:"Sets the maximum delay between redelivery",title:"Maximum Redelivery Delay",required:!1,deprecated:!1},retriesExhaustedLogLevel:{kind:"attribute",type:"object",defaultValue:"ERROR",description:"Sets the logging level to use when retries have been exhausted",title:"Retries Exhausted Log Level",required:!1,deprecated:!1},retryAttemptedLogLevel:{kind:"attribute",type:"object",defaultValue:"DEBUG",description:"Sets the logging level to use for logging retry attempts",title:"Retry Attempted Log Level",required:!1,deprecated:!1},retryAttemptedLogInterval:{kind:"attribute",type:"integer",defaultValue:"1",description:"Sets the interval to use for logging retry attempts",title:"Retry Attempted Log Interval",required:!1,deprecated:!1},logRetryAttempted:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether retry attempts should be logged or not. Can be used to include or reduce verbose.",title:"Log Retry Attempted",required:!1,deprecated:!1},logStackTrace:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether stack traces should be logged. Can be used to include or reduce verbose.",title:"Log Stack Trace",required:!1,deprecated:!1},logRetryStackTrace:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether stack traces should be logged when an retry attempt failed. Can be used to include or reduce verbose.",title:"Log Retry Stack Trace",required:!1,deprecated:!1},logHandled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether handled exceptions should be logged or not. Can be used to include or reduce verbose.",title:"Log Handled",required:!1,deprecated:!1},logNewException:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether new exceptions should be logged or not. Can be used to include or reduce verbose. A new exception is an exception that was thrown while handling a previous exception.",title:"Log New Exception",required:!1,deprecated:!1},logContinued:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether continued exceptions should be logged or not. Can be used to include or reduce verbose.",title:"Log Continued",required:!1,deprecated:!1},logExhausted:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether exhausted exceptions should be logged or not. Can be used to include or reduce verbose.",title:"Log Exhausted",required:!1,deprecated:!1},logExhaustedMessageHistory:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether exhausted exceptions should be logged including message history or not (supports property placeholders). Can be used to include or reduce verbose.",title:"Log Exhausted Message History",required:!1,deprecated:!1},logExhaustedMessageBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether exhausted message body should be logged including message history or not (supports property placeholders). Can be used to include or reduce verbose. Requires logExhaustedMessageHistory to be enabled.",title:"Log Exhausted Message Body",required:!1,deprecated:!1},disableRedelivery:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Disables redelivery (same as setting maximum redeliveries to 0)",title:"Disable Redelivery",required:!1,deprecated:!1},delayPattern:{kind:"attribute",type:"string",description:"Sets the delay pattern with delay intervals.",title:"Delay Pattern",required:!1,deprecated:!1},allowRedeliveryWhileStopping:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Controls whether to allow redelivery while stopping/shutting down a route that uses error handling.",title:"Allow Redelivery While Stopping",required:!1,deprecated:!1},exchangeFormatterRef:{kind:"attribute",type:"string",description:"Sets the reference of the instance of org.apache.camel.spi.ExchangeFormatter to generate the log message from exchange.",title:"Exchange Formatter Ref",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},refErrorHandler:{type:"object",title:"Ref Error Handler",group:"configuration,error",icon:"generic24.png",description:"References to an existing or custom error handler.",properties:{ref:{kind:"attribute",type:"object",description:"References to an existing or custom error handler.",title:"Ref",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},removeHeader:{type:"object",title:"Remove Header",group:"eip,transformation",icon:"generic24.png",description:"Removes a named header from the message",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{name:{kind:"attribute",type:"string",description:"Name of header to remove",title:"Name",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},removeHeaders:{type:"object",title:"Remove Headers",group:"eip,transformation",icon:"generic24.png",description:"Removes message headers whose name matches a specified pattern",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{pattern:{kind:"attribute",type:"string",description:"Name or pattern of headers to remove. The pattern is matched in the following order: 1 = exact match 2 = wildcard (pattern ends with a and the name starts with the pattern) 3 = regular expression (all of above is case in-sensitive).",title:"Pattern",required:!0,deprecated:!1},excludePattern:{kind:"attribute",type:"string",description:"Name or patter of headers to not remove. The pattern is matched in the following order: 1 = exact match 2 = wildcard (pattern ends with a and the name starts with the pattern) 3 = regular expression (all of above is case in-sensitive).",title:"Exclude Pattern",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},removeProperties:{type:"object",title:"Remove Properties",group:"eip,transformation",icon:"generic24.png",description:"Removes message exchange properties whose name matches a specified pattern",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{pattern:{kind:"attribute",type:"string",description:"Name or pattern of properties to remove. The pattern is matched in the following order: 1 = exact match 2 = wildcard (pattern ends with a and the name starts with the pattern) 3 = regular expression (all of above is case in-sensitive).",title:"Pattern",required:!0,deprecated:!1},excludePattern:{kind:"attribute",type:"string",description:"Name or pattern of properties to not remove. The pattern is matched in the following order: 1 = exact match 2 = wildcard (pattern ends with a and the name starts with the pattern) 3 = regular expression (all of above is case in-sensitive).",title:"Exclude Pattern",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},removeProperty:{type:"object",title:"Remove Property",group:"eip,transformation",icon:"generic24.png",description:"Removes a named property from the message exchange",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{name:{kind:"attribute",type:"string",description:"Name of property to remove.",title:"Name",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},resequence:{type:"object",title:"Resequence",group:"eip,routing",icon:"resequence24.png",description:"Resequences (re-order) messages based on an expression",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{expression:{kind:"expression",type:"object",description:"Expression to use for re-ordering the messages, such as a header with a sequence number",title:"Expression",required:!0,deprecated:!1},resequencerConfig:{kind:"element",type:"object",description:"To configure the resequencer in using either batch or stream configuration. Will by default use batch configuration.",title:"Resequencer Config",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},resilience4jConfiguration:{type:"object",title:"Resilience4j Configuration",group:"configuration,eip",icon:"generic24.png",description:"Resilience4j Circuit Breaker EIP configuration",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{circuitBreaker:{kind:"attribute",type:"string",description:"Refers to an existing io.github.resilience4j.circuitbreaker.CircuitBreaker instance to lookup and use from the registry. When using this, then any other circuit breaker options are not in use.",title:"Circuit Breaker",required:!1,deprecated:!1},config:{kind:"attribute",type:"string",description:"Refers to an existing io.github.resilience4j.circuitbreaker.CircuitBreakerConfig instance to lookup and use from the registry.",title:"Config",required:!1,deprecated:!1},failureRateThreshold:{kind:"attribute",type:"number",defaultValue:"50",description:"Configures the failure rate threshold in percentage. If the failure rate is equal or greater than the threshold the CircuitBreaker transitions to open and starts short-circuiting calls. The threshold must be greater than 0 and not greater than 100. Default value is 50 percentage.",title:"Failure Rate Threshold",required:!1,deprecated:!1},permittedNumberOfCallsInHalfOpenState:{kind:"attribute",type:"integer",defaultValue:"10",description:"Configures the number of permitted calls when the CircuitBreaker is half open. The size must be greater than 0. Default size is 10.",title:"Permitted Number Of Calls In Half Open State",required:!1,deprecated:!1},throwExceptionWhenHalfOpenOrOpenState:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to throw io.github.resilience4j.circuitbreaker.CallNotPermittedException when the call is rejected due circuit breaker is half open or open.",title:"Throw Exception When Half Open Or Open State",required:!1,deprecated:!1},slidingWindowSize:{kind:"attribute",type:"integer",defaultValue:"100",description:"Configures the size of the sliding window which is used to record the outcome of calls when the CircuitBreaker is closed. slidingWindowSize configures the size of the sliding window. Sliding window can either be count-based or time-based. If slidingWindowType is COUNT_BASED, the last slidingWindowSize calls are recorded and aggregated. If slidingWindowType is TIME_BASED, the calls of the last slidingWindowSize seconds are recorded and aggregated. The slidingWindowSize must be greater than 0. The minimumNumberOfCalls must be greater than 0. If the slidingWindowType is COUNT_BASED, the minimumNumberOfCalls cannot be greater than slidingWindowSize . If the slidingWindowType is TIME_BASED, you can pick whatever you want. Default slidingWindowSize is 100.",title:"Sliding Window Size",required:!1,deprecated:!1},slidingWindowType:{kind:"attribute",type:"enum",defaultValue:"COUNT_BASED",enum:["TIME_BASED","COUNT_BASED"],description:"Configures the type of the sliding window which is used to record the outcome of calls when the CircuitBreaker is closed. Sliding window can either be count-based or time-based. If slidingWindowType is COUNT_BASED, the last slidingWindowSize calls are recorded and aggregated. If slidingWindowType is TIME_BASED, the calls of the last slidingWindowSize seconds are recorded and aggregated. Default slidingWindowType is COUNT_BASED.",title:"Sliding Window Type",required:!1,deprecated:!1},minimumNumberOfCalls:{kind:"attribute",type:"integer",defaultValue:"100",description:"Configures the minimum number of calls which are required (per sliding window period) before the CircuitBreaker can calculate the error rate. For example, if minimumNumberOfCalls is 10, then at least 10 calls must be recorded, before the failure rate can be calculated. If only 9 calls have been recorded the CircuitBreaker will not transition to open even if all 9 calls have failed. Default minimumNumberOfCalls is 100",title:"Minimum Number Of Calls",required:!1,deprecated:!1},writableStackTraceEnabled:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Enables writable stack traces. When set to false, Exception.getStackTrace returns a zero length array. This may be used to reduce log spam when the circuit breaker is open as the cause of the exceptions is already known (the circuit breaker is short-circuiting calls).",title:"Writable Stack Trace Enabled",required:!1,deprecated:!1},waitDurationInOpenState:{kind:"attribute",type:"integer",defaultValue:"60",description:"Configures the wait duration (in seconds) which specifies how long the CircuitBreaker should stay open, before it switches to half open. Default value is 60 seconds.",title:"Wait Duration In Open State",required:!1,deprecated:!1},automaticTransitionFromOpenToHalfOpenEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables automatic transition from OPEN to HALF_OPEN state once the waitDurationInOpenState has passed.",title:"Automatic Transition From Open To Half Open Enabled",required:!1,deprecated:!1},slowCallRateThreshold:{kind:"attribute",type:"number",defaultValue:"100",description:"Configures a threshold in percentage. The CircuitBreaker considers a call as slow when the call duration is greater than slowCallDurationThreshold Duration. When the percentage of slow calls is equal or greater the threshold, the CircuitBreaker transitions to open and starts short-circuiting calls. The threshold must be greater than 0 and not greater than 100. Default value is 100 percentage which means that all recorded calls must be slower than slowCallDurationThreshold.",title:"Slow Call Rate Threshold",required:!1,deprecated:!1},slowCallDurationThreshold:{kind:"attribute",type:"integer",defaultValue:"60",description:"Configures the duration threshold (seconds) above which calls are considered as slow and increase the slow calls percentage. Default value is 60 seconds.",title:"Slow Call Duration Threshold",required:!1,deprecated:!1},bulkheadEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether bulkhead is enabled or not on the circuit breaker. Default is false.",title:"Bulkhead Enabled",required:!1,deprecated:!1},bulkheadMaxConcurrentCalls:{kind:"attribute",type:"integer",defaultValue:"25",description:"Configures the max amount of concurrent calls the bulkhead will support.",title:"Bulkhead Max Concurrent Calls",required:!1,deprecated:!1},bulkheadMaxWaitDuration:{kind:"attribute",type:"integer",defaultValue:"0",description:"Configures a maximum amount of time which the calling thread will wait to enter the bulkhead. If bulkhead has space available, entry is guaranteed and immediate. If bulkhead is full, calling threads will contest for space, if it becomes available. maxWaitDuration can be set to 0. Note: for threads running on an event-loop or equivalent (rx computation pool, etc), setting maxWaitDuration to 0 is highly recommended. Blocking an event-loop thread will most likely have a negative effect on application throughput.",title:"Bulkhead Max Wait Duration",required:!1,deprecated:!1},timeoutEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether timeout is enabled or not on the circuit breaker. Default is false.",title:"Timeout Enabled",required:!1,deprecated:!1},timeoutExecutorService:{kind:"attribute",type:"object",description:"References to a custom thread pool to use when timeout is enabled (uses ForkJoinPool#commonPool() by default)",title:"Timeout Executor Service",required:!1,deprecated:!1},timeoutDuration:{kind:"attribute",type:"integer",defaultValue:"1000",description:"Configures the thread execution timeout. Default value is 1 second.",title:"Timeout Duration",required:!1,deprecated:!1},timeoutCancelRunningFuture:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Configures whether cancel is called on the running future. Defaults to true.",title:"Timeout Cancel Running Future",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},resumable:{type:"object",title:"Resumable",group:"eip,routing",icon:"generic24.png",description:"Resume EIP to support resuming processing from last known offset.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{resumeStrategy:{kind:"attribute",type:"object",description:"Sets the resume strategy to use",title:"Resume Strategy",required:!0,deprecated:!1},loggingLevel:{kind:"attribute",type:"enum",defaultValue:"ERROR",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"",title:"Logging Level",required:!1,deprecated:!1},intermittent:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether the offsets will be intermittently present or whether they must be present in every exchange",title:"Intermittent",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},rollback:{type:"object",title:"Rollback",group:"eip,routing",icon:"generic24.png",description:"Forces a rollback by stopping routing the message",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{message:{kind:"attribute",type:"string",description:"Message to use in rollback exception",title:"Message",required:!1,deprecated:!1},markRollbackOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Mark the transaction for rollback only (cannot be overruled to commit)",title:"Mark Rollback Only",required:!1,deprecated:!1},markRollbackOnlyLast:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Mark only last sub transaction for rollback only. When using sub transactions (if the transaction manager support this)",title:"Mark Rollback Only Last",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},roundRobin:{type:"object",title:"Round Robin",group:"eip,routing",icon:"generic24.png",description:"The destination endpoints are selected in a round-robin fashion. This is a well known and classic policy, which spreads the load evenly.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},route:{type:"object",title:"Route",group:"configuration",icon:"route24.png",description:"A Camel route",properties:{group:{kind:"attribute",type:"string",description:"The group that this route belongs to; could be the name of the RouteBuilder class or be explicitly configured in the XML. May be null.",title:"Group",required:!1,deprecated:!1},nodePrefixId:{kind:"attribute",type:"string",description:"Sets a prefix to use for all node ids (not route id).",title:"Node Prefix Id",required:!1,deprecated:!1},routeConfigurationId:{kind:"attribute",type:"string",description:"The route configuration id or pattern this route should use for configuration. Multiple id/pattern can be separated by comma.",title:"Route Configuration Id",required:!1,deprecated:!1},precondition:{kind:"attribute",type:"string",description:"The predicate of the precondition in simple language to evaluate in order to determine if this route should be included or not.",title:"Precondition",required:!1,deprecated:!1},streamCache:{kind:"attribute",type:"string",description:"Whether stream caching is enabled on this route.",title:"Stream Cache",required:!1,deprecated:!1},trace:{kind:"attribute",type:"string",description:"Whether tracing is enabled on this route.",title:"Trace",required:!1,deprecated:!1},messageHistory:{kind:"attribute",type:"string",description:"Whether message history is enabled on this route.",title:"Message History",required:!1,deprecated:!1},logMask:{kind:"attribute",type:"string",defaultValue:"false",description:"Whether security mask for Logging is enabled on this route.",title:"Log Mask",required:!1,deprecated:!1},delayer:{kind:"attribute",type:"duration",description:"Whether to slow down processing messages by a given delay in msec.",title:"Delayer",required:!1,deprecated:!1},autoStartup:{kind:"attribute",type:"string",defaultValue:"true",description:"Whether to auto start this route",title:"Auto Startup",required:!1,deprecated:!1},startupOrder:{kind:"attribute",type:"integer",description:"To configure the ordering of the routes being started",title:"Startup Order",required:!1,deprecated:!1},errorHandlerRef:{kind:"attribute",type:"string",description:"Sets the bean ref name of the error handler builder to use on this route",title:"Error Handler",required:!1,deprecated:!1},routePolicyRef:{kind:"attribute",type:"string",description:"Reference to custom org.apache.camel.spi.RoutePolicy to use by the route. Multiple policies can be configured by separating values using comma.",title:"Route Policy",required:!1,deprecated:!1},shutdownRoute:{kind:"attribute",type:"enum",enum:["Default","Defer"],description:"To control how to shutdown the route.",title:"Shutdown Route",required:!1,deprecated:!1},shutdownRunningTask:{kind:"attribute",type:"enum",enum:["CompleteCurrentTaskOnly","CompleteAllTasks"],description:"To control how to shut down the route.",title:"Shutdown Running Task",required:!1,deprecated:!1},input:{kind:"element",type:"object",description:"Input to the route.",title:"Input",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"Outputs are processors that determines how messages are processed by this route.",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},routeBuilder:{type:"object",title:"Route Builder",group:"configuration",icon:"generic24.png",description:"To refer to a Java org.apache.camel.builder.RouteBuilder instance to use.",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the route builder instance",title:"Ref",required:!0,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},routeConfiguration:{type:"object",title:"Route Configuration",group:"configuration",icon:"generic24.png",description:"Reusable configuration for Camel route(s).",properties:{errorHandler:{kind:"element",type:"object",description:"Sets the error handler to use, for routes that has not already been configured with an error handler.",title:"Error Handler",required:!1,deprecated:!1},intercept:{kind:"element",type:"array",description:"Adds a route for an interceptor that intercepts every processing step.",title:"Intercept",required:!1,deprecated:!1},interceptFrom:{kind:"element",type:"array",description:"Adds a route for an interceptor that intercepts incoming messages on the given endpoint.",title:"Intercept From",required:!1,deprecated:!1},interceptSendToEndpoint:{kind:"element",type:"array",description:"Applies a route for an interceptor if an exchange is send to the given endpoint",title:"Intercept Send To Endpoint",required:!1,deprecated:!1},onException:{kind:"element",type:"array",description:"Exception clause for catching certain exceptions and handling them.",title:"On Exception",required:!1,deprecated:!1},onCompletion:{kind:"element",type:"array",description:"On completion callback for doing custom routing when the org.apache.camel.Exchange is complete.",title:"On Completion",required:!1,deprecated:!1},precondition:{kind:"attribute",type:"string",description:"The predicate of the precondition in simple language to evaluate in order to determine if this route configuration should be included or not.",title:"Precondition",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},routeConfigurationContextRef:{type:"object",title:"Route Configuration Context Ref",group:"configuration",icon:"generic24.png",description:"To refer to an XML file with route configuration defined using the xml-dsl",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the route templates in the xml dsl",title:"Ref",required:!0,deprecated:!1}}},routeConfigurations:{type:"object",title:"Route Configurations",group:"configuration",icon:"generic24.png",description:"A series of route configurations",properties:{}},routeContextRef:{type:"object",title:"Route Context Ref",group:"configuration",icon:"generic24.png",description:"To refer to an XML file with routes defined using the xml-dsl",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the routes in the xml dsl",title:"Ref",required:!0,deprecated:!1}}},routeTemplate:{type:"object",title:"Route Template",group:"configuration",icon:"generic24.png",description:"Defines a route template (parameterized routes)",properties:{templateParameter:{kind:"element",type:"array",description:"Adds a template parameter the route template uses",title:"Template Parameter",required:!1,deprecated:!1},templateBean:{kind:"element",type:"array",description:"Adds a local bean the route template uses",title:"Template Bean",required:!1,deprecated:!1},route:{kind:"element",type:"object",description:"To define the route in the template",title:"Route",required:!0,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},routeTemplateContextRef:{type:"object",title:"Route Template Context Ref",group:"configuration",icon:"generic24.png",description:"To refer to an XML file with route templates defined using the xml-dsl",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the route templates in the xml dsl",title:"Ref",required:!0,deprecated:!1}}},routeTemplates:{type:"object",title:"Route Templates",group:"routeTemplates",icon:"generic24.png",description:"A series of route templates",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},routes:{type:"object",title:"Routes",group:"configuration",icon:"generic24.png",description:"A series of Camel routes",properties:{routes:{kind:"element",type:"array",description:"Contains the Camel routes",title:"Routes",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},routingSlip:{type:"object",title:"Routing Slip",group:"eip,routing",icon:"routingSlip24.png",description:"Routes a message through a series of steps that are pre-determined (the slip)",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression to define the routing slip, which defines which endpoints to route the message in a pipeline style. Notice the expression is evaluated once, if you want a more dynamic style, then the dynamic router eip is a better choice.",title:"Expression",required:!0,deprecated:!1},uriDelimiter:{kind:"attribute",type:"string",defaultValue:",",description:"Sets the uri delimiter to use",title:"Uri Delimiter",required:!1,deprecated:!1},ignoreInvalidEndpoints:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Ignore the invalidate endpoint exception when try to create a producer with that endpoint",title:"Ignore Invalid Endpoints",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producers when using this routing slip, when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},saga:{type:"object",title:"Saga",group:"eip,routing",icon:"generic24.png",description:"Enables Sagas on the route",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{sagaService:{kind:"attribute",type:"object",description:"Refers to the id to lookup in the registry for the specific CamelSagaService to use.",title:"Saga Service",required:!1,deprecated:!1},propagation:{kind:"attribute",type:"enum",defaultValue:"REQUIRED",enum:["REQUIRED","REQUIRES_NEW","MANDATORY","SUPPORTS","NOT_SUPPORTED","NEVER"],description:"Set the Saga propagation mode (REQUIRED, REQUIRES_NEW, MANDATORY, SUPPORTS, NOT_SUPPORTED, NEVER).",title:"Propagation",required:!1,deprecated:!1},completionMode:{kind:"attribute",type:"enum",defaultValue:"AUTO",enum:["AUTO","MANUAL"],description:"Determine how the saga should be considered complete. When set to AUTO, the saga is completed when the exchange that initiates the saga is processed successfully, or compensated when it completes exceptionally. When set to MANUAL, the user must complete or compensate the saga using the saga:complete or saga:compensate endpoints.",title:"Completion Mode",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",description:"Set the maximum amount of time for the Saga. After the timeout is expired, the saga will be compensated automatically (unless a different decision has been taken in the meantime).",title:"Timeout",required:!1,deprecated:!1},compensation:{kind:"element",type:"object",description:"The compensation endpoint URI that must be called to compensate all changes done in the route. The route corresponding to the compensation URI must perform compensation and complete without error. If errors occur during compensation, the saga service may call again the compensation URI to retry.",title:"Compensation",required:!1,deprecated:!1},completion:{kind:"element",type:"object",description:"The completion endpoint URI that will be called when the Saga is completed successfully. The route corresponding to the completion URI must perform completion tasks and terminate without error. If errors occur during completion, the saga service may call again the completion URI to retry.",title:"Completion",required:!1,deprecated:!1},option:{kind:"element",type:"array",description:"Allows to save properties of the current exchange in order to re-use them in a compensation/completion callback route. Options are usually helpful e.g. to store and retrieve identifiers of objects that should be deleted in compensating actions. Option values will be transformed into input headers of the compensation/completion exchange.",title:"Option",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},sample:{type:"object",title:"Sample",group:"eip,routing",icon:"generic24.png",description:"Extract a sample of the messages passing through a route",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{samplePeriod:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the sample period during which only a single Exchange will pass through.",title:"Sample Period",required:!1,deprecated:!1},messageFrequency:{kind:"attribute",type:"integer",description:"Sets the sample message count which only a single Exchange will pass through after this many received.",title:"Message Frequency",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},script:{type:"object",title:"Script",group:"eip,transformation",icon:"generic24.png",description:"Executes a script from a language which does not change the message body.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression to return the transformed message body (the new message body to use)",title:"Expression",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},serviceCall:{type:"object",title:"Service Call",group:"eip,routing",icon:"generic24.png",description:"To call remote services",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{name:{kind:"attribute",type:"string",description:"Sets the name of the service to use",title:"Name",required:!0,deprecated:!1},expression:{kind:"element",type:"object",description:"Configures the Expression using the given configuration.",title:"Expression",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"The uri of the endpoint to send to. The uri can be dynamic computed using the org.apache.camel.language.simple.SimpleLanguage expression.",title:"Uri",required:!1,deprecated:!1},component:{kind:"attribute",type:"string",defaultValue:"http",description:"The component to use.",title:"Component",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the optional ExchangePattern used to invoke this endpoint",title:"Pattern",required:!1,deprecated:!1},configurationRef:{kind:"attribute",type:"string",description:"Refers to a ServiceCall configuration to use",title:"Configuration Ref",required:!1,deprecated:!1},serviceDiscoveryRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceDiscovery to use.",title:"Service Discovery Ref",required:!1,deprecated:!1},serviceFilterRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceFilter to use.",title:"Service Filter Ref",required:!1,deprecated:!1},serviceChooserRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceChooser to use.",title:"Service Chooser Ref",required:!1,deprecated:!1},loadBalancerRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceLoadBalancer to use.",title:"Load Balancer Ref",required:!1,deprecated:!1},expressionRef:{kind:"attribute",type:"string",description:"Set a reference to a custom Expression to use.",title:"Expression Ref",required:!1,deprecated:!1},serviceDiscoveryConfiguration:{kind:"element",type:"object",description:"Configures the ServiceDiscovery using the given configuration.",title:"Service Discovery Configuration",required:!0,deprecated:!1},serviceFilterConfiguration:{kind:"element",type:"object",description:"Configures the ServiceFilter using the given configuration.",title:"Service Filter Configuration",required:!0,deprecated:!1},loadBalancerConfiguration:{kind:"element",type:"object",description:"Configures the LoadBalancer using the given configuration.",title:"Load Balancer Configuration",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},serviceCallConfiguration:{type:"object",title:"Service Call Configuration",group:"routing,cloud",icon:"generic24.png",description:"Remote service call configuration",properties:{expression:{kind:"element",type:"object",description:"Configures the Expression using the given configuration.",title:"Expression",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"The uri of the endpoint to send to. The uri can be dynamic computed using the simple language expression.",title:"Uri",required:!1,deprecated:!1},component:{kind:"attribute",type:"string",defaultValue:"http",description:"The component to use.",title:"Component",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the optional ExchangePattern used to invoke this endpoint",title:"Pattern",required:!1,deprecated:!1},serviceDiscoveryRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceDiscovery to use.",title:"Service Discovery Ref",required:!1,deprecated:!1},serviceFilterRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceFilter to use.",title:"Service Filter Ref",required:!1,deprecated:!1},serviceChooserRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceChooser to use.",title:"Service Chooser Ref",required:!1,deprecated:!1},loadBalancerRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceLoadBalancer to use.",title:"Load Balancer Ref",required:!1,deprecated:!1},expressionRef:{kind:"attribute",type:"string",description:"Set a reference to a custom Expression to use.",title:"Expression Ref",required:!1,deprecated:!1},serviceDiscoveryConfiguration:{kind:"element",type:"object",description:"Configures the ServiceDiscovery using the given configuration.",title:"Service Discovery Configuration",required:!0,deprecated:!1},serviceFilterConfiguration:{kind:"element",type:"object",description:"Configures the ServiceFilter using the given configuration.",title:"Service Filter Configuration",required:!0,deprecated:!1},loadBalancerConfiguration:{kind:"element",type:"object",description:"Configures theL oadBalancer using the given configuration.",title:"Load Balancer Configuration",required:!0,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},serviceChooserConfiguration:{type:"object",title:"Service Chooser Configuration",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},serviceDiscoveryConfiguration:{type:"object",title:"Service Discovery Configuration",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},serviceExpression:{type:"object",title:"Service Expression",group:"routing,cloud",icon:"generic24.png",description:"",properties:{hostHeader:{kind:"attribute",type:"string",defaultValue:"CamelServiceCallServiceHost",description:"The header that holds the service host information, default ServiceCallConstants.SERVICE_HOST",title:"Host Header",required:!1,deprecated:!1},portHeader:{kind:"attribute",type:"string",defaultValue:"CamelServiceCallServicePort",description:"The header that holds the service port information, default ServiceCallConstants.SERVICE_PORT",title:"Port Header",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},serviceFilterConfiguration:{type:"object",title:"Service Filter Configuration",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},setBody:{type:"object",title:"Set Body",group:"eip,transformation",icon:"setBody24.png",description:"Sets the contents of the message body",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression that returns the new body to use",title:"Expression",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},setExchangePattern:{type:"object",title:"Set Exchange Pattern",group:"configuration",icon:"generic24.png",description:"Sets the exchange pattern on the message exchange",properties:{pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the new exchange pattern of the Exchange to be used from this point forward",title:"Pattern",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},setHeader:{type:"object",title:"Set Header",group:"eip,transformation",icon:"generic24.png",description:"Sets the value of a message header",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{name:{kind:"attribute",type:"string",description:"Name of message header to set a new value The simple language can be used to define a dynamic evaluated header name to be used. Otherwise a constant name will be used.",title:"Name",required:!0,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to return the value of the header",title:"Expression",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},setProperty:{type:"object",title:"Set Property",group:"eip,transformation",icon:"generic24.png",description:"Sets a named property on the message exchange",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{name:{kind:"attribute",type:"string",description:"Name of exchange property to set a new value. The simple language can be used to define a dynamic evaluated exchange property name to be used. Otherwise a constant name will be used.",title:"Name",required:!0,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to return the value of the message exchange property",title:"Expression",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},sort:{type:"object",title:"Sort",group:"eip,routing",icon:"generic24.png",description:"Sorts the contents of the message",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Optional expression to sort by something else than the message body",title:"Expression",required:!0,deprecated:!1},comparator:{kind:"attribute",type:"object",description:"Sets the comparator to use for sorting",title:"Comparator",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},split:{type:"object",title:"Split",group:"eip,routing",icon:"split24.png",description:"Splits a single message into many sub-messages.",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{expression:{kind:"expression",type:"object",description:"Expression of how to split the message body, such as as-is, using a tokenizer, or using a xpath.",title:"Expression",required:!0,deprecated:!1},delimiter:{kind:"attribute",type:"string",defaultValue:",",description:"Delimiter used in splitting messages. Can be turned off using the value false. The default value is ,",title:"Delimiter",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"Sets a reference to the AggregationStrategy to be used to assemble the replies from the split messages, into a single outgoing message from the Splitter. By default Camel will use the original incoming message to the splitter (leave it unchanged). You can also use a POJO as the AggregationStrategy",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},parallelAggregate:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then the aggregate method on AggregationStrategy can be called concurrently. Notice that this would require the implementation of AggregationStrategy to be implemented as thread-safe. By default this is false meaning that Camel synchronizes the call to the aggregate method. Though in some use-cases this can be used to archive higher performance when the AggregationStrategy is implemented as thread-safe.",title:"Parallel Aggregate",required:!1,deprecated:!1},parallelProcessing:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then processing each split messages occurs concurrently. Note the caller thread will still wait until all messages has been fully processed, before it continues. It's only processing the sub messages from the splitter which happens concurrently. When parallel processing is enabled, then the Camel routing engin will continue processing using last used thread from the parallel thread pool. However, if you want to use the original thread that called the splitter, then make sure to enable the synchronous option as well.",title:"Parallel Processing",required:!1,deprecated:!1},synchronous:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used. When enabled then the same thread is used to continue routing after the split is complete, even if parallel processing is enabled.",title:"Synchronous",required:!1,deprecated:!1},streaming:{kind:"attribute",type:"boolean",defaultValue:"false",description:"When in streaming mode, then the splitter splits the original message on-demand, and each split message is processed one by one. This reduces memory usage as the splitter do not split all the messages first, but then we do not know the total size, and therefore the org.apache.camel.Exchange#SPLIT_SIZE is empty. In non-streaming mode (default) the splitter will split each message first, to know the total size, and then process each message one by one. This requires to keep all the split messages in memory and therefore requires more memory. The total size is provided in the org.apache.camel.Exchange#SPLIT_SIZE header. The streaming mode also affects the aggregation behavior. If enabled then Camel will process replies out-of-order, e.g. in the order they come back. If disabled, Camel will process replies in the same order as the messages was split.",title:"Streaming",required:!1,deprecated:!1},stopOnException:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will now stop further processing if an exception or failure occurred during processing of an org.apache.camel.Exchange and the caused exception will be thrown. Will also stop if processing the exchange failed (has a fault message) or an exception was thrown and handled by the error handler (such as using onException). In all situations the splitter will stop further processing. This is the same behavior as in pipeline, which is used by the routing engine. The default behavior is to not stop but continue processing till the end",title:"Stop On Exception",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",defaultValue:"0",description:"Sets a total timeout specified in millis, when using parallel processing. If the Splitter hasn't been able to split and process all the sub messages within the given timeframe, then the timeout triggers and the Splitter breaks out and continues. Notice if you provide a TimeoutAwareAggregationStrategy then the timeout method is invoked before breaking out. If the timeout is reached with running tasks still remaining, certain tasks for which it is difficult for Camel to shut down in a graceful manner may continue to run. So use this option with a bit of care.",title:"Timeout",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatically implied, and you do not have to enable that option as well.",title:"Executor Service",required:!1,deprecated:!1},onPrepare:{kind:"attribute",type:"object",description:"Uses the Processor when preparing the org.apache.camel.Exchange to be sent. This can be used to deep-clone messages that should be sent, or any custom logic needed before the exchange is sent.",title:"On Prepare",required:!1,deprecated:!1},shareUnitOfWork:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Splitter will by default not share unit of work between the parent exchange and each split exchange. This means each split exchange has its own individual unit of work.",title:"Share Unit Of Work",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},springTransactionErrorHandler:{type:"object",title:"Spring Transaction Error Handler",group:"configuration,error",icon:"generic24.png",description:"Spring based transactional error handler (requires camel-spring).",properties:{transactedPolicyRef:{kind:"attribute",type:"object",description:"The transacted policy to use that is configured for either Spring or JTA based transactions. If no policy has been configured then Camel will attempt to auto-discover.",title:"Transacted Policy Ref",required:!1,deprecated:!1},rollbackLoggingLevel:{kind:"attribute",type:"enum",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Sets the logging level to use for logging transactional rollback. This option is default WARN.",title:"Rollback Logging Level",required:!1,deprecated:!1},loggerRef:{kind:"attribute",type:"string",description:"References to a logger to use as logger for the error handler",title:"Logger Ref",required:!1,deprecated:!1},level:{kind:"attribute",type:"enum",defaultValue:"ERROR",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to use when using the logging error handler type.",title:"Level",required:!1,deprecated:!1},logName:{kind:"attribute",type:"string",description:"Name of the logger to use for the logging error handler",title:"Log Name",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},useOriginalBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Body",required:!1,deprecated:!1},onRedeliveryRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.",title:"On Redelivery Ref",required:!1,deprecated:!1},onExceptionOccurredRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.",title:"On Exception Occurred Ref",required:!1,deprecated:!1},onPrepareFailureRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor to prepare the org.apache.camel.Exchange before handled by the failure processor / dead letter channel. This allows for example to enrich the message before sending to a dead letter queue.",title:"On Prepare Failure Ref",required:!1,deprecated:!1},retryWhileRef:{kind:"attribute",type:"object",description:"Sets a retry while predicate. Will continue retrying until the predicate evaluates to false.",title:"Retry While Ref",required:!1,deprecated:!1},redeliveryPolicyRef:{kind:"attribute",type:"object",description:"Sets a reference to a RedeliveryPolicy to be used for redelivery settings.",title:"Redelivery Policy Ref",required:!1,deprecated:!1},executorServiceRef:{kind:"attribute",type:"object",description:"Sets a reference to a thread pool to be used by the error handler",title:"Executor Service Ref",required:!1,deprecated:!1},redeliveryPolicy:{kind:"element",type:"object",description:"Sets the redelivery settings",title:"Redelivery Policy",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},staticServiceDiscovery:{type:"object",title:"Static Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{servers:{kind:"element",type:"array",description:"Sets the server list. Each entry can be a list of servers separated by comma in the format: servicehost:port,servicehost2:port,servicehost3:port",title:"Servers",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},step:{type:"object",title:"Step",group:"eip,routing",icon:"generic24.png",description:"Routes the message to a sequence of processors which is grouped together as one logical name",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},sticky:{type:"object",title:"Sticky",group:"eip,routing",icon:"generic24.png",description:"Sticky load balancing using an expression to calculate a correlation key to perform the sticky load balancing.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{correlationExpression:{kind:"expression",type:"object",description:"The correlation expression to use to calculate the correlation key",title:"Correlation Expression",required:!0,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},stop:{type:"object",title:"Stop",group:"eip,routing",icon:"generic24.png",description:"Stops the processing of the current message",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},"stream-config":{type:"object",title:"Stream-config",group:"configuration,eip",icon:"generic24.png",description:"Configures stream-processing resequence eip.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{capacity:{kind:"attribute",type:"integer",defaultValue:"1000",description:"Sets the capacity of the resequencer inbound queue.",title:"Capacity",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets minimum time (milliseconds) to wait for missing elements (messages).",title:"Timeout",required:!1,deprecated:!1},deliveryAttemptInterval:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the interval in milliseconds the stream resequencer will at most wait while waiting for condition of being able to deliver.",title:"Delivery Attempt Interval",required:!1,deprecated:!1},ignoreInvalidExchanges:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore invalid exchanges",title:"Ignore Invalid Exchanges",required:!1,deprecated:!1},rejectOld:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If true, throws an exception when messages older than the last delivered message are processed",title:"Reject Old",required:!1,deprecated:!1},comparator:{kind:"attribute",type:"object",description:"To use a custom comparator as a org.apache.camel.processor.resequencer.ExpressionResultComparator type.",title:"Comparator",required:!1,deprecated:!1}}},templateBean:{type:"object",title:"Template Bean",group:"configuration",icon:"generic24.png",description:"A route template bean (local bean)",properties:{name:{kind:"attribute",type:"string",description:"Bean name",title:"Name",required:!0,deprecated:!1},type:{kind:"attribute",type:"string",description:"What type to use for creating the bean. Can be one of: #class,#type,bean,groovy,joor,language,mvel,ognl. #class or #type then the bean is created via the fully qualified classname, such as #class:com.foo.MyBean The others are scripting languages that gives more power to create the bean with an inlined code in the script section, such as using groovy.",title:"Type",required:!0,deprecated:!1},beanType:{kind:"attribute",type:"string",description:"To set the type (fully qualified class name) of the returned bean created by the script. Knowing the type of the bean can be needed when dependency injection by type is in use, or when looking in registry via class type.",title:"Bean Type",required:!1,deprecated:!1},property:{kind:"element",type:"array",description:"Optional properties to set on the created local bean",title:"Property",required:!1,deprecated:!1},properties:{kind:"element",type:"object",description:"Optional properties to set on the created local bean",title:"Properties",required:!1,deprecated:!1},script:{kind:"element",type:"string",description:"The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com/foo/myscript.groovy, resource:file:/var/myscript.groovy, then its loaded from the external resource.",title:"Script",required:!1,deprecated:!1}}},templateParameter:{type:"object",title:"Template Parameter",group:"configuration",icon:"generic24.png",description:"A route template parameter",properties:{name:{kind:"attribute",type:"string",description:"The name of the parameter",title:"Name",required:!0,deprecated:!1},required:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the parameter is required or not. A parameter is required unless this option is set to false or a default value has been configured.",title:"Required",required:!1,deprecated:!1},defaultValue:{kind:"attribute",type:"string",description:"Default value of the parameter. If a default value is provided then the parameter is implied not to be required.",title:"Default Value",required:!1,deprecated:!1},description:{kind:"attribute",type:"string",description:"Description of the parameter",title:"Description",required:!1,deprecated:!1}}},templatedRoute:{type:"object",title:"Templated Route",group:"configuration",icon:"generic24.png",description:"Defines a templated route (a route built from a route template)",properties:{routeTemplateRef:{kind:"attribute",type:"string",description:"Sets the id of the route template to use to build the route.",title:"Route Template Ref",required:!0,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route built from the route template.",title:"Route Id",required:!1,deprecated:!1},prefixId:{kind:"attribute",type:"string",description:"Sets a prefix to use for all node ids (not route id).",title:"Prefix Id",required:!1,deprecated:!1},parameter:{kind:"element",type:"array",description:"Adds an input parameter of the template to build the route",title:"Parameter",required:!1,deprecated:!1},bean:{kind:"element",type:"array",description:"Adds a local bean as input of the template to build the route",title:"Bean",required:!1,deprecated:!1}}},templatedRouteBean:{type:"object",title:"Templated Route Bean",group:"configuration",icon:"generic24.png",description:"A bean as input of a route template (local bean)",properties:{name:{kind:"attribute",type:"string",description:"Bean name",title:"Name",required:!0,deprecated:!1},type:{kind:"attribute",type:"string",description:"What type to use for creating the bean. Can be one of: #class,#type,bean,groovy,joor,language,mvel,ognl. #class or #type then the bean is created via the fully qualified classname, such as #class:com.foo.MyBean The others are scripting languages that gives more power to create the bean with an inlined code in the script section, such as using groovy.",title:"Type",required:!0,deprecated:!1},beanType:{kind:"attribute",type:"string",description:"To set the type (fully qualified class name) of the returned bean created by the script. Knowing the type of the bean can be needed when dependency injection by type is in use, or when looking in registry via class type.",title:"Bean Type",required:!1,deprecated:!1},property:{kind:"element",type:"array",description:"Optional properties to set on the created local bean",title:"Property",required:!1,deprecated:!1},properties:{kind:"element",type:"object",description:"Optional properties to set on the created local bean",title:"Properties",required:!1,deprecated:!1},script:{kind:"element",type:"string",description:"The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com/foo/myscript.groovy, resource:file:/var/myscript.groovy, then its loaded from the external resource.",title:"Script",required:!1,deprecated:!1}}},templatedRouteParameter:{type:"object",title:"Templated Route Parameter",group:"configuration",icon:"generic24.png",description:"An input parameter of a route template.",properties:{name:{kind:"attribute",type:"string",description:"The name of the parameter",title:"Name",required:!0,deprecated:!1},value:{kind:"attribute",type:"string",description:"The value of the parameter.",title:"Value",required:!0,deprecated:!1}}},templatedRoutes:{type:"object",title:"Templated Routes",group:"configuration",icon:"generic24.png",description:"A series of templated routes",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},threadPoolProfile:{type:"object",title:"Thread Pool Profile",group:"configuration",icon:"generic24.png",description:"To configure thread pools",properties:{defaultProfile:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether this profile is the default thread pool profile",title:"Default Profile",required:!1,deprecated:!1},poolSize:{kind:"attribute",type:"integer",description:"Sets the core pool size",title:"Pool Size",required:!1,deprecated:!1},maxPoolSize:{kind:"attribute",type:"integer",description:"Sets the maximum pool size",title:"Max Pool Size",required:!1,deprecated:!1},keepAliveTime:{kind:"attribute",type:"integer",description:"Sets the keep alive time for idle threads in the pool",title:"Keep Alive Time",required:!1,deprecated:!1},timeUnit:{kind:"attribute",type:"enum",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Sets the time unit to use for keep alive time By default SECONDS is used.",title:"Time Unit",required:!1,deprecated:!1},maxQueueSize:{kind:"attribute",type:"integer",description:"Sets the maximum number of tasks in the work queue. Use -1 or Integer.MAX_VALUE for an unbounded queue",title:"Max Queue Size",required:!1,deprecated:!1},allowCoreThreadTimeOut:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether idle core threads is allowed to timeout and therefore can shrink the pool size below the core pool size Is by default true",title:"Allow Core Thread Time Out",required:!1,deprecated:!1},rejectedPolicy:{kind:"attribute",type:"enum",enum:["Abort","CallerRuns"],description:"Sets the handler for tasks which cannot be executed by the thread pool.",title:"Rejected Policy",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},threads:{type:"object",title:"Threads",group:"eip,routing",icon:"generic24.png",description:"Specifies that all steps after this node are processed asynchronously",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{executorService:{kind:"attribute",type:"object",description:"To use a custom thread pool",title:"Executor Service",required:!1,deprecated:!1},poolSize:{kind:"attribute",type:"integer",description:"Sets the core pool size",title:"Pool Size",required:!1,deprecated:!1},maxPoolSize:{kind:"attribute",type:"integer",description:"Sets the maximum pool size",title:"Max Pool Size",required:!1,deprecated:!1},keepAliveTime:{kind:"attribute",type:"integer",description:"Sets the keep alive time for idle threads",title:"Keep Alive Time",required:!1,deprecated:!1},timeUnit:{kind:"attribute",type:"enum",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Sets the keep alive time unit. By default SECONDS is used.",title:"Time Unit",required:!1,deprecated:!1},maxQueueSize:{kind:"attribute",type:"integer",description:"Sets the maximum number of tasks in the work queue. Use -1 or Integer.MAX_VALUE for an unbounded queue",title:"Max Queue Size",required:!1,deprecated:!1},allowCoreThreadTimeOut:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether idle core threads are allowed to timeout and therefore can shrink the pool size below the core pool size Is by default false",title:"Allow Core Thread Time Out",required:!1,deprecated:!1},threadName:{kind:"attribute",type:"string",defaultValue:"Threads",description:"Sets the thread name to use.",title:"Thread Name",required:!1,deprecated:!1},rejectedPolicy:{kind:"attribute",type:"enum",enum:["Abort","CallerRuns"],description:"Sets the handler for tasks which cannot be executed by the thread pool.",title:"Rejected Policy",required:!1,deprecated:!1},callerRunsWhenRejected:{kind:"attribute",type:"string",defaultValue:"true",description:"Whether or not to use as caller runs as fallback when a task is rejected being added to the thread pool (when its full). This is only used as fallback if no rejectedPolicy has been configured, or the thread pool has no configured rejection handler. Is by default true",title:"Caller Runs When Rejected",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},throttle:{type:"object",title:"Throttle",group:"eip,routing",icon:"generic24.png",description:"Controls the rate at which messages are passed to the next node in the route",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression to configure the maximum number of messages to throttle per request",title:"Expression",required:!0,deprecated:!1},correlationExpression:{kind:"expression",type:"object",description:"The expression used to calculate the correlation key to use for throttle grouping. The Exchange which has the same correlation key is throttled together.",title:"Correlation Expression",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom thread pool (ScheduledExecutorService) by the throttler.",title:"Executor Service",required:!1,deprecated:!1},timePeriodMillis:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the time period during which the maximum request count is valid for",title:"Time Period Millis",required:!1,deprecated:!1},asyncDelayed:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables asynchronous delay which means the thread will not block while delaying.",title:"Async Delayed",required:!1,deprecated:!1},callerRunsWhenRejected:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the caller should run the task when it was rejected by the thread pool. Is by default true",title:"Caller Runs When Rejected",required:!1,deprecated:!1},rejectExecution:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not throttler throws the ThrottlerRejectedExecutionException when the exchange exceeds the request limit Is by default false",title:"Reject Execution",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},throwException:{type:"object",title:"Throw Exception",group:"error",icon:"generic24.png",description:"Throws an exception",properties:{message:{kind:"attribute",type:"string",description:"To create a new exception instance and use the given message as caused message (supports simple language)",title:"Message",required:!1,deprecated:!1},exceptionType:{kind:"attribute",type:"string",description:"The class of the exception to create using the message.",title:"Exception Type",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Reference to the exception instance to lookup from the registry to throw",title:"Ref",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},to:{type:"object",title:"To",group:"eip,routing",icon:"endpoint24.png",description:"Sends the message to a static endpoint",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{uri:{kind:"attribute",type:"string",description:"Sets the uri of the endpoint to send to.",title:"Uri",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the optional ExchangePattern used to invoke this endpoint",title:"Pattern",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},toD:{type:"object",title:"To D",group:"eip,routing",icon:"endpoint24.png",description:"Sends the message to a dynamic endpoint",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{uri:{kind:"attribute",type:"string",description:"The uri of the endpoint to send to. The uri can be dynamic computed using the org.apache.camel.language.simple.SimpleLanguage expression.",title:"Uri",required:!0,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the optional ExchangePattern used to invoke this endpoint",title:"Pattern",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producers when using this recipient list, when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},ignoreInvalidEndpoint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore invalid endpoint URIs and skip sending the message.",title:"Ignore Invalid Endpoint",required:!1,deprecated:!1},allowOptimisedComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to allow components to optimise toD if they are org.apache.camel.spi.SendDynamicAware .",title:"Allow Optimised Components",required:!1,deprecated:!1},autoStartComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to auto startup components when toD is starting up.",title:"Auto Start Components",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},topic:{type:"object",title:"Topic",group:"eip,routing",icon:"generic24.png",description:"Topic which sends to all destinations.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},transacted:{type:"object",title:"Transacted",group:"configuration",icon:"transactionalClient24.png",description:"Enables transaction on the route",properties:{ref:{kind:"attribute",type:"string",description:"Sets a reference to use for lookup the policy in the registry.",title:"Ref",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},transform:{type:"object",title:"Transform",group:"eip,transformation",icon:"transform24.png",description:"Transforms the message body based on an expression",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression to return the transformed message body (the new message body to use)",title:"Expression",required:!0,deprecated:!1},fromType:{kind:"attribute",type:"string",description:"From type used in data type transformation.",title:"From Type",required:!1,deprecated:!1},toType:{kind:"attribute",type:"string",description:"To type used as a target data type in the transformation.",title:"To Type",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},transformers:{type:"object",title:"Transformations",group:"transformation",icon:"generic24.png",description:"To configure transformers.",properties:{transformers:{kind:"element",type:"array",description:"The configured transformers",title:"Transformers",required:!0,deprecated:!1}}},validate:{type:"object",title:"Validate",group:"eip,transformation",icon:"generic24.png",description:"Validates a message based on an expression",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{expression:{kind:"expression",type:"object",description:"Expression to use for validation as a predicate. The expression should return either true or false. If returning false the message is invalid and an exception is thrown.",title:"Expression",required:!0,deprecated:!1},predicateExceptionFactory:{kind:"attribute",type:"object",description:"The bean id of custom PredicateExceptionFactory to use for creating the exception when the validation fails. By default, Camel will throw PredicateValidationException. By using a custom factory you can control which exception to throw instead.",title:"Predicate Exception Factory",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},validators:{type:"object",title:"Validations",group:"validation",icon:"generic24.png",description:"To configure validators.",properties:{validators:{kind:"element",type:"array",description:"The configured transformers",title:"Validators",required:!0,deprecated:!1}}},value:{type:"object",title:"Value",group:"configuration",icon:"generic24.png",description:"A single value",properties:{value:{kind:"value",type:"string",description:"Property value",title:"Value",required:!0,deprecated:!1}}},weighted:{type:"object",title:"Weighted",group:"eip,routing",icon:"generic24.png",description:"Uses a weighted load distribution ratio for each server with respect to others.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{distributionRatio:{kind:"attribute",type:"string",description:"The distribution ratio is a delimited String consisting on integer weights separated by delimiters for example 2,3,5. The distributionRatio must match the number of endpoints and/or processors specified in the load balancer list.",title:"Distribution Ratio",required:!0,deprecated:!1},distributionRatioDelimiter:{kind:"attribute",type:"string",defaultValue:",",description:"Delimiter used to specify the distribution ratio. The default value is , (comma)",title:"Distribution Ratio Delimiter",required:!1,deprecated:!1},roundRobin:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To enable round robin mode. By default the weighted distribution mode is used. The default value is false.",title:"Round Robin",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},when:{type:"object",title:"When",group:"eip,routing",icon:"generic24.png",description:"Triggers a route when the expression evaluates to true",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{expression:{kind:"expression",type:"object",description:"Expression used as the predicate to evaluate whether this when should trigger and route the message or not.",title:"Expression",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},whenSkipSendToEndpoint:{type:"object",title:"When Skip Send To Endpoint",group:"configuration",icon:"generic24.png",description:"Predicate to determine if the message should be sent or not to the endpoint, when using interceptSentToEndpoint.",properties:{expression:{kind:"expression",type:"object",description:"Expression used as the predicate to evaluate whether the message should be sent or not to the endpoint",title:"Expression",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},wireTap:{type:"object",title:"Wire Tap",group:"eip,routing",icon:"wireTap24.png",description:"Routes a copy of a message (or creates a new message) to a secondary destination while continue routing the original message.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{copy:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Uses a copy of the original exchange",title:"Copy",required:!1,deprecated:!1},dynamicUri:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the uri is dynamic or static. If the uri is dynamic then the simple language is used to evaluate a dynamic uri to use as the wire-tap destination, for each incoming message. This works similar to how the toD EIP pattern works. If static then the uri is used as-is as the wire-tap destination.",title:"Dynamic Uri",required:!1,deprecated:!1},onPrepare:{kind:"attribute",type:"object",description:"Uses the Processor when preparing the org.apache.camel.Exchange to be sent. This can be used to deep-clone messages that should be sent, or any custom logic needed before the exchange is sent.",title:"On Prepare",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"Uses a custom thread pool",title:"Executor Service",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"The uri of the endpoint to send to. The uri can be dynamic computed using the org.apache.camel.language.simple.SimpleLanguage expression.",title:"Uri",required:!0,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the optional ExchangePattern used to invoke this endpoint",title:"Pattern",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producers when using this recipient list, when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},ignoreInvalidEndpoint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore invalid endpoint URIs and skip sending the message.",title:"Ignore Invalid Endpoint",required:!1,deprecated:!1},allowOptimisedComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to allow components to optimise toD if they are org.apache.camel.spi.SendDynamicAware .",title:"Allow Optimised Components",required:!1,deprecated:!1},autoStartComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to auto startup components when toD is starting up.",title:"Auto Start Components",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},zookeeperServiceDiscovery:{type:"object",title:"Zookeeper Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{nodes:{kind:"attribute",type:"string",description:"A comma separate list of servers to connect to in the form host:port",title:"Nodes",required:!0,deprecated:!1},namespace:{kind:"attribute",type:"string",description:"As ZooKeeper is a shared space, users of a given cluster should stay within a pre-defined namespace. If a namespace is set here, all paths will get pre-pended with the namespace",title:"Namespace",required:!1,deprecated:!1},reconnectBaseSleepTime:{kind:"attribute",type:"string",description:"Initial amount of time to wait between retries.",title:"Reconnect Base Sleep Time",required:!1,deprecated:!1},reconnectMaxSleepTime:{kind:"attribute",type:"string",description:"Max time in ms to sleep on each retry",title:"Reconnect Max Sleep Time",required:!1,deprecated:!1},reconnectMaxRetries:{kind:"attribute",type:"string",description:"Max number of times to retry",title:"Reconnect Max Retries",required:!1,deprecated:!1},sessionTimeout:{kind:"attribute",type:"string",description:"Session timeout.",title:"Session Timeout",required:!1,deprecated:!1},connectionTimeout:{kind:"attribute",type:"string",description:"Connection timeout.",title:"Connection Timeout",required:!1,deprecated:!1},basePath:{kind:"attribute",type:"string",description:"Set the base path to store in ZK",title:"Base Path",required:!0,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}}},l={apiKey:{type:"object",title:"Api Key",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security basic auth definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{name:{kind:"attribute",type:"string",description:"The name of the header or query parameter to be used.",title:"Name",required:!0,deprecated:!1},key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},inHeader:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To use header as the location of the API key.",title:"In Header",required:!1,deprecated:!1},inQuery:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To use query parameter as the location of the API key.",title:"In Query",required:!1,deprecated:!1},inCookie:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To use a cookie as the location of the API key.",title:"In Cookie",required:!1,deprecated:!1},description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1}}},basicAuth:{type:"object",title:"Basic Auth",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security basic auth definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1}}},bearerToken:{type:"object",title:"Bearer Token",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security bearer token authentication definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},format:{kind:"attribute",type:"string",description:"A hint to the client to identify how the bearer token is formatted.",title:"Format",required:!1,deprecated:!1},description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1}}},delete:{type:"object",title:"Delete",group:"rest",icon:"generic24.png",description:"Rest DELETE command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},get:{type:"object",title:"Get",group:"rest",icon:"generic24.png",description:"Rest GET command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},head:{type:"object",title:"Head",group:"rest",icon:"generic24.png",description:"Rest HEAD command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},mutualTLS:{type:"object",title:"Mutual TLS",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security mutual TLS authentication definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1}}},oauth2:{type:"object",title:"Oauth2",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security OAuth2 definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},authorizationUrl:{kind:"attribute",type:"string",description:"The authorization URL to be used for this flow. This SHOULD be in the form of a URL. Required for implicit and access code flows",title:"Authorization Url",required:!1,deprecated:!1},tokenUrl:{kind:"attribute",type:"string",description:"The token URL to be used for this flow. This SHOULD be in the form of a URL. Required for password, application, and access code flows.",title:"Token Url",required:!1,deprecated:!1},refreshUrl:{kind:"attribute",type:"string",description:"The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL.",title:"Refresh Url",required:!1,deprecated:!1},flow:{kind:"attribute",type:"enum",enum:["implicit","password","application","clientCredentials","accessCode","authorizationCode"],description:"The flow used by the OAuth2 security scheme. Valid values are implicit, password, application or accessCode.",title:"Flow",required:!1,deprecated:!1},scopes:{kind:"element",type:"array",description:"The available scopes for an OAuth2 security scheme",title:"Scopes",required:!1,deprecated:!1},description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1}}},openIdConnect:{type:"object",title:"Open Id Connect",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security OpenID Connect definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},url:{kind:"attribute",type:"string",description:"OpenId Connect URL to discover OAuth2 configuration values.",title:"Url",required:!0,deprecated:!1},description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1}}},param:{type:"object",title:"Param",group:"rest",icon:"generic24.png",description:"To specify the rest operation parameters.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{name:{kind:"attribute",type:"string",description:"Sets the parameter name.",title:"Name",required:!0,deprecated:!1},type:{kind:"attribute",type:"enum",defaultValue:"path",enum:["body","formData","header","path","query"],description:"Sets the parameter type.",title:"Type",required:!1,deprecated:!1},defaultValue:{kind:"attribute",type:"string",description:"Sets the parameter default value.",title:"Default Value",required:!1,deprecated:!1},required:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets the parameter required flag.",title:"Required",required:!1,deprecated:!1},collectionFormat:{kind:"attribute",type:"enum",defaultValue:"csv",enum:["csv","multi","pipes","ssv","tsv"],description:"Sets the parameter collection format.",title:"Collection Format",required:!1,deprecated:!1},arrayType:{kind:"attribute",type:"string",defaultValue:"string",description:"Sets the parameter array type. Required if data type is array. Describes the type of items in the array.",title:"Array Type",required:!1,deprecated:!1},dataType:{kind:"attribute",type:"string",defaultValue:"string",description:"Sets the parameter data type.",title:"Data Type",required:!1,deprecated:!1},dataFormat:{kind:"attribute",type:"string",description:"Sets the parameter data format.",title:"Data Format",required:!1,deprecated:!1},allowableValues:{kind:"element",type:"array",description:"Sets the parameter list of allowable values (enum).",title:"Allowable Values",required:!1,deprecated:!1},examples:{kind:"element",type:"array",description:"Sets the parameter examples.",title:"Examples",required:!1,deprecated:!1},description:{kind:"attribute",type:"string",description:"Sets the parameter description.",title:"Description",required:!1,deprecated:!1}}},patch:{type:"object",title:"Patch",group:"rest",icon:"generic24.png",description:"Rest PATCH command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},post:{type:"object",title:"Post",group:"rest",icon:"generic24.png",description:"Rest POST command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},put:{type:"object",title:"Put",group:"rest",icon:"generic24.png",description:"Rest PUT command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},responseHeader:{type:"object",title:"Response Header",group:"rest",icon:"generic24.png",description:"To specify the rest operation response headers.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{name:{kind:"attribute",type:"string",description:"Name of the parameter. This option is mandatory.",title:"Name",required:!0,deprecated:!1},collectionFormat:{kind:"attribute",type:"enum",defaultValue:"csv",enum:["csv","multi","pipes","ssv","tsv"],description:"Sets the parameter collection format.",title:"Collection Format",required:!1,deprecated:!1},arrayType:{kind:"attribute",type:"string",defaultValue:"string",description:"Sets the parameter array type. Required if data type is array. Describes the type of items in the array.",title:"Array Type",required:!1,deprecated:!1},dataType:{kind:"attribute",type:"string",defaultValue:"string",description:"Sets the header data type.",title:"Data Type",required:!1,deprecated:!1},dataFormat:{kind:"attribute",type:"string",description:"Sets the parameter data format.",title:"Data Format",required:!1,deprecated:!1},allowableValues:{kind:"element",type:"array",description:"Sets the parameter list of allowable values.",title:"Allowable Values",required:!1,deprecated:!1},example:{kind:"attribute",type:"string",description:"Sets the example",title:"Example",required:!1,deprecated:!1},description:{kind:"attribute",type:"string",description:"Description of the parameter.",title:"Description",required:!1,deprecated:!1}}},responseMessage:{type:"object",title:"Response Message",group:"rest",icon:"generic24.png",description:"To specify the rest operation response messages.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{code:{kind:"attribute",type:"string",defaultValue:"200",description:"The response code such as a HTTP status code",title:"Code",required:!1,deprecated:!1},message:{kind:"attribute",type:"string",description:"The response message (description)",title:"Message",required:!0,deprecated:!1},responseModel:{kind:"attribute",type:"string",description:"The response model",title:"Response Model",required:!1,deprecated:!1},header:{kind:"element",type:"array",description:"Adds a response header",title:"Header",required:!1,deprecated:!1},examples:{kind:"element",type:"array",description:"Examples of response messages",title:"Examples",required:!1,deprecated:!1}}},rest:{type:"object",title:"Rest",group:"rest",icon:"generic24.png",description:"Defines a rest service using the rest-dsl",acceptInput:"false",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{path:{kind:"attribute",type:"string",description:"Path of the rest service, such as /foo",title:"Path",required:!1,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is auto",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. This option will override what may be configured on a parent level. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},tag:{kind:"attribute",type:"string",description:"To configure a special tag for the operations within this rest definition.",title:"Tag",required:!1,deprecated:!1},securityDefinitions:{kind:"element",type:"object",description:"Sets the security definitions such as Basic, OAuth2 etc.",title:"Security Definitions",required:!1,deprecated:!1},securityRequirements:{kind:"element",type:"array",description:"Sets the security requirement(s) for all endpoints.",title:"Security Requirements",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},restBinding:{type:"object",title:"Rest Binding",group:"rest",icon:"generic24.png",description:"To configure rest binding",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json",title:"Produces",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. The default value is off",title:"Binding Mode",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do.",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},component:{kind:"attribute",type:"string",description:"Sets the component name that this definition will apply to",title:"Component",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},restConfiguration:{type:"object",title:"Rest Configuration",group:"rest",icon:"generic24.png",description:"To configure rest",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{component:{kind:"attribute",type:"enum",enum:["platform-http","servlet","jetty","undertow","netty-http","coap"],description:"The Camel Rest component to use for the REST transport (consumer), such as netty-http, jetty, servlet, undertow. If no component has been explicit configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestConsumerFactory is registered in the registry. If either one is found, then that is being used.",title:"Component",required:!1,deprecated:!1},apiComponent:{kind:"attribute",type:"enum",enum:["openapi","swagger"],description:"The name of the Camel component to use as the REST API. If no API Component has been explicit configured, then Camel will lookup if there is a Camel component responsible for servicing and generating the REST API documentation, or if a org.apache.camel.spi.RestApiProcessorFactory is registered in the registry. If either one is found, then that is being used.",title:"Api Component",required:!1,deprecated:!1},producerComponent:{kind:"attribute",type:"enum",enum:["vertx-http","http","undertow","netty-http"],description:"Sets the name of the Camel component to use as the REST producer",title:"Producer Component",required:!1,deprecated:!1},scheme:{kind:"attribute",type:"string",description:"The scheme to use for exposing the REST service. Usually http or https is supported. The default value is http",title:"Scheme",required:!1,deprecated:!1},host:{kind:"attribute",type:"string",description:"The hostname to use for exposing the REST service.",title:"Host",required:!1,deprecated:!1},port:{kind:"attribute",type:"string",description:"The port number to use for exposing the REST service. Notice if you use servlet component then the port number configured here does not apply, as the port number in use is the actual port number the servlet component is using. eg if using Apache Tomcat its the tomcat http port, if using Apache Karaf its the HTTP service in Karaf that uses port 8181 by default etc. Though in those situations setting the port number here, allows tooling and JMX to know the port number, so its recommended to set the port number to the number that the servlet engine uses.",title:"Port",required:!1,deprecated:!1},apiHost:{kind:"attribute",type:"string",description:"To use a specific hostname for the API documentation (such as swagger or openapi) This can be used to override the generated host with this configured hostname",title:"Api Host",required:!1,deprecated:!1},useXForwardHeaders:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to use X-Forward headers for Host and related setting. The default value is true.",title:"Use XForward Headers",required:!1,deprecated:!1},producerApiDoc:{kind:"attribute",type:"string",description:"Sets the location of the api document the REST producer will use to validate the REST uri and query parameters are valid accordingly to the api document. The location of the api document is loaded from classpath by default, but you can use file: or http: to refer to resources to load from file or http url.",title:"Producer Api Doc",required:!1,deprecated:!1},contextPath:{kind:"attribute",type:"string",description:"Sets a leading context-path the REST services will be using. This can be used when using components such as camel-servlet where the deployed web application is deployed using a context-path. Or for components such as camel-jetty or camel-netty-http that includes a HTTP server.",title:"Context Path",required:!1,deprecated:!1},apiContextPath:{kind:"attribute",type:"string",description:"Sets a leading API context-path the REST API services will be using. This can be used when using components such as camel-servlet where the deployed web application is deployed using a context-path.",title:"Api Context Path",required:!1,deprecated:!1},apiContextRouteId:{kind:"attribute",type:"string",description:"Sets the route id to use for the route that services the REST API. The route will by default use an auto assigned route id.",title:"Api Context Route Id",required:!1,deprecated:!1},apiVendorExtension:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether vendor extension is enabled in the Rest APIs. If enabled then Camel will include additional information as vendor extension (eg keys starting with x-) such as route ids, class names etc. Not all 3rd party API gateways and tools supports vendor-extensions when importing your API docs.",title:"Api Vendor Extension",required:!1,deprecated:!1},hostNameResolver:{kind:"attribute",type:"enum",defaultValue:"allLocalIp",enum:["allLocalIp","localHostName","localIp"],description:"If no hostname has been explicit configured, then this resolver is used to compute the hostname the REST service will be using.",title:"Host Name Resolver",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do.",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},inlineRoutes:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Inline routes in rest-dsl which are linked using direct endpoints. By default, each service in Rest DSL is an individual route, meaning that you would have at least two routes per service (rest-dsl, and the route linked from rest-dsl). Enabling this allows Camel to optimize and inline this as a single route, however this requires to use direct endpoints, which must be unique per service. This option is default false.",title:"Inline Routes",required:!1,deprecated:!1},jsonDataFormat:{kind:"attribute",type:"string",description:"Name of specific json data format to use. By default jackson will be used. Important: This option is only for setting a custom name of the data format, not to refer to an existing data format instance.",title:"Json Data Format",required:!1,deprecated:!1},xmlDataFormat:{kind:"attribute",type:"string",description:"Name of specific XML data format to use. By default jaxb will be used. Important: This option is only for setting a custom name of the data format, not to refer to an existing data format instance.",title:"Xml Data Format",required:!1,deprecated:!1},componentProperty:{kind:"element",type:"array",description:"Allows to configure as many additional properties for the rest component in use.",title:"Component Property",required:!1,deprecated:!1},endpointProperty:{kind:"element",type:"array",description:"Allows to configure as many additional properties for the rest endpoint in use.",title:"Endpoint Property",required:!1,deprecated:!1},consumerProperty:{kind:"element",type:"array",description:"Allows to configure as many additional properties for the rest consumer in use.",title:"Consumer Property",required:!1,deprecated:!1},dataFormatProperty:{kind:"element",type:"array",description:"Allows to configure as many additional properties for the data formats in use. For example set property prettyPrint to true to have json outputted in pretty mode. The properties can be prefixed to denote the option is only for either JSON or XML and for either the IN or the OUT. The prefixes are: json.in. json.out. xml.in. xml.out. For example a key with value xml.out.mustBeJAXBElement is only for the XML data format for the outgoing. A key without a prefix is a common key for all situations.",title:"Data Format Property",required:!1,deprecated:!1},apiProperty:{kind:"element",type:"array",description:"Allows to configure as many additional properties for the api documentation. For example set property api.title to my cool stuff",title:"Api Property",required:!1,deprecated:!1},corsHeaders:{kind:"element",type:"array",description:"Allows to configure custom CORS headers.",title:"Cors Headers",required:!1,deprecated:!1}}},restContextRef:{type:"object",title:"Rest Context Ref",group:"configuration,rest",icon:"generic24.png",description:"To refer to an XML file with rest services defined using the rest-dsl",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the rest-dsl",title:"Ref",required:!0,deprecated:!1}}},restProperty:{type:"object",title:"Rest Property",group:"rest",icon:"generic24.png",description:"A key value pair",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{key:{kind:"attribute",type:"string",description:"Property key",title:"Key",required:!0,deprecated:!1},value:{kind:"attribute",type:"string",description:"Property value",title:"Value",required:!0,deprecated:!1}}},rests:{type:"object",title:"Rests",group:"rest",icon:"generic24.png",description:"A series of rest services defined using the rest-dsl",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{rests:{kind:"element",type:"array",description:"Contains the rest services defined using the rest-dsl",title:"Rests",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},security:{type:"object",title:"Rest Security",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},scopes:{kind:"attribute",type:"string",description:"The scopes to allow (separate multiple scopes by comma)",title:"Scopes",required:!1,deprecated:!1}}},securityDefinitions:{type:"object",title:"Rest Security Definitions",group:"rest,security,configuration",icon:"generic24.png",description:"To configure rest security definitions.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{securityDefinitions:{kind:"element",type:"array",description:"Security definitions",title:"Security Definitions",required:!0,deprecated:!1}}}},d={asn1:{type:"object",title:"ASN.1 File",group:"dataformat,transformation,file",icon:"generic24.png",description:"Encode and decode data structures using Abstract Syntax Notation One (ASN.1).",properties:{unmarshalType:{kind:"attribute",type:"string",description:"Class to use when unmarshalling.",title:"Unmarshal Type",required:!1,deprecated:!1},usingIterator:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the asn1 file has more than one entry, the setting this option to true, allows working with the splitter EIP, to split the data using an iterator in a streaming mode.",title:"Using Iterator",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},avro:{type:"object",title:"Avro",group:"dataformat,transformation",icon:"generic24.png",description:"Serialize and deserialize messages using Apache Avro binary data format.",properties:{instanceClassName:{kind:"attribute",type:"string",description:"Class name to use for marshal and unmarshalling",title:"Instance Class Name",required:!1,deprecated:!1},library:{kind:"attribute",type:"enum",defaultValue:"ApacheAvro",enum:["ApacheAvro","Jackson"],description:"Which Avro library to use.",title:"Library",required:!1,deprecated:!1},objectMapper:{kind:"attribute",type:"string",description:"Lookup and use the existing ObjectMapper with the given id when using Jackson.",title:"Object Mapper",required:!1,deprecated:!1},useDefaultObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to lookup and use default Jackson ObjectMapper from the registry.",title:"Use Default Object Mapper",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},jsonView:{kind:"attribute",type:"string",description:"When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations",title:"Json View",required:!1,deprecated:!1},include:{kind:"attribute",type:"string",description:"If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null values, you can set this option to NON_NULL",title:"Include",required:!1,deprecated:!1},allowJmsType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.",title:"Allow Jms Type",required:!1,deprecated:!1},collectionType:{kind:"attribute",type:"string",description:"Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows to use different collection types than java.util.Collection based as default.",title:"Collection Type",required:!1,deprecated:!1},useList:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To unmarshal to a List of Map or a List of Pojo.",title:"Use List",required:!1,deprecated:!1},moduleClassNames:{kind:"attribute",type:"string",description:"To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma.",title:"Module Class Names",required:!1,deprecated:!1},moduleRefs:{kind:"attribute",type:"string",description:"To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.",title:"Module Refs",required:!1,deprecated:!1},enableFeatures:{kind:"attribute",type:"string",description:"Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Enable Features",required:!1,deprecated:!1},disableFeatures:{kind:"attribute",type:"string",description:"Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Disable Features",required:!1,deprecated:!1},allowUnmarshallType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used.",title:"Allow Unmarshall Type",required:!1,deprecated:!1},timezone:{kind:"attribute",type:"string",description:"If set then Jackson will use the Timezone when marshalling/unmarshalling.",title:"Timezone",required:!1,deprecated:!1},autoDiscoverObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true then Jackson will lookup for an objectMapper into the registry",title:"Auto Discover Object Mapper",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},schemaResolver:{kind:"attribute",type:"string",description:"Optional schema resolver used to lookup schemas for the data in transit.",title:"Schema Resolver",required:!1,deprecated:!1},autoDiscoverSchemaResolver:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When not disabled, the SchemaResolver will be looked up into the registry",title:"Auto Discover Schema Resolver",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},barcode:{type:"object",title:"Barcode",group:"dataformat,transformation",icon:"generic24.png",description:"Transform strings to various 1D/2D barcode bitmap formats and back.",properties:{barcodeFormat:{kind:"attribute",type:"string",description:"Barcode format such as QR-Code",title:"Barcode Format",required:!1,deprecated:!1},imageType:{kind:"attribute",type:"string",description:"Image type of the barcode such as png",title:"Image Type",required:!1,deprecated:!1},width:{kind:"attribute",type:"integer",description:"Width of the barcode",title:"Width",required:!1,deprecated:!1},height:{kind:"attribute",type:"integer",description:"Height of the barcode",title:"Height",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},base64:{type:"object",title:"Base64",group:"dataformat,transformation",icon:"generic24.png",description:"Encode and decode data using Base64.",properties:{lineLength:{kind:"attribute",type:"integer",defaultValue:"76",description:"To specific a maximum line length for the encoded data. By default 76 is used.",title:"Line Length",required:!1,deprecated:!1},lineSeparator:{kind:"attribute",type:"string",description:"The line separators to use. Uses new line characters (CRLF) by default.",title:"Line Separator",required:!1,deprecated:!1},urlSafe:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Instead of emitting '' and '/' we emit '-' and '_' respectively. urlSafe is only applied to encode operations. Decoding seamlessly handles both modes. Is by default false.",title:"Url Safe",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},bindy:{type:"object",title:"Bindy",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java beans from and to flat payloads (such as CSV, delimited, fixed length formats, or FIX messages).",properties:{type:{kind:"attribute",type:"enum",enum:["Csv","Fixed","KeyValue"],description:"Whether to use Csv, Fixed, or KeyValue.",title:"Type",required:!0,deprecated:!1},classType:{kind:"attribute",type:"string",description:"Name of model class to use.",title:"Class Type",required:!1,deprecated:!1},allowEmptyStream:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to allow empty streams in the unmarshal process. If true, no exception will be thrown when a body without records is provided.",title:"Allow Empty Stream",required:!1,deprecated:!1},unwrapSingleInstance:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When unmarshalling should a single instance be unwrapped and returned instead of wrapped in a java.util.List.",title:"Unwrap Single Instance",required:!1,deprecated:!1},locale:{kind:"attribute",type:"string",description:"To configure a default locale to use, such as us for united states. To use the JVM platform default locale then use the name default",title:"Locale",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},cbor:{type:"object",title:"CBOR",group:"dataformat,transformation,json",icon:"generic24.png",description:"Unmarshal a CBOR payload to POJO and back.",properties:{objectMapper:{kind:"attribute",type:"string",description:"Lookup and use the existing CBOR ObjectMapper with the given id when using Jackson.",title:"Object Mapper",required:!1,deprecated:!1},useDefaultObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to lookup and use default Jackson CBOR ObjectMapper from the registry.",title:"Use Default Object Mapper",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},collectionType:{kind:"attribute",type:"string",description:"Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows to use different collection types than java.util.Collection based as default.",title:"Collection Type",required:!1,deprecated:!1},useList:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To unmarshal to a List of Map or a List of Pojo.",title:"Use List",required:!1,deprecated:!1},allowUnmarshallType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Jackson CBOR is allowed to attempt to use the CamelCBORUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used.",title:"Allow Unmarshall Type",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To enable pretty printing output nicely formatted. Is by default false.",title:"Pretty Print",required:!1,deprecated:!1},allowJmsType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.",title:"Allow Jms Type",required:!1,deprecated:!1},enableFeatures:{kind:"attribute",type:"string",description:"Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Enable Features",required:!1,deprecated:!1},disableFeatures:{kind:"attribute",type:"string",description:"Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Disable Features",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},crypto:{type:"object",title:"Crypto (Java Cryptographic Extension)",group:"dataformat,transformation,security",icon:"generic24.png",description:"Encrypt and decrypt messages using Java Cryptography Extension (JCE).",properties:{algorithm:{kind:"attribute",type:"string",description:"The JCE algorithm name indicating the cryptographic algorithm that will be used.",title:"Algorithm",required:!1,deprecated:!1},keyRef:{kind:"attribute",type:"string",description:"Refers to the secret key to lookup from the register to use.",title:"Key Ref",required:!1,deprecated:!1},cryptoProvider:{kind:"attribute",type:"string",description:"The name of the JCE Security Provider that should be used.",title:"Crypto Provider",required:!1,deprecated:!1},initVectorRef:{kind:"attribute",type:"string",description:"Refers to a byte array containing the Initialization Vector that will be used to initialize the Cipher.",title:"Init Vector Ref",required:!1,deprecated:!1},algorithmParameterRef:{kind:"attribute",type:"string",description:"A JCE AlgorithmParameterSpec used to initialize the Cipher. Will lookup the type using the given name as a java.security.spec.AlgorithmParameterSpec type.",title:"Algorithm Parameter Ref",required:!1,deprecated:!1},bufferSize:{kind:"attribute",type:"integer",defaultValue:"4096",description:"The size of the buffer used in the signature process.",title:"Buffer Size",required:!1,deprecated:!1},macAlgorithm:{kind:"attribute",type:"string",defaultValue:"HmacSHA1",description:"The JCE algorithm name indicating the Message Authentication algorithm.",title:"Mac Algorithm",required:!1,deprecated:!1},shouldAppendHMAC:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Flag indicating that a Message Authentication Code should be calculated and appended to the encrypted data.",title:"Should Append HMAC",required:!1,deprecated:!1},inline:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Flag indicating that the configured IV should be inlined into the encrypted data stream. Is by default false.",title:"Inline",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},csv:{type:"object",title:"CSV",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Handle CSV (Comma Separated Values) payloads.",properties:{formatRef:{kind:"attribute",type:"string",description:"The reference format to use, it will be updated with the other format options, the default value is CSVFormat.DEFAULT",title:"Format Ref",required:!1,deprecated:!1},formatName:{kind:"attribute",type:"enum",defaultValue:"DEFAULT",enum:["DEFAULT","EXCEL","INFORMIX_UNLOAD","INFORMIX_UNLOAD_CSV","MYSQL","RFC4180"],description:"The name of the format to use, the default value is CSVFormat.DEFAULT",title:"Format Name",required:!1,deprecated:!1},commentMarkerDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Disables the comment marker of the reference format.",title:"Comment Marker Disabled",required:!1,deprecated:!1},commentMarker:{kind:"attribute",type:"string",description:"Sets the comment marker of the reference format.",title:"Comment Marker",required:!1,deprecated:!1},delimiter:{kind:"attribute",type:"string",description:"Sets the delimiter to use. The default value is , (comma)",title:"Delimiter",required:!1,deprecated:!1},escapeDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Use for disabling using escape character",title:"Escape Disabled",required:!1,deprecated:!1},escape:{kind:"attribute",type:"string",description:"Sets the escape character to use",title:"Escape",required:!1,deprecated:!1},headerDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Use for disabling headers",title:"Header Disabled",required:!1,deprecated:!1},header:{kind:"element",type:"array",description:"To configure the CSV headers",title:"Header",required:!1,deprecated:!1},allowMissingColumnNames:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to allow missing column names.",title:"Allow Missing Column Names",required:!1,deprecated:!1},ignoreEmptyLines:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore empty lines.",title:"Ignore Empty Lines",required:!1,deprecated:!1},ignoreSurroundingSpaces:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore surrounding spaces",title:"Ignore Surrounding Spaces",required:!1,deprecated:!1},nullStringDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used to disable null strings",title:"Null String Disabled",required:!1,deprecated:!1},nullString:{kind:"attribute",type:"string",description:"Sets the null string",title:"Null String",required:!1,deprecated:!1},quoteDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used to disable quotes",title:"Quote Disabled",required:!1,deprecated:!1},quote:{kind:"attribute",type:"string",description:"Sets the quote which by default is",title:"Quote",required:!1,deprecated:!1},recordSeparatorDisabled:{kind:"attribute",type:"string",description:"Used for disabling record separator",title:"Record Separator Disabled",required:!1,deprecated:!1},recordSeparator:{kind:"attribute",type:"string",description:"Sets the record separator (aka new line) which by default is new line characters (CRLF)",title:"Record Separator",required:!1,deprecated:!1},skipHeaderRecord:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip the header record in the output",title:"Skip Header Record",required:!1,deprecated:!1},quoteMode:{kind:"attribute",type:"enum",enum:["ALL","ALL_NON_NULL","MINIMAL","NON_NUMERIC","NONE"],description:"Sets the quote mode",title:"Quote Mode",required:!1,deprecated:!1},ignoreHeaderCase:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether or not to ignore case when accessing header names.",title:"Ignore Header Case",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether or not to trim leading and trailing blanks.",title:"Trim",required:!1,deprecated:!1},trailingDelimiter:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether or not to add a trailing delimiter.",title:"Trailing Delimiter",required:!1,deprecated:!1},marshallerFactoryRef:{kind:"attribute",type:"string",description:"Sets the implementation of the CsvMarshallerFactory interface which is able to customize marshalling/unmarshalling behavior by extending CsvMarshaller or creating it from scratch.",title:"Marshaller Factory Ref",required:!1,deprecated:!1},lazyLoad:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at one.",title:"Lazy Load",required:!1,deprecated:!1},useMaps:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce maps (HashMap)for the lines values instead of lists. It requires to have header (either defined or collected).",title:"Use Maps",required:!1,deprecated:!1},useOrderedMaps:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce ordered maps (LinkedHashMap) for the lines values instead of lists. It requires to have header (either defined or collected).",title:"Use Ordered Maps",required:!1,deprecated:!1},recordConverterRef:{kind:"attribute",type:"string",description:"Refers to a custom CsvRecordConverter to lookup from the registry to use.",title:"Record Converter Ref",required:!1,deprecated:!1},captureHeaderRecord:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should capture the header record and store it in the message header",title:"Capture Header Record",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},custom:{type:"object",title:"Custom",group:"dataformat,transformation",icon:"generic24.png",description:"Delegate to a custom org.apache.camel.spi.DataFormat implementation via Camel registry.",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the custom org.apache.camel.spi.DataFormat to lookup from the Camel registry.",title:"Ref",required:!0,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},dataFormats:{type:"object",title:"Data formats",group:"dataformat,transformation",icon:"generic24.png",description:"Configure data formats.",properties:{dataFormats:{kind:"element",type:"array",description:"A list holding the configured data formats",title:"Data Formats",required:!0,deprecated:!1}}},fhirJson:{type:"object",title:"FHIR JSon",group:"dataformat,transformation,hl7,json",icon:"generic24.png",description:"Marshall and unmarshall FHIR objects to/from JSON.",properties:{fhirVersion:{kind:"attribute",type:"enum",defaultValue:"R4",enum:["DSTU2","DSTU2_HL7ORG","DSTU2_1","DSTU3","R4","R5"],description:"The version of FHIR to use. Possible values are: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4,R5",title:"Fhir Version",required:!1,deprecated:!1},fhirContext:{kind:"attribute",type:"string",description:"To use a custom fhir context. Reference to object of type ca.uhn.fhir.context.FhirContext",title:"Fhir Context",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets the pretty print flag, meaning that the parser will encode resources with human-readable spacing and newlines between elements instead of condensing output as much as possible.",title:"Pretty Print",required:!1,deprecated:!1},parserErrorHandler:{kind:"attribute",type:"string",description:"Registers an error handler which will be invoked when any parse errors are found. Reference to object of type ca.uhn.fhir.parser.IParserErrorHandler",title:"Parser Error Handler",required:!1,deprecated:!1},parserOptions:{kind:"attribute",type:"string",description:"Sets the parser options object which will be used to supply default options to newly created parsers. Reference to object of type ca.uhn.fhir.context.ParserOptions.",title:"Parser Options",required:!1,deprecated:!1},preferTypes:{kind:"attribute",type:"string",description:"If set (FQN class names), when parsing resources the parser will try to use the given types when possible, in the order that they are provided (from highest to lowest priority). For example, if a custom type which declares to implement the Patient resource is passed in here, and the parser is parsing a Bundle containing a Patient resource, the parser will use the given custom type. Multiple class names can be separated by comma.",title:"Prefer Types",required:!1,deprecated:!1},forceResourceId:{kind:"attribute",type:"string",description:"When encoding, force this resource ID to be encoded as the resource ID. Reference to object of type org.hl7.fhir.instance.model.api.IIdType",title:"Force Resource Id",required:!1,deprecated:!1},serverBaseUrl:{kind:"attribute",type:"string",description:"Sets the server's base URL used by this parser. If a value is set, resource references will be turned into relative references if they are provided as absolute URLs but have a base matching the given base.",title:"Server Base Url",required:!1,deprecated:!1},omitResourceId:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false) the ID of any resources being encoded will not be included in the output. Note that this does not apply to contained resources, only to root resources. In other words, if this is set to true, contained resources will still have local IDs but the outer/containing ID will not have an ID.",title:"Omit Resource Id",required:!1,deprecated:!1},encodeElementsAppliesToChildResourcesOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false), the values supplied to setEncodeElements(Set) will not be applied to the root resource (typically a Bundle), but will be applied to any sub-resources contained within it (i.e. search result resources in that bundle)",title:"Encode Elements Applies To Child Resources Only",required:!1,deprecated:!1},encodeElements:{kind:"attribute",type:"string",description:"If provided, specifies the elements which should be encoded, to the exclusion of all others. Multiple elements can be separated by comma when using String parameter. Valid values for this field would include: Patient - Encode patient and all its children Patient.name - Encode only the patient's name Patient.name.family - Encode only the patient's family name .text - Encode the text element on any resource (only the very first position may contain a wildcard) .(mandatory) - This is a special case which causes any mandatory fields (min 0) to be encoded",title:"Encode Elements",required:!1,deprecated:!1},dontEncodeElements:{kind:"attribute",type:"string",description:"If provided, specifies the elements which should NOT be encoded. Multiple elements can be separated by comma when using String parameter. Valid values for this field would include: Patient - Don't encode patient and all its children Patient.name - Don't encode the patient's name Patient.name.family - Don't encode the patient's family name .text - Don't encode the text element on any resource (only the very first position may contain a wildcard) DSTU2 note: Note that values including meta, such as Patient.meta will work for DSTU2 parsers, but values with subelements on meta such as Patient.meta.lastUpdated will only work in DSTU3 mode.",title:"Dont Encode Elements",required:!1,deprecated:!1},stripVersionsFromReferences:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (which is the default), resource references containing a version will have the version removed when the resource is encoded. This is generally good behaviour because in most situations, references from one resource to another should be to the resource by ID, not by ID and version. In some cases though, it may be desirable to preserve the version in resource links. In that case, this value should be set to false. This method provides the ability to globally disable reference encoding. If finer-grained control is needed, use setDontStripVersionsFromReferencesAtPaths(List)",title:"Strip Versions From References",required:!1,deprecated:!1},overrideResourceIdWithBundleEntryFullUrl:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (which is the default), the Bundle.entry.fullUrl will override the Bundle.entry.resource's resource id if the fullUrl is defined. This behavior happens when parsing the source data into a Bundle object. Set this to false if this is not the desired behavior (e.g. the client code wishes to perform additional validation checks between the fullUrl and the resource id).",title:"Override Resource Id With Bundle Entry Full Url",required:!1,deprecated:!1},summaryMode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included.",title:"Summary Mode",required:!1,deprecated:!1},suppressNarratives:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false), narratives will not be included in the encoded values.",title:"Suppress Narratives",required:!1,deprecated:!1},dontStripVersionsFromReferencesAtPaths:{kind:"attribute",type:"string",description:"If supplied value(s), any resource references at the specified paths will have their resource versions encoded instead of being automatically stripped during the encoding process. This setting has no effect on the parsing process. Multiple elements can be separated by comma when using String parameter. This method provides a finer-grained level of control than setStripVersionsFromReferences(String) and any paths specified by this method will be encoded even if setStripVersionsFromReferences(String) has been set to true (which is the default)",title:"Dont Strip Versions From References At Paths",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},fhirXml:{type:"object",title:"FHIR XML",group:"dataformat,transformation,hl7,xml",icon:"generic24.png",description:"Marshall and unmarshall FHIR objects to/from XML.",properties:{fhirVersion:{kind:"attribute",type:"enum",defaultValue:"R4",enum:["DSTU2","DSTU2_HL7ORG","DSTU2_1","DSTU3","R4","R5"],description:"The version of FHIR to use. Possible values are: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4,R5",title:"Fhir Version",required:!1,deprecated:!1},fhirContext:{kind:"attribute",type:"string",description:"To use a custom fhir context. Reference to object of type ca.uhn.fhir.context.FhirContext",title:"Fhir Context",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets the pretty print flag, meaning that the parser will encode resources with human-readable spacing and newlines between elements instead of condensing output as much as possible.",title:"Pretty Print",required:!1,deprecated:!1},parserErrorHandler:{kind:"attribute",type:"string",description:"Registers an error handler which will be invoked when any parse errors are found. Reference to object of type ca.uhn.fhir.parser.IParserErrorHandler",title:"Parser Error Handler",required:!1,deprecated:!1},parserOptions:{kind:"attribute",type:"string",description:"Sets the parser options object which will be used to supply default options to newly created parsers. Reference to object of type ca.uhn.fhir.context.ParserOptions.",title:"Parser Options",required:!1,deprecated:!1},preferTypes:{kind:"attribute",type:"string",description:"If set (FQN class names), when parsing resources the parser will try to use the given types when possible, in the order that they are provided (from highest to lowest priority). For example, if a custom type which declares to implement the Patient resource is passed in here, and the parser is parsing a Bundle containing a Patient resource, the parser will use the given custom type. Multiple class names can be separated by comma.",title:"Prefer Types",required:!1,deprecated:!1},forceResourceId:{kind:"attribute",type:"string",description:"When encoding, force this resource ID to be encoded as the resource ID. Reference to object of type org.hl7.fhir.instance.model.api.IIdType",title:"Force Resource Id",required:!1,deprecated:!1},serverBaseUrl:{kind:"attribute",type:"string",description:"Sets the server's base URL used by this parser. If a value is set, resource references will be turned into relative references if they are provided as absolute URLs but have a base matching the given base.",title:"Server Base Url",required:!1,deprecated:!1},omitResourceId:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false) the ID of any resources being encoded will not be included in the output. Note that this does not apply to contained resources, only to root resources. In other words, if this is set to true, contained resources will still have local IDs but the outer/containing ID will not have an ID.",title:"Omit Resource Id",required:!1,deprecated:!1},encodeElementsAppliesToChildResourcesOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false), the values supplied to setEncodeElements(Set) will not be applied to the root resource (typically a Bundle), but will be applied to any sub-resources contained within it (i.e. search result resources in that bundle)",title:"Encode Elements Applies To Child Resources Only",required:!1,deprecated:!1},encodeElements:{kind:"attribute",type:"string",description:"If provided, specifies the elements which should be encoded, to the exclusion of all others. Multiple elements can be separated by comma when using String parameter. Valid values for this field would include: Patient - Encode patient and all its children Patient.name - Encode only the patient's name Patient.name.family - Encode only the patient's family name .text - Encode the text element on any resource (only the very first position may contain a wildcard) .(mandatory) - This is a special case which causes any mandatory fields (min 0) to be encoded",title:"Encode Elements",required:!1,deprecated:!1},dontEncodeElements:{kind:"attribute",type:"string",description:"If provided, specifies the elements which should NOT be encoded. Multiple elements can be separated by comma when using String parameter. Valid values for this field would include: Patient - Don't encode patient and all its children Patient.name - Don't encode the patient's name Patient.name.family - Don't encode the patient's family name .text - Don't encode the text element on any resource (only the very first position may contain a wildcard) DSTU2 note: Note that values including meta, such as Patient.meta will work for DSTU2 parsers, but values with subelements on meta such as Patient.meta.lastUpdated will only work in DSTU3 mode.",title:"Dont Encode Elements",required:!1,deprecated:!1},stripVersionsFromReferences:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (which is the default), resource references containing a version will have the version removed when the resource is encoded. This is generally good behaviour because in most situations, references from one resource to another should be to the resource by ID, not by ID and version. In some cases though, it may be desirable to preserve the version in resource links. In that case, this value should be set to false. This method provides the ability to globally disable reference encoding. If finer-grained control is needed, use setDontStripVersionsFromReferencesAtPaths(List)",title:"Strip Versions From References",required:!1,deprecated:!1},overrideResourceIdWithBundleEntryFullUrl:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (which is the default), the Bundle.entry.fullUrl will override the Bundle.entry.resource's resource id if the fullUrl is defined. This behavior happens when parsing the source data into a Bundle object. Set this to false if this is not the desired behavior (e.g. the client code wishes to perform additional validation checks between the fullUrl and the resource id).",title:"Override Resource Id With Bundle Entry Full Url",required:!1,deprecated:!1},summaryMode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included.",title:"Summary Mode",required:!1,deprecated:!1},suppressNarratives:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false), narratives will not be included in the encoded values.",title:"Suppress Narratives",required:!1,deprecated:!1},dontStripVersionsFromReferencesAtPaths:{kind:"attribute",type:"string",description:"If supplied value(s), any resource references at the specified paths will have their resource versions encoded instead of being automatically stripped during the encoding process. This setting has no effect on the parsing process. Multiple elements can be separated by comma when using String parameter. This method provides a finer-grained level of control than setStripVersionsFromReferences(String) and any paths specified by this method will be encoded even if setStripVersionsFromReferences(String) has been set to true (which is the default)",title:"Dont Strip Versions From References At Paths",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},flatpack:{type:"object",title:"Flatpack",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java lists and maps to/from flat files (such as CSV, delimited, or fixed length formats) using Flatpack library.",properties:{definition:{kind:"attribute",type:"string",description:"The flatpack pzmap configuration file. Can be omitted in simpler situations, but its preferred to use the pzmap.",title:"Definition",required:!1,deprecated:!1},fixed:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Delimited or fixed. Is by default false = delimited",title:"Fixed",required:!1,deprecated:!1},delimiter:{kind:"attribute",type:"string",defaultValue:",",description:"The delimiter char (could be ; , or similar)",title:"Delimiter",required:!1,deprecated:!1},ignoreFirstRecord:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the first line is ignored for delimited files (for the column headers). Is by default true.",title:"Ignore First Record",required:!1,deprecated:!1},allowShortLines:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Allows for lines to be shorter than expected and ignores the extra characters",title:"Allow Short Lines",required:!1,deprecated:!1},ignoreExtraColumns:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Allows for lines to be longer than expected and ignores the extra characters.",title:"Ignore Extra Columns",required:!1,deprecated:!1},textQualifier:{kind:"attribute",type:"string",description:"If the text is qualified with a character. Uses quote character by default.",title:"Text Qualifier",required:!1,deprecated:!1},parserFactoryRef:{kind:"attribute",type:"string",description:"References to a custom parser factory to lookup in the registry",title:"Parser Factory Ref",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},grok:{type:"object",title:"Grok",group:"dataformat,transformation",icon:"generic24.png",description:"Unmarshal unstructured data to objects using Logstash based Grok patterns.",properties:{pattern:{kind:"attribute",type:"string",description:"The grok pattern to match lines of input",title:"Pattern",required:!1,deprecated:!1},flattened:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Turns on flattened mode. In flattened mode the exception is thrown when there are multiple pattern matches with same key.",title:"Flattened",required:!1,deprecated:!1},allowMultipleMatchesPerLine:{kind:"attribute",type:"boolean",defaultValue:"true",description:"If false, every line of input is matched for pattern only once. Otherwise the line can be scanned multiple times when non-terminal pattern is used.",title:"Allow Multiple Matches Per Line",required:!1,deprecated:!1},namedOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to capture named expressions only or not (i.e. %{IP:ip} but not ${IP})",title:"Named Only",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},gzipDeflater:{type:"object",title:"GZip Deflater",group:"dataformat,transformation",icon:"generic24.png",description:"Compress and decompress messages using java.util.zip.GZIPStream.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},hl7:{type:"object",title:"HL7",group:"dataformat,transformation,hl7",icon:"generic24.png",description:"Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec.",properties:{validate:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to validate the HL7 message Is by default true.",title:"Validate",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},ical:{type:"object",title:"iCal",group:"dataformat,transformation",icon:"generic24.png",description:"Marshal and unmarshal iCal (.ics) documents to/from model objects.",properties:{validating:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to validate.",title:"Validating",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},jacksonXml:{type:"object",title:"Jackson XML",group:"dataformat,transformation,xml",icon:"generic24.png",description:"Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson.",properties:{xmlMapper:{kind:"attribute",type:"string",description:"Lookup and use the existing XmlMapper with the given id.",title:"Xml Mapper",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To enable pretty printing output nicely formatted. Is by default false.",title:"Pretty Print",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},allowUnmarshallType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used.",title:"Allow Unmarshall Type",required:!1,deprecated:!1},jsonView:{kind:"attribute",type:"string",description:"When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations",title:"Json View",required:!1,deprecated:!1},include:{kind:"attribute",type:"string",description:"If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null values, you can set this option to NON_NULL",title:"Include",required:!1,deprecated:!1},allowJmsType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.",title:"Allow Jms Type",required:!1,deprecated:!1},collectionType:{kind:"attribute",type:"string",description:"Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows to use different collection types than java.util.Collection based as default.",title:"Collection Type",required:!1,deprecated:!1},useList:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To unmarshal to a List of Map or a List of Pojo.",title:"Use List",required:!1,deprecated:!1},timezone:{kind:"attribute",type:"string",description:"If set then Jackson will use the Timezone when marshalling/unmarshalling.",title:"Timezone",required:!1,deprecated:!1},enableJaxbAnnotationModule:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable the JAXB annotations module when using jackson. When enabled then JAXB annotations can be used by Jackson.",title:"Enable Jaxb Annotation Module",required:!1,deprecated:!1},moduleClassNames:{kind:"attribute",type:"string",description:"To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma.",title:"Module Class Names",required:!1,deprecated:!1},moduleRefs:{kind:"attribute",type:"string",description:"To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.",title:"Module Refs",required:!1,deprecated:!1},enableFeatures:{kind:"attribute",type:"string",description:"Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Enable Features",required:!1,deprecated:!1},disableFeatures:{kind:"attribute",type:"string",description:"Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Disable Features",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},jaxb:{type:"object",title:"JAXB",group:"dataformat,transformation,xml",icon:"generic24.png",description:"Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard.",properties:{contextPath:{kind:"attribute",type:"string",description:"Package name where your JAXB classes are located.",title:"Context Path",required:!0,deprecated:!1},contextPathIsClassName:{kind:"attribute",type:"boolean",defaultValue:"false",description:"This can be set to true to mark that the contextPath is referring to a classname and not a package name.",title:"Context Path Is Class Name",required:!1,deprecated:!1},schema:{kind:"attribute",type:"string",description:"To validate against an existing schema. Your can use the prefix classpath:, file: or http: to specify how the resource should be resolved. You can separate multiple schema files by using the ',' character.",title:"Schema",required:!1,deprecated:!1},schemaSeverityLevel:{kind:"attribute",type:"enum",defaultValue:"0",enum:["0","1","2"],description:"Sets the schema severity level to use when validating against a schema. This level determines the minimum severity error that triggers JAXB to stop continue parsing. The default value of 0 (warning) means that any error (warning, error or fatal error) will trigger JAXB to stop. There are the following three levels: 0=warning, 1=error, 2=fatal error.",title:"Schema Severity Level",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To enable pretty printing output nicely formatted. Is by default false.",title:"Pretty Print",required:!1,deprecated:!1},objectFactory:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to allow using ObjectFactory classes to create the POJO classes during marshalling. This only applies to POJO classes that has not been annotated with JAXB and providing jaxb.index descriptor files.",title:"Object Factory",required:!1,deprecated:!1},ignoreJAXBElement:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases.",title:"Ignore JAXBElement",required:!1,deprecated:!1},mustBeJAXBElement:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether marhsalling must be java objects with JAXB annotations. And if not then it fails. This option can be set to false to relax that, such as when the data is already in XML format.",title:"Must Be JAXBElement",required:!1,deprecated:!1},filterNonXmlChars:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To ignore non xml characheters and replace them with an empty space.",title:"Filter Non Xml Chars",required:!1,deprecated:!1},encoding:{kind:"attribute",type:"string",description:"To overrule and use a specific encoding",title:"Encoding",required:!1,deprecated:!1},fragment:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To turn on marshalling XML fragment trees. By default JAXB looks for XmlRootElement annotation on given class to operate on whole XML tree. This is useful but not always - sometimes generated code does not have XmlRootElement annotation, sometimes you need unmarshall only part of tree. In that case you can use partial unmarshalling. To enable this behaviours you need set property partClass. Camel will pass this class to JAXB's unmarshaler.",title:"Fragment",required:!1,deprecated:!1},partClass:{kind:"attribute",type:"string",description:"Name of class used for fragment parsing. See more details at the fragment option.",title:"Part Class",required:!1,deprecated:!1},partNamespace:{kind:"attribute",type:"string",description:"XML namespace to use for fragment parsing. See more details at the fragment option.",title:"Part Namespace",required:!1,deprecated:!1},namespacePrefixRef:{kind:"attribute",type:"string",description:"When marshalling using JAXB or SOAP then the JAXB implementation will automatic assign namespace prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer to a map which contains the desired mapping.",title:"Namespace Prefix Ref",required:!1,deprecated:!1},xmlStreamWriterWrapper:{kind:"attribute",type:"string",description:"To use a custom xml stream writer.",title:"Xml Stream Writer Wrapper",required:!1,deprecated:!1},schemaLocation:{kind:"attribute",type:"string",description:"To define the location of the schema",title:"Schema Location",required:!1,deprecated:!1},noNamespaceSchemaLocation:{kind:"attribute",type:"string",description:"To define the location of the namespaceless schema",title:"No Namespace Schema Location",required:!1,deprecated:!1},jaxbProviderProperties:{kind:"attribute",type:"string",description:"Refers to a custom java.util.Map to lookup in the registry containing custom JAXB provider properties to be used with the JAXB marshaller.",title:"Jaxb Provider Properties",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},accessExternalSchemaProtocols:{kind:"attribute",type:"string",defaultValue:"false",description:"Only in use if schema validation has been enabled. Restrict access to the protocols specified for external reference set by the schemaLocation attribute, Import and Include element. Examples of protocols are file, http, jar:file. false or none to deny all access to external references; a specific protocol, such as file, to give permission to only the protocol; the keyword all to grant permission to all protocols.",title:"Access External Schema Protocols",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},json:{type:"object",title:"JSon",group:"dataformat,transformation,json",icon:"generic24.png",description:"Marshal POJOs to JSON and back.",properties:{objectMapper:{kind:"attribute",type:"string",description:"Lookup and use the existing ObjectMapper with the given id when using Jackson.",title:"Object Mapper",required:!1,deprecated:!1},useDefaultObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to lookup and use default Jackson ObjectMapper from the registry.",title:"Use Default Object Mapper",required:!1,deprecated:!1},autoDiscoverObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true then Jackson will look for an objectMapper to use from the registry",title:"Auto Discover Object Mapper",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To enable pretty printing output nicely formatted. Is by default false.",title:"Pretty Print",required:!1,deprecated:!1},library:{kind:"attribute",type:"enum",defaultValue:"Jackson",enum:["Fastjson","Gson","Jackson","Johnzon","Jsonb"],description:"Which json library to use.",title:"Library",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},jsonView:{kind:"attribute",type:"string",description:"When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations",title:"Json View",required:!1,deprecated:!1},include:{kind:"attribute",type:"string",description:"If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null values, you can set this option to NON_NULL",title:"Include",required:!1,deprecated:!1},allowJmsType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.",title:"Allow Jms Type",required:!1,deprecated:!1},collectionType:{kind:"attribute",type:"string",description:"Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows using different collection types than java.util.Collection based as default.",title:"Collection Type",required:!1,deprecated:!1},useList:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To unmarshal to a List of Map or a List of Pojo.",title:"Use List",required:!1,deprecated:!1},moduleClassNames:{kind:"attribute",type:"string",description:"To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma.",title:"Module Class Names",required:!1,deprecated:!1},moduleRefs:{kind:"attribute",type:"string",description:"To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.",title:"Module Refs",required:!1,deprecated:!1},enableFeatures:{kind:"attribute",type:"string",description:"Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Enable Features",required:!1,deprecated:!1},disableFeatures:{kind:"attribute",type:"string",description:"Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Disable Features",required:!1,deprecated:!1},allowUnmarshallType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used.",title:"Allow Unmarshall Type",required:!1,deprecated:!1},timezone:{kind:"attribute",type:"string",description:"If set then Jackson will use the Timezone when marshalling/unmarshalling. This option will have no effect on the others Json DataFormat, like gson and fastjson.",title:"Timezone",required:!1,deprecated:!1},schemaResolver:{kind:"attribute",type:"string",description:"Optional schema resolver used to lookup schemas for the data in transit.",title:"Schema Resolver",required:!1,deprecated:!1},autoDiscoverSchemaResolver:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When not disabled, the SchemaResolver will be looked up into the registry",title:"Auto Discover Schema Resolver",required:!1,deprecated:!1},namingStrategy:{kind:"attribute",type:"string",description:"If set then Jackson will use the the defined Property Naming Strategy.Possible values are: LOWER_CAMEL_CASE, LOWER_DOT_CASE, LOWER_CASE, KEBAB_CASE, SNAKE_CASE and UPPER_CAMEL_CASE",title:"Naming Strategy",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},dateFormatPattern:{kind:"attribute",type:"string",description:"To configure the date format while marshall or unmarshall Date fields in JSON using Gson",title:"Date Format Pattern",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},jsonApi:{type:"object",title:"JSonApi",group:"dataformat,transformation",icon:"generic24.png",description:"Marshal and unmarshal JSON:API resources using JSONAPI-Converter library.",properties:{dataFormatTypes:{kind:"attribute",type:"string",description:"The classes to take into account for the marshalling. Multiple classes can be separated by comma.",title:"Data Format Types",required:!1,deprecated:!1},mainFormatType:{kind:"attribute",type:"string",description:"The class to take into account while unmarshalling.",title:"Main Format Type",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},lzf:{type:"object",title:"LZF Deflate Compression",group:"dataformat,transformation",icon:"generic24.png",description:"Compress and decompress streams using LZF deflate algorithm.",properties:{usingParallelCompression:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enable encoding (compress) using multiple processing cores.",title:"Using Parallel Compression",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},marshal:{type:"object",title:"Marshal",group:"dataformat,transformation",icon:"marshal24.png",description:"Marshals data into a specified format for transmission over a transport or component",properties:{dataFormatType:{kind:"element",type:"object",description:"The data format to be used",title:"Data Format Type",required:!0,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},mimeMultipart:{type:"object",title:"MIME Multipart",group:"dataformat,transformation",icon:"generic24.png",description:"Marshal Camel messages with attachments into MIME-Multipart messages and back.",properties:{multipartSubType:{kind:"attribute",type:"string",defaultValue:"mixed",description:"Specify the subtype of the MIME Multipart. Default is mixed.",title:"Multipart Sub Type",required:!1,deprecated:!1},multipartWithoutAttachment:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Defines whether a message without attachment is also marshaled into a MIME Multipart (with only one body part). Default is false.",title:"Multipart Without Attachment",required:!1,deprecated:!1},headersInline:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Defines whether the MIME-Multipart headers are part of the message body (true) or are set as Camel headers (false). Default is false.",title:"Headers Inline",required:!1,deprecated:!1},includeHeaders:{kind:"attribute",type:"string",description:"A regex that defines which Camel headers are also included as MIME headers into the MIME multipart. This will only work if headersInline is set to true. Default is to include no headers",title:"Include Headers",required:!1,deprecated:!1},binaryContent:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Defines whether the content of binary parts in the MIME multipart is binary (true) or Base-64 encoded (false) Default is false.",title:"Binary Content",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},parquetAvro:{type:"object",title:"Parquet File",group:"dataformat,transformation,file",icon:"generic24.png",description:"Parquet Avro serialization and de-serialization.",properties:{compressionCodecName:{kind:"attribute",type:"string",defaultValue:"GZIP",description:"Compression codec to use when marshalling.",title:"Compression Codec Name",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class to use when (un)marshalling. If omitted, parquet files are converted into Avro's GenericRecords for unmarshalling and input objects are assumed as GenericRecords for marshalling.",title:"Unmarshal Type",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},pgp:{type:"object",title:"PGP",group:"dataformat,transformation,security",icon:"generic24.png",description:"Encrypt and decrypt messages using Java Cryptographic Extension (JCE) and PGP.",properties:{keyUserid:{kind:"attribute",type:"string",description:"The user ID of the key in the PGP keyring used during encryption. Can also be only a part of a user ID. For example, if the user ID is Test User then you can use the part Test User or to address the user ID.",title:"Key Userid",required:!1,deprecated:!1},signatureKeyUserid:{kind:"attribute",type:"string",description:"User ID of the key in the PGP keyring used for signing (during encryption) or signature verification (during decryption). During the signature verification process the specified User ID restricts the public keys from the public keyring which can be used for the verification. If no User ID is specified for the signature verficiation then any public key in the public keyring can be used for the verification. Can also be only a part of a user ID. For example, if the user ID is Test User then you can use the part Test User or to address the User ID.",title:"Signature Key Userid",required:!1,deprecated:!1},password:{kind:"attribute",type:"string",description:"Password used when opening the private key (not used for encryption).",title:"Password",required:!1,deprecated:!1},signaturePassword:{kind:"attribute",type:"string",description:"Password used when opening the private key used for signing (during encryption).",title:"Signature Password",required:!1,deprecated:!1},keyFileName:{kind:"attribute",type:"string",description:"Filename of the keyring; must be accessible as a classpath resource (but you can specify a location in the file system by using the file: prefix).",title:"Key File Name",required:!1,deprecated:!1},signatureKeyFileName:{kind:"attribute",type:"string",description:"Filename of the keyring to use for signing (during encryption) or for signature verification (during decryption); must be accessible as a classpath resource (but you can specify a location in the file system by using the file: prefix).",title:"Signature Key File Name",required:!1,deprecated:!1},signatureKeyRing:{kind:"attribute",type:"string",description:"Keyring used for signing/verifying as byte array. You can not set the signatureKeyFileName and signatureKeyRing at the same time.",title:"Signature Key Ring",required:!1,deprecated:!1},armored:{kind:"attribute",type:"boolean",defaultValue:"false",description:"This option will cause PGP to base64 encode the encrypted text, making it available for copy/paste, etc.",title:"Armored",required:!1,deprecated:!1},integrity:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Adds an integrity check/sign into the encryption file. The default value is true.",title:"Integrity",required:!1,deprecated:!1},provider:{kind:"attribute",type:"string",description:"Java Cryptography Extension (JCE) provider, default is Bouncy Castle (BC). Alternatively you can use, for example, the IAIK JCE provider; in this case the provider must be registered beforehand and the Bouncy Castle provider must not be registered beforehand. The Sun JCE provider does not work.",title:"Provider",required:!1,deprecated:!1},algorithm:{kind:"attribute",type:"integer",description:"Symmetric key encryption algorithm; possible values are defined in org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags; for example 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6 (= DES), 7 (= AES_128). Only relevant for encrypting.",title:"Algorithm",required:!1,deprecated:!1},compressionAlgorithm:{kind:"attribute",type:"integer",description:"Compression algorithm; possible values are defined in org.bouncycastle.bcpg.CompressionAlgorithmTags; for example 0 (= UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for encrypting.",title:"Compression Algorithm",required:!1,deprecated:!1},hashAlgorithm:{kind:"attribute",type:"integer",description:"Signature hash algorithm; possible values are defined in org.bouncycastle.bcpg.HashAlgorithmTags; for example 2 (= SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224). Only relevant for signing.",title:"Hash Algorithm",required:!1,deprecated:!1},signatureVerificationOption:{kind:"attribute",type:"string",description:"Controls the behavior for verifying the signature during unmarshaling. There are 4 values possible: optional: The PGP message may or may not contain signatures; if it does contain signatures, then a signature verification is executed. required: The PGP message must contain at least one signature; if this is not the case an exception (PGPException) is thrown. A signature verification is executed. ignore: Contained signatures in the PGP message are ignored; no signature verification is executed. no_signature_allowed: The PGP message must not contain a signature; otherwise an exception (PGPException) is thrown.",title:"Signature Verification Option",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},protobuf:{type:"object",title:"Protobuf",group:"dataformat,transformation",icon:"generic24.png",description:"Serialize and deserialize Java objects using Google's Protocol buffers.",properties:{instanceClass:{kind:"attribute",type:"string",description:"Name of class to use when unmarshalling",title:"Instance Class",required:!1,deprecated:!1},objectMapper:{kind:"attribute",type:"string",description:"Lookup and use the existing ObjectMapper with the given id when using Jackson.",title:"Object Mapper",required:!1,deprecated:!1},useDefaultObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to lookup and use default Jackson ObjectMapper from the registry.",title:"Use Default Object Mapper",required:!1,deprecated:!1},autoDiscoverObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true then Jackson will lookup for an objectMapper into the registry",title:"Auto Discover Object Mapper",required:!1,deprecated:!1},library:{kind:"attribute",type:"enum",defaultValue:"GoogleProtobuf",enum:["GoogleProtobuf","Jackson"],description:"Which Protobuf library to use.",title:"Library",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},jsonView:{kind:"attribute",type:"string",description:"When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations",title:"Json View",required:!1,deprecated:!1},include:{kind:"attribute",type:"string",description:"If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null values, you can set this option to NON_NULL",title:"Include",required:!1,deprecated:!1},allowJmsType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.",title:"Allow Jms Type",required:!1,deprecated:!1},collectionType:{kind:"attribute",type:"string",description:"Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows to use different collection types than java.util.Collection based as default.",title:"Collection Type",required:!1,deprecated:!1},useList:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To unmarshal to a List of Map or a List of Pojo.",title:"Use List",required:!1,deprecated:!1},moduleClassNames:{kind:"attribute",type:"string",description:"To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma.",title:"Module Class Names",required:!1,deprecated:!1},moduleRefs:{kind:"attribute",type:"string",description:"To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.",title:"Module Refs",required:!1,deprecated:!1},enableFeatures:{kind:"attribute",type:"string",description:"Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Enable Features",required:!1,deprecated:!1},disableFeatures:{kind:"attribute",type:"string",description:"Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Disable Features",required:!1,deprecated:!1},allowUnmarshallType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used.",title:"Allow Unmarshall Type",required:!1,deprecated:!1},timezone:{kind:"attribute",type:"string",description:"If set then Jackson will use the Timezone when marshalling/unmarshalling.",title:"Timezone",required:!1,deprecated:!1},schemaResolver:{kind:"attribute",type:"string",description:"Optional schema resolver used to lookup schemas for the data in transit.",title:"Schema Resolver",required:!1,deprecated:!1},autoDiscoverSchemaResolver:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When not disabled, the SchemaResolver will be looked up into the registry",title:"Auto Discover Schema Resolver",required:!1,deprecated:!1},contentTypeFormat:{kind:"attribute",type:"enum",defaultValue:"native",enum:["native","json"],description:"Defines a content type format in which protobuf message will be serialized/deserialized from(to) the Java been. The format can either be native or json for either native protobuf or json fields representation. The default value is native.",title:"Content Type Format",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},rss:{type:"object",title:"RSS",group:"dataformat,transformation",icon:"generic24.png",description:"Transform from ROME SyndFeed Java Objects to XML and vice-versa.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},soap:{type:"object",title:"SOAP",group:"dataformat,transformation,xml",icon:"generic24.png",description:"Marshal Java objects to SOAP messages and back.",properties:{contextPath:{kind:"attribute",type:"string",description:"Package name where your JAXB classes are located.",title:"Context Path",required:!0,deprecated:!1},encoding:{kind:"attribute",type:"string",description:"To overrule and use a specific encoding",title:"Encoding",required:!1,deprecated:!1},elementNameStrategyRef:{kind:"attribute",type:"string",description:"Refers to an element strategy to lookup from the registry. An element name strategy is used for two purposes. The first is to find a xml element name for a given object and soap action when marshaling the object into a SOAP message. The second is to find an Exception class for a given soap fault name. The following three element strategy class name is provided out of the box. QNameStrategy - Uses a fixed qName that is configured on instantiation. Exception lookup is not supported TypeNameStrategy - Uses the name and namespace from the XMLType annotation of the given type. If no namespace is set then package-info is used. Exception lookup is not supported ServiceInterfaceStrategy - Uses information from a webservice interface to determine the type name and to find the exception class for a SOAP fault All three classes is located in the package name org.apache.camel.dataformat.soap.name If you have generated the web service stub code with cxf-codegen or a similar tool then you probably will want to use the ServiceInterfaceStrategy. In the case you have no annotated service interface you should use QNameStrategy or TypeNameStrategy.",title:"Element Name Strategy Ref",required:!1,deprecated:!1},version:{kind:"attribute",type:"enum",defaultValue:"1.1",enum:["1.1","1.2"],description:"SOAP version should either be 1.1 or 1.2. Is by default 1.1",title:"Version",required:!1,deprecated:!1},namespacePrefixRef:{kind:"attribute",type:"string",description:"When marshalling using JAXB or SOAP then the JAXB implementation will automatic assign namespace prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer to a map which contains the desired mapping.",title:"Namespace Prefix Ref",required:!1,deprecated:!1},schema:{kind:"attribute",type:"string",description:"To validate against an existing schema. Your can use the prefix classpath:, file: or http: to specify how the resource should be resolved. You can separate multiple schema files by using the ',' character.",title:"Schema",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},swiftMt:{type:"object",title:"SWIFT MT",group:"dataformat,transformation,swift",icon:"generic24.png",description:"Encode and decode SWIFT MT messages.",properties:{writeInJson:{kind:"attribute",type:"boolean",defaultValue:"false",description:"The flag indicating that messages must be marshalled in a JSON format.",title:"Write In Json",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},swiftMx:{type:"object",title:"SWIFT MX",group:"dataformat,transformation,swift",icon:"generic24.png",description:"Encode and decode SWIFT MX messages.",properties:{writeConfigRef:{kind:"attribute",type:"string",description:"Refers to a specific configuration to use when marshalling a message to lookup from the registry.",title:"Write Config Ref",required:!1,deprecated:!1},writeInJson:{kind:"attribute",type:"boolean",defaultValue:"false",description:"The flag indicating that messages must be marshalled in a JSON format.",title:"Write In Json",required:!1,deprecated:!1},readMessageId:{kind:"attribute",type:"string",description:"The type of MX message to produce when unmarshalling an input stream. If not set, it will be automatically detected from the namespace used.",title:"Read Message Id",required:!1,deprecated:!1},readConfigRef:{kind:"attribute",type:"string",description:"Refers to a specific configuration to use when unmarshalling an input stream to lookup from the registry.",title:"Read Config Ref",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},syslog:{type:"object",title:"Syslog",group:"dataformat,transformation,monitoring",icon:"generic24.png",description:"Marshall SyslogMessages to RFC3164 and RFC5424 messages and back.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},tarFile:{type:"object",title:"Tar File",group:"dataformat,transformation,file",icon:"generic24.png",description:"Archive files into tarballs or extract files from tarballs.",properties:{usingIterator:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the tar file has more than one entry, the setting this option to true, allows working with the splitter EIP, to split the data using an iterator in a streaming mode.",title:"Using Iterator",required:!1,deprecated:!1},allowEmptyDirectory:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the tar file has more than one entry, setting this option to true, allows to get the iterator even if the directory is empty",title:"Allow Empty Directory",required:!1,deprecated:!1},preservePathElements:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the file name contains path elements, setting this option to true, allows the path to be maintained in the tar file.",title:"Preserve Path Elements",required:!1,deprecated:!1},maxDecompressedSize:{kind:"attribute",type:"integer",defaultValue:"1073741824",description:"Set the maximum decompressed size of a tar file (in bytes). The default value if not specified corresponds to 1 gigabyte. An IOException will be thrown if the decompressed size exceeds this amount. Set to -1 to disable setting a maximum decompressed size.",title:"Max Decompressed Size",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},thrift:{type:"object",title:"Thrift",group:"dataformat,transformation",icon:"generic24.png",description:"Serialize and deserialize messages using Apache Thrift binary data format.",properties:{instanceClass:{kind:"attribute",type:"string",description:"Name of class to use when unmarshalling",title:"Instance Class",required:!1,deprecated:!1},contentTypeFormat:{kind:"attribute",type:"enum",defaultValue:"binary",enum:["binary","json","sjson"],description:"Defines a content type format in which thrift message will be serialized/deserialized from(to) the Java been. The format can either be native or json for either native binary thrift, json or simple json fields representation. The default value is binary.",title:"Content Type Format",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},tidyMarkup:{type:"object",title:"TidyMarkup",group:"dataformat,transformation",icon:"generic24.png",description:"Parse (potentially invalid) HTML into valid HTML or DOM.",properties:{dataObjectType:{kind:"attribute",type:"enum",defaultValue:"org.w3c.dom.Node",enum:["org.w3c.dom.Node","java.lang.String"],description:"What data type to unmarshal as, can either be org.w3c.dom.Node or java.lang.String. Is by default org.w3c.dom.Node",title:"Data Object Type",required:!1,deprecated:!1},omitXmlDeclaration:{kind:"attribute",type:"boolean",defaultValue:"false",description:"When returning a String, do we omit the XML declaration in the top.",title:"Omit Xml Declaration",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},typeFilter:{type:"object",title:"YAML Type Filter",group:"dataformat,transformation,yaml",icon:"generic24.png",description:"",properties:{value:{kind:"attribute",type:"string",description:"Value of type such as class name or regular expression",title:"Value",required:!1,deprecated:!1},type:{kind:"attribute",type:"object",description:"Whether to filter by class type or regular expression",title:"Type",required:!1,deprecated:!1}}},univocityCsv:{type:"object",title:"uniVocity CSV",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java objects from and to CSV (Comma Separated Values) using UniVocity Parsers.",properties:{delimiter:{kind:"attribute",type:"string",defaultValue:",",description:"The delimiter of values",title:"Delimiter",required:!1,deprecated:!1},quoteAllFields:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not all values must be quoted when writing them.",title:"Quote All Fields",required:!1,deprecated:!1},quote:{kind:"attribute",type:"string",defaultValue:'\\"',description:"The quote symbol.",title:"Quote",required:!1,deprecated:!1},quoteEscape:{kind:"attribute",type:"string",defaultValue:'\\"',description:"The quote escape symbol",title:"Quote Escape",required:!1,deprecated:!1},nullValue:{kind:"attribute",type:"string",description:"The string representation of a null value. The default value is null",title:"Null Value",required:!1,deprecated:!1},skipEmptyLines:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the empty lines must be ignored. The default value is true",title:"Skip Empty Lines",required:!1,deprecated:!1},ignoreTrailingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the trailing white spaces must be ignored. The default value is true",title:"Ignore Trailing Whitespaces",required:!1,deprecated:!1},ignoreLeadingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the leading white spaces must be ignored. The default value is true",title:"Ignore Leading Whitespaces",required:!1,deprecated:!1},headersDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the headers are disabled. When defined, this option explicitly sets the headers as null which indicates that there is no header. The default value is false",title:"Headers Disabled",required:!1,deprecated:!1},headerExtractionEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the header must be read in the first line of the test document The default value is false",title:"Header Extraction Enabled",required:!1,deprecated:!1},numberOfRecordsToRead:{kind:"attribute",type:"integer",description:"The maximum number of record to read.",title:"Number Of Records To Read",required:!1,deprecated:!1},emptyValue:{kind:"attribute",type:"string",description:"The String representation of an empty value",title:"Empty Value",required:!1,deprecated:!1},lineSeparator:{kind:"attribute",type:"string",description:"The line separator of the files The default value is to use the JVM platform line separator",title:"Line Separator",required:!1,deprecated:!1},normalizedLineSeparator:{kind:"attribute",type:"string",defaultValue:"\\n",description:"The normalized line separator of the files The default value is a new line character.",title:"Normalized Line Separator",required:!1,deprecated:!1},comment:{kind:"attribute",type:"string",defaultValue:"#",description:"The comment symbol. The default value is #",title:"Comment",required:!1,deprecated:!1},lazyLoad:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at one. The default value is false",title:"Lazy Load",required:!1,deprecated:!1},asMap:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have header (either defined or collected). The default value is false",title:"As Map",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},univocityFixed:{type:"object",title:"uniVocity Fixed Length",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java objects from and to fixed length records using UniVocity Parsers.",properties:{padding:{kind:"attribute",type:"string",description:"The padding character. The default value is a space",title:"Padding",required:!1,deprecated:!1},skipTrailingCharsUntilNewline:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the trailing characters until new line must be ignored. The default value is false",title:"Skip Trailing Chars Until Newline",required:!1,deprecated:!1},recordEndsOnNewline:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the record ends on new line. The default value is false",title:"Record Ends On Newline",required:!1,deprecated:!1},nullValue:{kind:"attribute",type:"string",description:"The string representation of a null value. The default value is null",title:"Null Value",required:!1,deprecated:!1},skipEmptyLines:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the empty lines must be ignored. The default value is true",title:"Skip Empty Lines",required:!1,deprecated:!1},ignoreTrailingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the trailing white spaces must be ignored. The default value is true",title:"Ignore Trailing Whitespaces",required:!1,deprecated:!1},ignoreLeadingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the leading white spaces must be ignored. The default value is true",title:"Ignore Leading Whitespaces",required:!1,deprecated:!1},headersDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the headers are disabled. When defined, this option explicitly sets the headers as null which indicates that there is no header. The default value is false",title:"Headers Disabled",required:!1,deprecated:!1},headerExtractionEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the header must be read in the first line of the test document The default value is false",title:"Header Extraction Enabled",required:!1,deprecated:!1},numberOfRecordsToRead:{kind:"attribute",type:"integer",description:"The maximum number of record to read.",title:"Number Of Records To Read",required:!1,deprecated:!1},emptyValue:{kind:"attribute",type:"string",description:"The String representation of an empty value",title:"Empty Value",required:!1,deprecated:!1},lineSeparator:{kind:"attribute",type:"string",description:"The line separator of the files The default value is to use the JVM platform line separator",title:"Line Separator",required:!1,deprecated:!1},normalizedLineSeparator:{kind:"attribute",type:"string",defaultValue:"\\n",description:"The normalized line separator of the files The default value is a new line character.",title:"Normalized Line Separator",required:!1,deprecated:!1},comment:{kind:"attribute",type:"string",defaultValue:"#",description:"The comment symbol. The default value is #",title:"Comment",required:!1,deprecated:!1},lazyLoad:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at one. The default value is false",title:"Lazy Load",required:!1,deprecated:!1},asMap:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have header (either defined or collected). The default value is false",title:"As Map",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},univocityHeader:{type:"object",title:"uniVocity Header",group:"dataformat,transformation,csv",icon:"generic24.png",description:"To configure headers for UniVocity data formats.",properties:{name:{kind:"value",type:"string",description:"Header name",title:"Name",required:!0,deprecated:!1},length:{kind:"attribute",type:"string",description:"Header length",title:"Length",required:!1,deprecated:!1}}},univocityTsv:{type:"object",title:"uniVocity TSV",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java objects from and to TSV (Tab-Separated Values) records using UniVocity Parsers.",properties:{escapeChar:{kind:"attribute",type:"string",defaultValue:"\\\\",description:"The escape character.",title:"Escape Char",required:!1,deprecated:!1},nullValue:{kind:"attribute",type:"string",description:"The string representation of a null value. The default value is null",title:"Null Value",required:!1,deprecated:!1},skipEmptyLines:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the empty lines must be ignored. The default value is true",title:"Skip Empty Lines",required:!1,deprecated:!1},ignoreTrailingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the trailing white spaces must be ignored. The default value is true",title:"Ignore Trailing Whitespaces",required:!1,deprecated:!1},ignoreLeadingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the leading white spaces must be ignored. The default value is true",title:"Ignore Leading Whitespaces",required:!1,deprecated:!1},headersDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the headers are disabled. When defined, this option explicitly sets the headers as null which indicates that there is no header. The default value is false",title:"Headers Disabled",required:!1,deprecated:!1},headerExtractionEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the header must be read in the first line of the test document The default value is false",title:"Header Extraction Enabled",required:!1,deprecated:!1},numberOfRecordsToRead:{kind:"attribute",type:"integer",description:"The maximum number of record to read.",title:"Number Of Records To Read",required:!1,deprecated:!1},emptyValue:{kind:"attribute",type:"string",description:"The String representation of an empty value",title:"Empty Value",required:!1,deprecated:!1},lineSeparator:{kind:"attribute",type:"string",description:"The line separator of the files The default value is to use the JVM platform line separator",title:"Line Separator",required:!1,deprecated:!1},normalizedLineSeparator:{kind:"attribute",type:"string",defaultValue:"\\n",description:"The normalized line separator of the files The default value is a new line character.",title:"Normalized Line Separator",required:!1,deprecated:!1},comment:{kind:"attribute",type:"string",defaultValue:"#",description:"The comment symbol. The default value is #",title:"Comment",required:!1,deprecated:!1},lazyLoad:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at one. The default value is false",title:"Lazy Load",required:!1,deprecated:!1},asMap:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have header (either defined or collected). The default value is false",title:"As Map",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},unmarshal:{type:"object",title:"Unmarshal",group:"dataformat,transformation",icon:"unmarshal24.png",description:"Converts the message data received from the wire into a format that Apache Camel processors can consume",properties:{dataFormatType:{kind:"element",type:"object",description:"The data format to be used",title:"Data Format Type",required:!0,deprecated:!1},allowNullBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Indicates whether null is allowed as value of a body to unmarshall.",title:"Allow Null Body",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},xmlSecurity:{type:"object",title:"XML Security",group:"dataformat,transformation,xml",icon:"generic24.png",description:"Encrypt and decrypt XML payloads using Apache Santuario.",properties:{xmlCipherAlgorithm:{kind:"attribute",type:"enum",defaultValue:"AES-256-GCM",enum:["TRIPLEDES","AES_128","AES_128_GCM","AES_192","AES_192_GCM","AES_256","AES_256_GCM","SEED_128","CAMELLIA_128","CAMELLIA_192","CAMELLIA_256"],description:"The cipher algorithm to be used for encryption/decryption of the XML message content. The available choices are: XMLCipher.TRIPLEDES XMLCipher.AES_128 XMLCipher.AES_128_GCM XMLCipher.AES_192 XMLCipher.AES_192_GCM XMLCipher.AES_256 XMLCipher.AES_256_GCM XMLCipher.SEED_128 XMLCipher.CAMELLIA_128 XMLCipher.CAMELLIA_192 XMLCipher.CAMELLIA_256 The default value is XMLCipher.AES_256_GCM",title:"Xml Cipher Algorithm",required:!1,deprecated:!1},passPhrase:{kind:"attribute",type:"string",description:"A String used as passPhrase to encrypt/decrypt content. The passPhrase has to be provided. The passPhrase needs to be put together in conjunction with the appropriate encryption algorithm. For example using TRIPLEDES the passPhase can be a Only another 24 Byte key",title:"Pass Phrase",required:!1,deprecated:!1},passPhraseByte:{kind:"attribute",type:"string",description:"A byte used as passPhrase to encrypt/decrypt content. The passPhrase has to be provided. The passPhrase needs to be put together in conjunction with the appropriate encryption algorithm. For example using TRIPLEDES the passPhase can be a Only another 24 Byte key",title:"Pass Phrase Byte",required:!1,deprecated:!1},secureTag:{kind:"attribute",type:"string",description:"The XPath reference to the XML Element selected for encryption/decryption. If no tag is specified, the entire payload is encrypted/decrypted.",title:"Secure Tag",required:!1,deprecated:!1},secureTagContents:{kind:"attribute",type:"boolean",defaultValue:"false",description:"A boolean value to specify whether the XML Element is to be encrypted or the contents of the XML Element. false = Element Level. true = Element Content Level.",title:"Secure Tag Contents",required:!1,deprecated:!1},keyCipherAlgorithm:{kind:"attribute",type:"enum",defaultValue:"RSA_OAEP",enum:["RSA_v1dot5","RSA_OAEP","RSA_OAEP_11"],description:"The cipher algorithm to be used for encryption/decryption of the asymmetric key. The available choices are: XMLCipher.RSA_v1dot5 XMLCipher.RSA_OAEP XMLCipher.RSA_OAEP_11 The default value is XMLCipher.RSA_OAEP",title:"Key Cipher Algorithm",required:!1,deprecated:!1},recipientKeyAlias:{kind:"attribute",type:"string",description:"The key alias to be used when retrieving the recipient's public or private key from a KeyStore when performing asymmetric key encryption or decryption.",title:"Recipient Key Alias",required:!1,deprecated:!1},keyOrTrustStoreParametersRef:{kind:"attribute",type:"string",description:"Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore.",title:"Key Or Trust Store Parameters Ref",required:!1,deprecated:!1},keyPassword:{kind:"attribute",type:"string",description:"The password to be used for retrieving the private key from the KeyStore. This key is used for asymmetric decryption.",title:"Key Password",required:!1,deprecated:!1},digestAlgorithm:{kind:"attribute",type:"enum",defaultValue:"SHA1",enum:["SHA1","SHA256","SHA512"],description:"The digest algorithm to use with the RSA OAEP algorithm. The available choices are: XMLCipher.SHA1 XMLCipher.SHA256 XMLCipher.SHA512 The default value is XMLCipher.SHA1",title:"Digest Algorithm",required:!1,deprecated:!1},mgfAlgorithm:{kind:"attribute",type:"enum",defaultValue:"MGF1_SHA1",enum:["MGF1_SHA1","MGF1_SHA256","MGF1_SHA512"],description:"The MGF Algorithm to use with the RSA OAEP algorithm. The available choices are: EncryptionConstants.MGF1_SHA1 EncryptionConstants.MGF1_SHA256 EncryptionConstants.MGF1_SHA512 The default value is EncryptionConstants.MGF1_SHA1",title:"Mgf Algorithm",required:!1,deprecated:!1},addKeyValueForEncryptedKey:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not.",title:"Add Key Value For Encrypted Key",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},yaml:{type:"object",title:"YAML",group:"dataformat,transformation,yaml",icon:"generic24.png",description:"Marshal and unmarshal Java objects to and from YAML.",properties:{library:{kind:"attribute",type:"enum",defaultValue:"SnakeYAML",enum:["SnakeYAML"],description:"Which yaml library to use. By default it is SnakeYAML",title:"Library",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},constructor:{kind:"attribute",type:"string",description:"BaseConstructor to construct incoming documents.",title:"Constructor",required:!1,deprecated:!1},representer:{kind:"attribute",type:"string",description:"Representer to emit outgoing objects.",title:"Representer",required:!1,deprecated:!1},dumperOptions:{kind:"attribute",type:"string",description:"DumperOptions to configure outgoing objects.",title:"Dumper Options",required:!1,deprecated:!1},resolver:{kind:"attribute",type:"string",description:"Resolver to detect implicit type",title:"Resolver",required:!1,deprecated:!1},useApplicationContextClassLoader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Use ApplicationContextClassLoader as custom ClassLoader",title:"Use Application Context Class Loader",required:!1,deprecated:!1},prettyFlow:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Force the emitter to produce a pretty YAML document when using the flow style.",title:"Pretty Flow",required:!1,deprecated:!1},allowAnyType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Allow any class to be un-marshaled",title:"Allow Any Type",required:!1,deprecated:!1},typeFilter:{kind:"element",type:"array",description:"Set the types SnakeYAML is allowed to un-marshall",title:"Type Filter",required:!1,deprecated:!1},maxAliasesForCollections:{kind:"attribute",type:"integer",defaultValue:"50",description:"Set the maximum amount of aliases allowed for collections.",title:"Max Aliases For Collections",required:!1,deprecated:!1},allowRecursiveKeys:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Set whether recursive keys are allowed.",title:"Allow Recursive Keys",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},zipDeflater:{type:"object",title:"Zip Deflater",group:"dataformat,transformation",icon:"generic24.png",description:"Compress and decompress streams using java.util.zip.Deflater and java.util.zip.Inflater.",properties:{compressionLevel:{kind:"attribute",type:"enum",defaultValue:"-1",enum:["-1","0","1","2","3","4","5","6","7","8","9"],description:"To specify a specific compression between 0-9. -1 is default compression, 0 is no compression, and 9 is the best compression.",title:"Compression Level",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},zipFile:{type:"object",title:"Zip File",group:"dataformat,transformation,file",icon:"generic24.png",description:"Compression and decompress streams using java.util.zip.ZipStream.",properties:{usingIterator:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the zip file has more than one entry, the setting this option to true, allows working with the splitter EIP, to split the data using an iterator in a streaming mode.",title:"Using Iterator",required:!1,deprecated:!1},allowEmptyDirectory:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the zip file has more than one entry, setting this option to true, allows to get the iterator even if the directory is empty",title:"Allow Empty Directory",required:!1,deprecated:!1},preservePathElements:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the file name contains path elements, setting this option to true, allows the path to be maintained in the zip file.",title:"Preserve Path Elements",required:!1,deprecated:!1},maxDecompressedSize:{kind:"attribute",type:"integer",defaultValue:"1073741824",description:"Set the maximum decompressed size of a zip file (in bytes). The default value if not specified corresponds to 1 gigabyte. An IOException will be thrown if the decompressed size exceeds this amount. Set to -1 to disable setting a maximum decompressed size.",title:"Max Decompressed Size",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}}},c={constant:{type:"object",title:"Constant",group:"language,core",icon:"generic24.png",description:"A fixed value set only once during the route startup.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},csimple:{type:"object",title:"CSimple",group:"language,java",icon:"generic24.png",description:"Evaluate a compiled simple expression.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},datasonnet:{type:"object",title:"DataSonnet",group:"language,transformation",icon:"generic24.png",description:"To use DataSonnet scripts for message transformations.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},bodyMediaType:{kind:"attribute",type:"string",description:"The String representation of the message's body MediaType",title:"Body Media Type",required:!1,deprecated:!1},outputMediaType:{kind:"attribute",type:"string",description:"The String representation of the MediaType to output",title:"Output Media Type",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},exchangeProperty:{type:"object",title:"ExchangeProperty",group:"language,core",icon:"generic24.png",description:"Gets a property from the Exchange.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},expression:{type:"object",title:"Expression",group:"language",icon:"generic24.png",description:"A useful base class for an expression",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},groovy:{type:"object",title:"Groovy",group:"language,script",icon:"generic24.png",description:"Evaluates a Groovy script.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},header:{type:"object",title:"Header",group:"language,core",icon:"generic24.png",description:"Gets a header from the Exchange.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},hl7terser:{type:"object",title:"HL7 Terser",group:"language,hl7",icon:"generic24.png",description:"Get the value of a HL7 message field specified by terse location specification syntax.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},headerName:{kind:"attribute",type:"string",description:"Name of header to use as input, instead of the message body It has as higher precedent than the propertyName if both are set.",title:"Header Name",required:!1,deprecated:!1},propertyName:{kind:"attribute",type:"string",description:"Name of property to use as input, instead of the message body. It has a lower precedent than the headerName if both are set.",title:"Property Name",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},joor:{type:"object",title:"jOOR",group:"language",icon:"generic24.png",description:"Evaluates a jOOR (Java compiled once at runtime) expression.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},preCompile:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the expression should be pre compiled once during initialization phase. If this is turned off, then the expression is reloaded and compiled on each evaluation.",title:"Pre Compile",required:!1,deprecated:!1},singleQuotes:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether single quotes can be used as replacement for double quotes. This is convenient when you need to work with strings inside strings.",title:"Single Quotes",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},jq:{type:"object",title:"JQ",group:"language,json",icon:"generic24.png",description:"Evaluates a JQ expression against a JSON message body.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},headerName:{kind:"attribute",type:"string",description:"Name of header to use as input, instead of the message body It has as higher precedent than the propertyName if both are set.",title:"Header Name",required:!1,deprecated:!1},propertyName:{kind:"attribute",type:"string",description:"Name of property to use as input, instead of the message body. It has a lower precedent than the headerName if both are set.",title:"Property Name",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},js:{type:"object",title:"JavaScript",group:"language,javascript",icon:"generic24.png",description:"Evaluates a JavaScript expression.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},jsonpath:{type:"object",title:"JSONPath",group:"language,json",icon:"generic24.png",description:"Evaluates a JSONPath expression against a JSON message body.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},suppressExceptions:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to suppress exceptions such as PathNotFoundException.",title:"Suppress Exceptions",required:!1,deprecated:!1},allowSimple:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to allow in inlined Simple exceptions in the JSONPath expression",title:"Allow Simple",required:!1,deprecated:!1},allowEasyPredicate:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to allow using the easy predicate parser to pre-parse predicates.",title:"Allow Easy Predicate",required:!1,deprecated:!1},writeAsString:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to write the output of each row/element as a JSON String value instead of a Map/POJO value.",title:"Write As String",required:!1,deprecated:!1},unpackArray:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to unpack a single element json-array into an object.",title:"Unpack Array",required:!1,deprecated:!1},option:{kind:"attribute",type:"enum",enum:["DEFAULT_PATH_LEAF_TO_NULL","ALWAYS_RETURN_LIST","AS_PATH_LIST","SUPPRESS_EXCEPTIONS","REQUIRE_PROPERTIES"],description:"To configure additional options on JSONPath. Multiple values can be separated by comma.",title:"Option",required:!1,deprecated:!1},headerName:{kind:"attribute",type:"string",description:"Name of header to use as input, instead of the message body It has as higher precedent than the propertyName if both are set.",title:"Header Name",required:!1,deprecated:!1},propertyName:{kind:"attribute",type:"string",description:"Name of property to use as input, instead of the message body. It has a lower precedent than the headerName if both are set.",title:"Property Name",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},language:{type:"object",title:"Language",group:"language,core",icon:"generic24.png",description:"Evaluates a custom language.",properties:{language:{kind:"attribute",type:"string",description:"The name of the language to use",title:"Language",required:!0,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},method:{type:"object",title:"Bean Method",group:"language,core,java",icon:"generic24.png",description:"Calls a Java bean method.",properties:{ref:{kind:"attribute",type:"string",description:"Reference to an existing bean (bean id) to lookup in the registry",title:"Ref",required:!1,deprecated:!1},method:{kind:"attribute",type:"string",description:"Name of method to call",title:"Method",required:!1,deprecated:!1},beanType:{kind:"attribute",type:"string",description:"Class name (fully qualified) of the bean to use Will lookup in registry and if there is a single instance of the same type, then the existing bean is used, otherwise a new bean is created (requires a default no-arg constructor).",title:"Bean Type",required:!1,deprecated:!1},scope:{kind:"attribute",type:"enum",defaultValue:"Singleton",enum:["Singleton","Request","Prototype"],description:"Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while processing the request. The bean does not have to be thread-safe as the instance is only called from the same request. When using prototype scope, then the bean will be looked up or created per call. However in case of lookup then this is delegated to the bean registry such as Spring or CDI (if in use), which depends on their configuration can act as either singleton or prototype scope. So when using prototype scope then this depends on the bean registry implementation.",title:"Scope",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},mvel:{type:"object",title:"MVEL",group:"language,java",icon:"generic24.png",description:"Evaluates a MVEL template.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},ognl:{type:"object",title:"OGNL",group:"language,java",icon:"generic24.png",description:"Evaluates an OGNL expression (Apache Commons OGNL).",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},python:{type:"object",title:"Python",group:"language,python",icon:"generic24.png",description:"Evaluates a Python expression.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},ref:{type:"object",title:"Ref",group:"language,core",icon:"generic24.png",description:"Uses an existing expression from the registry.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},simple:{type:"object",title:"Simple",group:"language,core,java",icon:"generic24.png",description:"Evaluates a Camel simple expression.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},spel:{type:"object",title:"SpEL",group:"language,spring",icon:"generic24.png",description:"Evaluates a Spring expression (SpEL).",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},tokenize:{type:"object",title:"Tokenize",group:"language,core",icon:"generic24.png",description:"Tokenize text payloads using delimiter patterns.",properties:{token:{kind:"attribute",type:"string",description:"The (start) token to use as tokenizer, for example you can use the new line token. You can use simple language as the token to support dynamic tokens.",title:"Token",required:!0,deprecated:!1},endToken:{kind:"attribute",type:"string",description:"The end token to use as tokenizer if using start/end token pairs. You can use simple language as the token to support dynamic tokens.",title:"End Token",required:!1,deprecated:!1},inheritNamespaceTagName:{kind:"attribute",type:"string",description:"To inherit namespaces from a root/parent tag name when using XML You can use simple language as the tag name to support dynamic names.",title:"Inherit Namespace Tag Name",required:!1,deprecated:!1},regex:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the token is a regular expression pattern. The default value is false",title:"Regex",required:!1,deprecated:!1},xml:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the input is XML messages. This option must be set to true if working with XML payloads.",title:"Xml",required:!1,deprecated:!1},includeTokens:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to include the tokens in the parts when using pairs. When including tokens then the endToken property must also be configured (to use pair mode). The default value is false",title:"Include Tokens",required:!1,deprecated:!1},group:{kind:"attribute",type:"string",description:"To group N parts together, for example to split big files into chunks of 1000 lines. You can use simple language as the group to support dynamic group sizes.",title:"Group",required:!1,deprecated:!1},groupDelimiter:{kind:"attribute",type:"string",description:"Sets the delimiter to use when grouping. If this has not been set then token will be used as the delimiter.",title:"Group Delimiter",required:!1,deprecated:!1},skipFirst:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To skip the very first element",title:"Skip First",required:!1,deprecated:!1},headerName:{kind:"attribute",type:"string",description:"Name of header to use as input, instead of the message body It has as higher precedent than the propertyName if both are set.",title:"Header Name",required:!1,deprecated:!1},propertyName:{kind:"attribute",type:"string",description:"Name of property to use as input, instead of the message body. It has a lower precedent than the headerName if both are set.",title:"Property Name",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},xpath:{type:"object",title:"XPath",group:"language,core,xml",icon:"generic24.png",description:"Evaluates an XPath expression against an XML payload.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},documentType:{kind:"attribute",type:"string",description:"Name of class for document type The default value is org.w3c.dom.Document",title:"Document Type",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"enum",defaultValue:"NODESET",enum:["NUMBER","STRING","BOOLEAN","NODESET","NODE"],description:"Sets the class name of the result type (type from output) The default result type is NodeSet",title:"Result Type",required:!1,deprecated:!1},saxon:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to use Saxon.",title:"Saxon",required:!1,deprecated:!1},factoryRef:{kind:"attribute",type:"string",description:"References to a custom XPathFactory to lookup in the registry",title:"Factory Ref",required:!1,deprecated:!1},objectModel:{kind:"attribute",type:"string",description:"The XPath object model to use",title:"Object Model",required:!1,deprecated:!1},logNamespaces:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to log namespaces which can assist during troubleshooting",title:"Log Namespaces",required:!1,deprecated:!1},threadSafety:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable thread-safety for the returned result of the xpath expression. This applies to when using NODESET as the result type, and the returned set has multiple elements. In this situation there can be thread-safety issues if you process the NODESET concurrently such as from a Camel Splitter EIP in parallel processing mode. This option prevents concurrency issues by doing defensive copies of the nodes. It is recommended to turn this option on if you are using camel-saxon or Saxon in your application. Saxon has thread-safety issues which can be prevented by turning this option on.",title:"Thread Safety",required:!1,deprecated:!1},preCompile:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to enable pre-compiling the xpath expression during initialization phase. pre-compile is enabled by default. This can be used to turn off, for example in cases the compilation phase is desired at the starting phase, such as if the application is ahead of time compiled (for example with camel-quarkus) which would then load the xpath factory of the built operating system, and not a JVM runtime.",title:"Pre Compile",required:!1,deprecated:!1},namespace:{kind:"element",type:"array",description:"Injects the XML Namespaces of prefix - uri mappings",title:"Namespace",required:!1,deprecated:!1},headerName:{kind:"attribute",type:"string",description:"Name of header to use as input, instead of the message body It has as higher precedent than the propertyName if both are set.",title:"Header Name",required:!1,deprecated:!1},propertyName:{kind:"attribute",type:"string",description:"Name of property to use as input, instead of the message body. It has a lower precedent than the headerName if both are set.",title:"Property Name",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},xquery:{type:"object",title:"XQuery",group:"language,xml",icon:"generic24.png",description:"Evaluates an XQuery expressions against an XML payload.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name of the result type (type from output) The default result type is NodeSet",title:"Type",required:!1,deprecated:!1},configurationRef:{kind:"attribute",type:"string",description:"Reference to a saxon configuration instance in the registry to use for xquery (requires camel-saxon). This may be needed to add custom functions to a saxon configuration, so these custom functions can be used in xquery expressions.",title:"Configuration Ref",required:!1,deprecated:!1},namespace:{kind:"element",type:"array",description:"Injects the XML Namespaces of prefix - uri mappings",title:"Namespace",required:!1,deprecated:!1},headerName:{kind:"attribute",type:"string",description:"Name of header to use as input, instead of the message body It has as higher precedent than the propertyName if both are set.",title:"Header Name",required:!1,deprecated:!1},propertyName:{kind:"attribute",type:"string",description:"Name of property to use as input, instead of the message body. It has a lower precedent than the headerName if both are set.",title:"Property Name",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}},xtokenize:{type:"object",title:"XML Tokenize",group:"language,core,xml",icon:"generic24.png",description:"Tokenize XML payloads.",properties:{expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},mode:{kind:"attribute",type:"enum",defaultValue:"i",enum:["i","w","u","t"],description:"The extraction mode. The available extraction modes are: i - injecting the contextual namespace bindings into the extracted token (default) w - wrapping the extracted token in its ancestor context u - unwrapping the extracted token to its child content t - extracting the text content of the specified element",title:"Mode",required:!1,deprecated:!1},group:{kind:"attribute",type:"integer",description:"To group N parts together",title:"Group",required:!1,deprecated:!1},namespace:{kind:"element",type:"array",description:"Injects the XML Namespaces of prefix - uri mappings",title:"Namespace",required:!1,deprecated:!1},headerName:{kind:"attribute",type:"string",description:"Name of header to use as input, instead of the message body It has as higher precedent than the propertyName if both are set.",title:"Header Name",required:!1,deprecated:!1},propertyName:{kind:"attribute",type:"string",description:"Name of property to use as input, instead of the message body. It has a lower precedent than the headerName if both are set.",title:"Property Name",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1},id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1}}}},p={activemq:{type:"object",title:"ActiveMQ",group:"messaging",icon:"generic24.png",description:"Send messages to (or consume from) Apache ActiveMQ. This component extends the Camel JMS component.",properties:{destinationType:{kind:"path",type:"string",defaultValue:"queue",enum:["queue","topic","temp-queue","temp-topic"],description:"The kind of destination to use",title:"Destination Type",required:!1,deprecated:!1},destinationName:{kind:"path",type:"string",description:"Name of the queue or topic to use as destination",title:"Destination Name",required:!0,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead.",title:"Client Id",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},durableSubscriptionName:{kind:"parameter",type:"string",description:"The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",title:"Durable Subscription Name",required:!1,deprecated:!1},jmsMessageType:{kind:"parameter",type:"object",enum:["Bytes","Map","Object","Stream","Text"],description:"Allows you to force the use of a specific jakarta.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it.",title:"Jms Message Type",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",title:"Reply To",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},acknowledgementModeName:{kind:"parameter",type:"string",defaultValue:"AUTO_ACKNOWLEDGE",enum:["SESSION_TRANSACTED","CLIENT_ACKNOWLEDGE","AUTO_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"],description:"The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",title:"Acknowledgement Mode Name",required:!1,deprecated:!1},artemisConsumerPriority:{kind:"parameter",type:"integer",description:"Consumer priorities allow you to ensure that high priority consumers receive messages while they are active. Normally, active consumers connected to a queue receive messages from it in a round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if multiple active consumers exist with the same high priority. Messages will only going to lower priority consumers when the high priority consumers do not have credit available to consume the message, or those high priority consumers have declined to accept the message (for instance because it does not meet the criteria of any selectors associated with the consumer).",title:"Artemis Consumer Priority",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",title:"Async Consumer",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},cacheLevel:{kind:"parameter",type:"integer",description:"Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details.",title:"Cache Level",required:!1,deprecated:!1},cacheLevelName:{kind:"parameter",type:"string",defaultValue:"CACHE_AUTO",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information.",title:"Cache Level Name",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Concurrent Consumers",required:!1,deprecated:!1},maxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Max Concurrent Consumers",required:!1,deprecated:!1},replyToDeliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to use persistent delivery by default for replies.",title:"Reply To Delivery Persistent",required:!1,deprecated:!1},selector:{kind:"parameter",type:"string",description:"Sets the JMS selector to use",title:"Selector",required:!1,deprecated:!1},subscriptionDurable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription durable. The durable subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a durable subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.",title:"Subscription Durable",required:!1,deprecated:!1},subscriptionName:{kind:"parameter",type:"string",description:"Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2.0).",title:"Subscription Name",required:!1,deprecated:!1},subscriptionShared:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription shared. The shared subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a shared subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can (and often will) be combined with subscriptionDurable as well. Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well. Requires a JMS 2.0 compatible message broker.",title:"Subscription Shared",required:!1,deprecated:!1},acceptMessagesWhileStopping:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the consumer accept messages while it is stopping. You may consider enabling this option, if you start and stop JMS routes at runtime, while there are still messages enqueued on the queue. If this option is false, and you stop the JMS route, then messages may be rejected, and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and eventually the message may be moved at a dead letter queue on the JMS broker. To avoid this its recommended to enable this option.",title:"Accept Messages While Stopping",required:!1,deprecated:!1},allowReplyManagerQuickStop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the DefaultMessageListenerContainer used in the reply managers for request-reply messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is currently being stopped. This quick stop ability is enabled by default in the regular JMS consumers but to enable for reply managers you must enable this flag.",title:"Allow Reply Manager Quick Stop",required:!1,deprecated:!1},consumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type to use, which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Consumer Type",required:!1,deprecated:!1},defaultTaskExecutorType:{kind:"parameter",type:"object",enum:["ThreadPool","SimpleAsync"],description:"Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's ThreadPoolTaskExecutor with optimal values - cached threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsync for reply consumers. The use of ThreadPool is recommended to reduce thread trash in elastic configurations with dynamically increasing and decreasing concurrent consumers.",title:"Default Task Executor Type",required:!1,deprecated:!1},destinationOptions:{kind:"parameter",type:"object",description:"Destination Options are a way to provide extended configuration options to a JMS consumer without having to extend the JMS API. The options are encoded using URL query syntax in the destination name that the consumer is created on. See more details at https://activemq.apache.org/destination-options.",title:"Destination Options",required:!1,deprecated:!1},eagerLoadingOfProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",title:"Eager Loading Of Properties",required:!1,deprecated:!1},eagerPoisonBody:{kind:"parameter",type:"string",defaultValue:"Poison JMS message due to ${exception.message}",description:"If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",title:"Eager Poison Body",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},exposeListenerSession:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the listener session should be exposed when consuming messages.",title:"Expose Listener Session",required:!1,deprecated:!1},replyToConsumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type of the reply consumer (when doing request/reply), which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Reply To Consumer Type",required:!1,deprecated:!1},replyToSameDestinationAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",title:"Reply To Same Destination Allowed",required:!1,deprecated:!1},taskExecutor:{kind:"parameter",type:"object",description:"Allows you to specify a custom task executor for consuming messages.",title:"Task Executor",required:!1,deprecated:!1},deliveryDelay:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker.",title:"Delivery Delay",required:!1,deprecated:!1},deliveryMode:{kind:"parameter",type:"integer",enum:["1","2"],description:"Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",title:"Delivery Mode",required:!1,deprecated:!1},deliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether persistent delivery is used by default.",title:"Delivery Persistent",required:!1,deprecated:!1},explicitQosEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",title:"Explicit Qos Enabled",required:!1,deprecated:!1},formatDateHeadersToIso8601:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether JMS date properties should be formatted according to the ISO 8601 standard.",title:"Format Date Headers To Iso8601",required:!1,deprecated:!1},preserveMessageQos:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header.",title:"Preserve Message Qos",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",defaultValue:"4",enum:["1","2","3","4","5","6","7","8","9"],description:"Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",title:"Priority",required:!1,deprecated:!1},replyToConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Concurrent Consumers",required:!1,deprecated:!1},replyToMaxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Max Concurrent Consumers",required:!1,deprecated:!1},replyToOnTimeoutMaxConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS.",title:"Reply To On Timeout Max Concurrent Consumers",required:!1,deprecated:!1},replyToOverride:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",title:"Reply To Override",required:!1,deprecated:!1},replyToType:{kind:"parameter",type:"object",enum:["Temporary","Shared","Exclusive"],description:"Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running in a clustered environment, and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive.",title:"Reply To Type",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"duration",defaultValue:"20000",description:"The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.",title:"Request Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"integer",defaultValue:"-1",description:"When sending messages, specifies the time-to-live of the message (in milliseconds).",title:"Time To Live",required:!1,deprecated:!1},allowAdditionalHeaders:{kind:"parameter",type:"string",description:"This option is used to allow additional headers which may have values that are invalid according to JMS specification. For example some message systems such as WMQ do this with header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types. You can specify multiple header names separated by comma, and use as suffix for wildcard matching.",title:"Allow Additional Headers",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},alwaysCopyMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations, such as when a replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set)",title:"Always Copy Message",required:!1,deprecated:!1},correlationProperty:{kind:"parameter",type:"string",description:"When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS property to correlate messages. If set messages will be correlated solely on the value of this property JMSCorrelationID property will be ignored and not set by Camel.",title:"Correlation Property",required:!1,deprecated:!1},disableTimeToLive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expire on the receiver system. See below in section About time to live for more details.",title:"Disable Time To Live",required:!1,deprecated:!1},forceSendOriginalMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS destination if you touch the headers (get or set) during the route. Set this option to true to force Camel to send the original JMS message that was received.",title:"Force Send Original Message",required:!1,deprecated:!1},includeSentJMSMessageID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS client when the message was sent to the JMS destination.",title:"Include Sent JMSMessage ID",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},replyToCacheLevelName:{kind:"parameter",type:"string",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the reply consumer when doing request/reply over JMS. This option only applies when using fixed reply queues (not temporary). Camel will by default use: CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE_NONE is not allowed, and you must use a higher value such as CACHE_CONSUMER or CACHE_SESSION.",title:"Reply To Cache Level Name",required:!1,deprecated:!1},replyToDestinationSelectorName:{kind:"parameter",type:"string",description:"Sets the JMS Selector using the fixed name to be used so you can filter out your own replies from the others when using a shared queue (that is, if you are not using a temporary reply queue).",title:"Reply To Destination Selector Name",required:!1,deprecated:!1},streamMessageTypeEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls which kind will be used. By default BytesMessage is used which enforces the entire message payload to be read into memory. By enabling this option the message payload is read into memory in chunks and each chunk is then written to the StreamMessage until no more data.",title:"Stream Message Type Enabled",required:!1,deprecated:!1},allowSerializedHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls whether or not to include serialized headers. Applies only when transferExchange is true. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Allow Serialized Headers",required:!1,deprecated:!1},artemisStreamingEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is being used.",title:"Artemis Streaming Enabled",required:!1,deprecated:!1},asyncStartListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that if the connection could not be established, then an exception is logged at WARN level, and the consumer will not be able to receive messages; You can then restart the route to retry.",title:"Async Start Listener",required:!1,deprecated:!1},asyncStopListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.",title:"Async Stop Listener",required:!1,deprecated:!1},destinationResolver:{kind:"parameter",type:"object",description:"A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry).",title:"Destination Resolver",required:!1,deprecated:!1},errorHandler:{kind:"parameter",type:"object",description:"Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom errorHandler.",title:"Error Handler",required:!1,deprecated:!1},exceptionListener:{kind:"parameter",type:"object",description:"Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.",title:"Exception Listener",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},idleConsumerLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specify the limit for the number of consumers that are allowed to be idle at any given time.",title:"Idle Consumer Limit",required:!1,deprecated:!1},idleTaskExecutionLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting). There is additional doc available from Spring.",title:"Idle Task Execution Limit",required:!1,deprecated:!1},includeAllJMSXProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",title:"Include All JMSXProperties",required:!1,deprecated:!1},jmsKeyFormatStrategy:{kind:"parameter",type:"object",enum:["default","passthrough"],description:"Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.",title:"Jms Key Format Strategy",required:!1,deprecated:!1},mapJmsMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc.",title:"Map Jms Message",required:!1,deprecated:!1},maxMessagesPerTask:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max), then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.",title:"Max Messages Per Task",required:!1,deprecated:!1},messageConverter:{kind:"parameter",type:"object",description:"To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a jakarta.jms.Message.",title:"Message Converter",required:!1,deprecated:!1},messageCreatedStrategy:{kind:"parameter",type:"object",description:"To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message.",title:"Message Created Strategy",required:!1,deprecated:!1},messageIdEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When sending, specifies whether message IDs should be added. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value.",title:"Message Id Enabled",required:!1,deprecated:!1},messageListenerContainerFactory:{kind:"parameter",type:"object",description:"Registry ID of the MessageListenerContainerFactory used to determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use to consume messages. Setting this will automatically set consumerType to Custom.",title:"Message Listener Container Factory",required:!1,deprecated:!1},messageTimestampEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether timestamps should be enabled by default on sending messages. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal value.",title:"Message Timestamp Enabled",required:!1,deprecated:!1},pubSubNoLocal:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to inhibit the delivery of messages published by its own connection.",title:"Pub Sub No Local",required:!1,deprecated:!1},receiveTimeout:{kind:"parameter",type:"duration",defaultValue:"1000",description:"The timeout for receiving messages (in milliseconds).",title:"Receive Timeout",required:!1,deprecated:!1},recoveryInterval:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds.",title:"Recovery Interval",required:!1,deprecated:!1},requestTimeoutCheckerInterval:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout.",title:"Request Timeout Checker Interval",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The caught exception is required to be serializable. The original Exception on the consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException when returned to the producer. Use this with caution as the data is using Java Object serialization and requires the received to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumer!",title:"Transfer Exception",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the payloads is an Exchange and not a regular payload. Use this with caution as the data is using Java Object serialization and requires the receiver to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumers having to use compatible Camel versions!",title:"Transfer Exchange",required:!1,deprecated:!1},useMessageIDAsCorrelationID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.",title:"Use Message IDAs Correlation ID",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedCounter:{kind:"parameter",type:"integer",defaultValue:"50",description:"Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.",title:"Wait For Provision Correlation To Be Updated Counter",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedThreadSleepingTime:{kind:"parameter",type:"duration",defaultValue:"100",description:"Interval in millis to sleep each time while waiting for provisional correlation id to be updated.",title:"Wait For Provision Correlation To Be Updated Thread Sleeping Time",required:!1,deprecated:!1},errorHandlerLoggingLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Allows to configure the default errorHandler logging level for logging uncaught exceptions.",title:"Error Handler Logging Level",required:!1,deprecated:!1},errorHandlerLogStackTrace:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows to control whether stacktraces should be logged or not, by the default errorHandler.",title:"Error Handler Log Stack Trace",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Username",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to use transacted mode",title:"Transacted",required:!1,deprecated:!1},transactedInOut:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether InOut operations (request reply) default to using transacted mode If this flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS: that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not taken into account. Depending on the Java EE transaction context, the container makes its own decisions on these values. Analogously, these parameters are not taken into account within a locally managed transaction either, since Spring JMS operates on an existing JMS Session in this case. Setting this flag to true will use a short local JMS transaction when running outside of a managed transaction, and a synchronized local JMS transaction in case of a managed transaction (other than an XA transaction) being present. This has the effect of a local JMS transaction being managed alongside the main transaction (which might be a native JDBC transaction), with the JMS transaction committing right after the main transaction.",title:"Transacted In Out",required:!1,deprecated:!1},lazyCreateTransactionManager:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true.",title:"Lazy Create Transaction Manager",required:!1,deprecated:!1},transactionManager:{kind:"parameter",type:"object",description:"The Spring transaction manager to use.",title:"Transaction Manager",required:!1,deprecated:!1},transactionName:{kind:"parameter",type:"string",description:"The name of the transaction to use.",title:"Transaction Name",required:!1,deprecated:!1},transactionTimeout:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The timeout value of the transaction (in seconds), if using transacted mode.",title:"Transaction Timeout",required:!1,deprecated:!1}}},amqp:{type:"object",title:"AMQP",group:"messaging",icon:"generic24.png",description:"Messaging with AMQP protocol using Apache QPid Client.",properties:{destinationType:{kind:"path",type:"string",defaultValue:"queue",enum:["queue","topic","temp-queue","temp-topic"],description:"The kind of destination to use",title:"Destination Type",required:!1,deprecated:!1},destinationName:{kind:"path",type:"string",description:"Name of the queue or topic to use as destination",title:"Destination Name",required:!0,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead.",title:"Client Id",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},durableSubscriptionName:{kind:"parameter",type:"string",description:"The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",title:"Durable Subscription Name",required:!1,deprecated:!1},jmsMessageType:{kind:"parameter",type:"object",enum:["Bytes","Map","Object","Stream","Text"],description:"Allows you to force the use of a specific jakarta.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it.",title:"Jms Message Type",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",title:"Reply To",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},acknowledgementModeName:{kind:"parameter",type:"string",defaultValue:"AUTO_ACKNOWLEDGE",enum:["SESSION_TRANSACTED","CLIENT_ACKNOWLEDGE","AUTO_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"],description:"The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",title:"Acknowledgement Mode Name",required:!1,deprecated:!1},artemisConsumerPriority:{kind:"parameter",type:"integer",description:"Consumer priorities allow you to ensure that high priority consumers receive messages while they are active. Normally, active consumers connected to a queue receive messages from it in a round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if multiple active consumers exist with the same high priority. Messages will only going to lower priority consumers when the high priority consumers do not have credit available to consume the message, or those high priority consumers have declined to accept the message (for instance because it does not meet the criteria of any selectors associated with the consumer).",title:"Artemis Consumer Priority",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",title:"Async Consumer",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},cacheLevel:{kind:"parameter",type:"integer",description:"Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details.",title:"Cache Level",required:!1,deprecated:!1},cacheLevelName:{kind:"parameter",type:"string",defaultValue:"CACHE_AUTO",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information.",title:"Cache Level Name",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Concurrent Consumers",required:!1,deprecated:!1},maxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Max Concurrent Consumers",required:!1,deprecated:!1},replyToDeliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to use persistent delivery by default for replies.",title:"Reply To Delivery Persistent",required:!1,deprecated:!1},selector:{kind:"parameter",type:"string",description:"Sets the JMS selector to use",title:"Selector",required:!1,deprecated:!1},subscriptionDurable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription durable. The durable subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a durable subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.",title:"Subscription Durable",required:!1,deprecated:!1},subscriptionName:{kind:"parameter",type:"string",description:"Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2.0).",title:"Subscription Name",required:!1,deprecated:!1},subscriptionShared:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription shared. The shared subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a shared subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can (and often will) be combined with subscriptionDurable as well. Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well. Requires a JMS 2.0 compatible message broker.",title:"Subscription Shared",required:!1,deprecated:!1},acceptMessagesWhileStopping:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the consumer accept messages while it is stopping. You may consider enabling this option, if you start and stop JMS routes at runtime, while there are still messages enqueued on the queue. If this option is false, and you stop the JMS route, then messages may be rejected, and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and eventually the message may be moved at a dead letter queue on the JMS broker. To avoid this its recommended to enable this option.",title:"Accept Messages While Stopping",required:!1,deprecated:!1},allowReplyManagerQuickStop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the DefaultMessageListenerContainer used in the reply managers for request-reply messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is currently being stopped. This quick stop ability is enabled by default in the regular JMS consumers but to enable for reply managers you must enable this flag.",title:"Allow Reply Manager Quick Stop",required:!1,deprecated:!1},consumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type to use, which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Consumer Type",required:!1,deprecated:!1},defaultTaskExecutorType:{kind:"parameter",type:"object",enum:["ThreadPool","SimpleAsync"],description:"Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's ThreadPoolTaskExecutor with optimal values - cached threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsync for reply consumers. The use of ThreadPool is recommended to reduce thread trash in elastic configurations with dynamically increasing and decreasing concurrent consumers.",title:"Default Task Executor Type",required:!1,deprecated:!1},eagerLoadingOfProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",title:"Eager Loading Of Properties",required:!1,deprecated:!1},eagerPoisonBody:{kind:"parameter",type:"string",defaultValue:"Poison JMS message due to ${exception.message}",description:"If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",title:"Eager Poison Body",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},exposeListenerSession:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the listener session should be exposed when consuming messages.",title:"Expose Listener Session",required:!1,deprecated:!1},replyToConsumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type of the reply consumer (when doing request/reply), which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Reply To Consumer Type",required:!1,deprecated:!1},replyToSameDestinationAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",title:"Reply To Same Destination Allowed",required:!1,deprecated:!1},taskExecutor:{kind:"parameter",type:"object",description:"Allows you to specify a custom task executor for consuming messages.",title:"Task Executor",required:!1,deprecated:!1},deliveryDelay:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker.",title:"Delivery Delay",required:!1,deprecated:!1},deliveryMode:{kind:"parameter",type:"integer",enum:["1","2"],description:"Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",title:"Delivery Mode",required:!1,deprecated:!1},deliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether persistent delivery is used by default.",title:"Delivery Persistent",required:!1,deprecated:!1},explicitQosEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",title:"Explicit Qos Enabled",required:!1,deprecated:!1},formatDateHeadersToIso8601:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether JMS date properties should be formatted according to the ISO 8601 standard.",title:"Format Date Headers To Iso8601",required:!1,deprecated:!1},preserveMessageQos:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header.",title:"Preserve Message Qos",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",defaultValue:"4",enum:["1","2","3","4","5","6","7","8","9"],description:"Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",title:"Priority",required:!1,deprecated:!1},replyToConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Concurrent Consumers",required:!1,deprecated:!1},replyToMaxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Max Concurrent Consumers",required:!1,deprecated:!1},replyToOnTimeoutMaxConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS.",title:"Reply To On Timeout Max Concurrent Consumers",required:!1,deprecated:!1},replyToOverride:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",title:"Reply To Override",required:!1,deprecated:!1},replyToType:{kind:"parameter",type:"object",enum:["Temporary","Shared","Exclusive"],description:"Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running in a clustered environment, and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive.",title:"Reply To Type",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"duration",defaultValue:"20000",description:"The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.",title:"Request Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"integer",defaultValue:"-1",description:"When sending messages, specifies the time-to-live of the message (in milliseconds).",title:"Time To Live",required:!1,deprecated:!1},allowAdditionalHeaders:{kind:"parameter",type:"string",description:"This option is used to allow additional headers which may have values that are invalid according to JMS specification. For example some message systems such as WMQ do this with header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types. You can specify multiple header names separated by comma, and use as suffix for wildcard matching.",title:"Allow Additional Headers",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},alwaysCopyMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations, such as when a replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set)",title:"Always Copy Message",required:!1,deprecated:!1},correlationProperty:{kind:"parameter",type:"string",description:"When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS property to correlate messages. If set messages will be correlated solely on the value of this property JMSCorrelationID property will be ignored and not set by Camel.",title:"Correlation Property",required:!1,deprecated:!1},disableTimeToLive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expire on the receiver system. See below in section About time to live for more details.",title:"Disable Time To Live",required:!1,deprecated:!1},forceSendOriginalMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS destination if you touch the headers (get or set) during the route. Set this option to true to force Camel to send the original JMS message that was received.",title:"Force Send Original Message",required:!1,deprecated:!1},includeSentJMSMessageID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS client when the message was sent to the JMS destination.",title:"Include Sent JMSMessage ID",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},replyToCacheLevelName:{kind:"parameter",type:"string",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the reply consumer when doing request/reply over JMS. This option only applies when using fixed reply queues (not temporary). Camel will by default use: CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE_NONE is not allowed, and you must use a higher value such as CACHE_CONSUMER or CACHE_SESSION.",title:"Reply To Cache Level Name",required:!1,deprecated:!1},replyToDestinationSelectorName:{kind:"parameter",type:"string",description:"Sets the JMS Selector using the fixed name to be used so you can filter out your own replies from the others when using a shared queue (that is, if you are not using a temporary reply queue).",title:"Reply To Destination Selector Name",required:!1,deprecated:!1},streamMessageTypeEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls which kind will be used. By default BytesMessage is used which enforces the entire message payload to be read into memory. By enabling this option the message payload is read into memory in chunks and each chunk is then written to the StreamMessage until no more data.",title:"Stream Message Type Enabled",required:!1,deprecated:!1},allowSerializedHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls whether or not to include serialized headers. Applies only when transferExchange is true. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Allow Serialized Headers",required:!1,deprecated:!1},artemisStreamingEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is being used.",title:"Artemis Streaming Enabled",required:!1,deprecated:!1},asyncStartListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that if the connection could not be established, then an exception is logged at WARN level, and the consumer will not be able to receive messages; You can then restart the route to retry.",title:"Async Start Listener",required:!1,deprecated:!1},asyncStopListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.",title:"Async Stop Listener",required:!1,deprecated:!1},destinationResolver:{kind:"parameter",type:"object",description:"A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry).",title:"Destination Resolver",required:!1,deprecated:!1},errorHandler:{kind:"parameter",type:"object",description:"Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom errorHandler.",title:"Error Handler",required:!1,deprecated:!1},exceptionListener:{kind:"parameter",type:"object",description:"Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.",title:"Exception Listener",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},idleConsumerLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specify the limit for the number of consumers that are allowed to be idle at any given time.",title:"Idle Consumer Limit",required:!1,deprecated:!1},idleTaskExecutionLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting). There is additional doc available from Spring.",title:"Idle Task Execution Limit",required:!1,deprecated:!1},includeAllJMSXProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",title:"Include All JMSXProperties",required:!1,deprecated:!1},jmsKeyFormatStrategy:{kind:"parameter",type:"object",enum:["default","passthrough"],description:"Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.",title:"Jms Key Format Strategy",required:!1,deprecated:!1},mapJmsMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc.",title:"Map Jms Message",required:!1,deprecated:!1},maxMessagesPerTask:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max), then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.",title:"Max Messages Per Task",required:!1,deprecated:!1},messageConverter:{kind:"parameter",type:"object",description:"To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a jakarta.jms.Message.",title:"Message Converter",required:!1,deprecated:!1},messageCreatedStrategy:{kind:"parameter",type:"object",description:"To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message.",title:"Message Created Strategy",required:!1,deprecated:!1},messageIdEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When sending, specifies whether message IDs should be added. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value.",title:"Message Id Enabled",required:!1,deprecated:!1},messageListenerContainerFactory:{kind:"parameter",type:"object",description:"Registry ID of the MessageListenerContainerFactory used to determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use to consume messages. Setting this will automatically set consumerType to Custom.",title:"Message Listener Container Factory",required:!1,deprecated:!1},messageTimestampEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether timestamps should be enabled by default on sending messages. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal value.",title:"Message Timestamp Enabled",required:!1,deprecated:!1},pubSubNoLocal:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to inhibit the delivery of messages published by its own connection.",title:"Pub Sub No Local",required:!1,deprecated:!1},receiveTimeout:{kind:"parameter",type:"duration",defaultValue:"1000",description:"The timeout for receiving messages (in milliseconds).",title:"Receive Timeout",required:!1,deprecated:!1},recoveryInterval:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds.",title:"Recovery Interval",required:!1,deprecated:!1},requestTimeoutCheckerInterval:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout.",title:"Request Timeout Checker Interval",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The caught exception is required to be serializable. The original Exception on the consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException when returned to the producer. Use this with caution as the data is using Java Object serialization and requires the received to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumer!",title:"Transfer Exception",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the payloads is an Exchange and not a regular payload. Use this with caution as the data is using Java Object serialization and requires the receiver to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumers having to use compatible Camel versions!",title:"Transfer Exchange",required:!1,deprecated:!1},useMessageIDAsCorrelationID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.",title:"Use Message IDAs Correlation ID",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedCounter:{kind:"parameter",type:"integer",defaultValue:"50",description:"Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.",title:"Wait For Provision Correlation To Be Updated Counter",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedThreadSleepingTime:{kind:"parameter",type:"duration",defaultValue:"100",description:"Interval in millis to sleep each time while waiting for provisional correlation id to be updated.",title:"Wait For Provision Correlation To Be Updated Thread Sleeping Time",required:!1,deprecated:!1},errorHandlerLoggingLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Allows to configure the default errorHandler logging level for logging uncaught exceptions.",title:"Error Handler Logging Level",required:!1,deprecated:!1},errorHandlerLogStackTrace:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows to control whether stacktraces should be logged or not, by the default errorHandler.",title:"Error Handler Log Stack Trace",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Username",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to use transacted mode",title:"Transacted",required:!1,deprecated:!1},transactedInOut:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether InOut operations (request reply) default to using transacted mode If this flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS: that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not taken into account. Depending on the Java EE transaction context, the container makes its own decisions on these values. Analogously, these parameters are not taken into account within a locally managed transaction either, since Spring JMS operates on an existing JMS Session in this case. Setting this flag to true will use a short local JMS transaction when running outside of a managed transaction, and a synchronized local JMS transaction in case of a managed transaction (other than an XA transaction) being present. This has the effect of a local JMS transaction being managed alongside the main transaction (which might be a native JDBC transaction), with the JMS transaction committing right after the main transaction.",title:"Transacted In Out",required:!1,deprecated:!1},lazyCreateTransactionManager:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true.",title:"Lazy Create Transaction Manager",required:!1,deprecated:!1},transactionManager:{kind:"parameter",type:"object",description:"The Spring transaction manager to use.",title:"Transaction Manager",required:!1,deprecated:!1},transactionName:{kind:"parameter",type:"string",description:"The name of the transaction to use.",title:"Transaction Name",required:!1,deprecated:!1},transactionTimeout:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The timeout value of the transaction (in seconds), if using transacted mode.",title:"Transaction Timeout",required:!1,deprecated:!1}}},arangodb:{type:"object",title:"ArangoDb",group:"database",icon:"generic24.png",description:"Perform operations on ArangoDb when used as a Document Database, or as a Graph Database",properties:{database:{kind:"path",type:"string",description:"database name",title:"Database",required:!0,deprecated:!1},documentCollection:{kind:"parameter",type:"string",description:"Collection name, when using ArangoDb as a Document Database. Set the documentCollection name when using the CRUD operation on the document database collections (SAVE_DOCUMENT , FIND_DOCUMENT_BY_KEY, UPDATE_DOCUMENT, DELETE_DOCUMENT).",title:"Document Collection",required:!1,deprecated:!1},edgeCollection:{kind:"parameter",type:"string",description:"Collection name of vertices, when using ArangoDb as a Graph Database. Set the edgeCollection name to perform CRUD operation on edges using these operations : SAVE_VERTEX, FIND_VERTEX_BY_KEY, UPDATE_VERTEX, DELETE_VERTEX. The graph attribute is mandatory.",title:"Edge Collection",required:!1,deprecated:!1},graph:{kind:"parameter",type:"string",description:"Graph name, when using ArangoDb as a Graph Database. Combine this attribute with one of the two attributes vertexCollection and edgeCollection.",title:"Graph",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"ArangoDB host. If host and port are default, this field is Optional.",title:"Host",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["SAVE_DOCUMENT","FIND_DOCUMENT_BY_KEY","UPDATE_DOCUMENT","DELETE_DOCUMENT","AQL_QUERY","SAVE_VERTEX","FIND_VERTEX_BY_KEY","UPDATE_VERTEX","DELETE_VERTEX","SAVE_EDGE","FIND_EDGE_BY_KEY","UPDATE_EDGE","DELETE_EDGE"],description:"Operations to perform on ArangoDb. For the operation AQL_QUERY, no need to specify a collection or graph.",title:"Operation",required:!1,deprecated:!1},port:{kind:"parameter",type:"integer",description:"ArangoDB exposed port. If host and port are default, this field is Optional.",title:"Port",required:!1,deprecated:!1},vertexCollection:{kind:"parameter",type:"string",description:"Collection name of vertices, when using ArangoDb as a Graph Database. Set the vertexCollection name to perform CRUD operation on vertices using these operations : SAVE_EDGE, FIND_EDGE_BY_KEY, UPDATE_EDGE, DELETE_EDGE. The graph attribute is mandatory.",title:"Vertex Collection",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},arangoDB:{kind:"parameter",type:"object",description:"To use an existing ArangDB client.",title:"Arango DB",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"ArangoDB password. If user and password are default, this field is Optional.",title:"Password",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"ArangoDB user. If user and password are default, this field is Optional.",title:"User",required:!1,deprecated:!1}}},as2:{type:"object",title:"AS2",group:"file",icon:"generic24.png",description:"Transfer data securely and reliably using the AS2 protocol (RFC4130).",properties:{apiName:{kind:"path",type:"object",enum:["CLIENT","SERVER"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},as2From:{kind:"parameter",type:"string",description:"The value of the AS2From header of AS2 message.",title:"As2 From",required:!1,deprecated:!1},as2MessageStructure:{kind:"parameter",type:"object",enum:["PLAIN","SIGNED","ENCRYPTED","SIGNED_ENCRYPTED","PLAIN_COMPRESSED","SIGNED_COMPRESSED","ENCRYPTED_COMPRESSED","ENCRYPTED_COMPRESSED_SIGNED"],description:"The structure of AS2 Message. One of: PLAIN - No encryption, no signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption, no signature, ENCRYPTED_SIGNED - Encryption, signature",title:"As2 Message Structure",required:!1,deprecated:!1},as2To:{kind:"parameter",type:"string",description:"The value of the AS2To header of AS2 message.",title:"As2 To",required:!1,deprecated:!1},as2Version:{kind:"parameter",type:"string",defaultValue:"1.1",enum:["1.0","1.1"],description:"The version of the AS2 protocol.",title:"As2 Version",required:!1,deprecated:!1},attachedFileName:{kind:"parameter",type:"string",description:"The name of the attached file",title:"Attached File Name",required:!1,deprecated:!1},clientFqdn:{kind:"parameter",type:"string",defaultValue:"camel.apache.org",description:"The Client Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint.",title:"Client Fqdn",required:!1,deprecated:!1},compressionAlgorithm:{kind:"parameter",type:"object",enum:["ZLIB"],description:"The algorithm used to compress EDI message.",title:"Compression Algorithm",required:!1,deprecated:!1},dispositionNotificationTo:{kind:"parameter",type:"string",description:"The value of the Disposition-Notification-To header. Assigning a value to this parameter requests a message disposition notification (MDN) for the AS2 message.",title:"Disposition Notification To",required:!1,deprecated:!1},ediMessageTransferEncoding:{kind:"parameter",type:"string",description:"The transfer encoding of EDI message.",title:"Edi Message Transfer Encoding",required:!1,deprecated:!1},ediMessageType:{kind:"parameter",type:"object",description:"The content type of EDI message. One of application/edifact, application/edi-x12, application/edi-consent, application/xml",title:"Edi Message Type",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",description:"The value of the From header of AS2 message.",title:"From",required:!1,deprecated:!1},hostnameVerifier:{kind:"parameter",type:"object",description:"Set hostname verifier for SSL session.",title:"Hostname Verifier",required:!1,deprecated:!1},httpConnectionPoolSize:{kind:"parameter",type:"integer",defaultValue:"5",description:"The maximum size of the connection pool for http connections (client only)",title:"Http Connection Pool Size",required:!1,deprecated:!1},httpConnectionPoolTtl:{kind:"parameter",type:"object",defaultValue:"15m",description:"The time to live for connections in the connection pool (client only)",title:"Http Connection Pool Ttl",required:!1,deprecated:!1},httpConnectionTimeout:{kind:"parameter",type:"object",defaultValue:"5s",description:"The timeout of the http connection (client only)",title:"Http Connection Timeout",required:!1,deprecated:!1},httpSocketTimeout:{kind:"parameter",type:"object",defaultValue:"5s",description:"The timeout of the underlying http socket (client only)",title:"Http Socket Timeout",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},mdnMessageTemplate:{kind:"parameter",type:"string",description:"The template used to format MDN message",title:"Mdn Message Template",required:!1,deprecated:!1},requestUri:{kind:"parameter",type:"string",defaultValue:"/",description:"The request URI of EDI message.",title:"Request Uri",required:!1,deprecated:!1},server:{kind:"parameter",type:"string",defaultValue:"Camel AS2 Server Endpoint",description:"The value included in the Server message header identifying the AS2 Server.",title:"Server",required:!1,deprecated:!1},serverFqdn:{kind:"parameter",type:"string",defaultValue:"camel.apache.org",description:"The Server Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint.",title:"Server Fqdn",required:!1,deprecated:!1},serverPortNumber:{kind:"parameter",type:"integer",description:"The port number of server.",title:"Server Port Number",required:!1,deprecated:!1},sslContext:{kind:"parameter",type:"object",description:"Set SSL context for connection to remote server.",title:"Ssl Context",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The value of Subject header of AS2 message.",title:"Subject",required:!1,deprecated:!1},targetHostname:{kind:"parameter",type:"string",description:"The host name (IP or DNS name) of target host.",title:"Target Hostname",required:!1,deprecated:!1},targetPortNumber:{kind:"parameter",type:"integer",defaultValue:"80",description:"The port number of target host. -1 indicates the scheme default port.",title:"Target Port Number",required:!1,deprecated:!1},userAgent:{kind:"parameter",type:"string",defaultValue:"Camel AS2 Client Endpoint",description:"The value included in the User-Agent message header identifying the AS2 user agent.",title:"User Agent",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},decryptingPrivateKey:{kind:"parameter",type:"object",description:"The key used to encrypt the EDI message.",title:"Decrypting Private Key",required:!1,deprecated:!1},encryptingAlgorithm:{kind:"parameter",type:"object",enum:["AES128_CBC","AES192_CBC","AES256_CBC","AES128_CCM","AES192_CCM","AES256_CCM","AES128_GCM","AES192_GCM","AES256_GCM","CAMELLIA128_CBC","CAMELLIA192_CBC","CAMELLIA256_CBC","CAST5_CBC","DES_CBC","DES_EDE3_CBC","GOST28147_GCFB","IDEA_CBC","RC2_CBC","RC4","SEED_CBC"],description:"The algorithm used to encrypt EDI message.",title:"Encrypting Algorithm",required:!1,deprecated:!1},encryptingCertificateChain:{kind:"parameter",type:"object",description:"The chain of certificates used to encrypt EDI message.",title:"Encrypting Certificate Chain",required:!1,deprecated:!1},signedReceiptMicAlgorithms:{kind:"parameter",type:"array",description:"The list of algorithms, in order of preference, requested to generate a message integrity check (MIC) returned in message dispostion notification (MDN)",title:"Signed Receipt Mic Algorithms",required:!1,deprecated:!1},signingAlgorithm:{kind:"parameter",type:"object",enum:["SHA3_224WITHRSA","SHA3_256WITHRSA","SHA3_384withRSA","SHA3_512WITHRSA","MD5WITHRSA","SHA1WITHRSA","MD2WITHRSA","SHA224WITHRSA","SHA256WITHRSA","SHA384WITHRSA","SHA512WITHRSA","RIPEMD128WITHRSA","RIPEMD160WITHRSA","RIPEMD256WITHRSA","SHA224WITHDSA","SHA256WITHDSA","SHA384WITHDSA","SHA512WITHDSA","SHA3_224WITHDSA","SHA3_256WITHDSA","SHA3_384WITHDSA","SHA3_512WITHDSA","SHA1WITHDSA","SHA3_224WITHECDSA","SHA3_256WITHECDSA","SHA3_384WITHECDSA","SHA3_512WITHECDSA","SHA1WITHECDSA","SHA224WITHECDSA","SHA256WITHECDSA","SHA384WITHECDSA","SHA512WITHECDSA","SHA1WITHPLAIN_ECDSA","SHA224WITHPLAIN_ECDSA","SHA256WITHPLAIN_ECDSA","SHA384WITHPLAIN_ECDSA","SHA512WITHPLAIN_ECDSA","RIPEMD160WITHPLAIN_ECDSA","SHA1WITHRSAANDMGF1","SHA224WITHRSAANDMGF1","SHA256WITHRSAANDMGF1","SHA384WITHRSAANDMGF1","SHA512WITHRSAANDMGF1","SHA3_224WITHRSAANDMGF1","SHA3_256WITHRSAANDMGF1","SHA3_384WITHRSAANDMGF1","SHA3_512WITHRSAANDMGF1"],description:"The algorithm used to sign EDI message.",title:"Signing Algorithm",required:!1,deprecated:!1},signingCertificateChain:{kind:"parameter",type:"object",description:"The chain of certificates used to sign EDI message.",title:"Signing Certificate Chain",required:!1,deprecated:!1},signingPrivateKey:{kind:"parameter",type:"object",description:"The key used to sign the EDI message.",title:"Signing Private Key",required:!1,deprecated:!1},validateSigningCertificateChain:{kind:"parameter",type:"object",description:"Certificates to validate the message's signature against. If not supplied, validation will not take place. Server: validates the received message. Client: not yet implemented, should validate the MDN",title:"Validate Signing Certificate Chain",required:!1,deprecated:!1}}},asterisk:{type:"object",title:"Asterisk",group:"mobile",icon:"generic24.png",description:"Interact with Asterisk PBX Server (VoIP).",properties:{name:{kind:"path",type:"string",description:"Name of component",title:"Name",required:!0,deprecated:!1},hostname:{kind:"parameter",type:"string",description:"The hostname of the asterisk server",title:"Hostname",required:!0,deprecated:!1},password:{kind:"parameter",type:"string",description:"Login password",title:"Password",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"Login username",title:"Username",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},action:{kind:"parameter",type:"object",enum:["QUEUE_STATUS","SIP_PEERS","EXTENSION_STATE"],description:"What action to perform such as getting queue status, sip peers or extension state.",title:"Action",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"atmosphere-websocket":{type:"object",title:"Atmosphere Websocket",group:"http,networking",icon:"generic24.png",description:"Expose WebSocket endpoints using the Atmosphere framework.",properties:{servicePath:{kind:"path",type:"string",description:"Name of websocket endpoint",title:"Service Path",required:!0,deprecated:!1},chunked:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is false the Servlet will disable the HTTP streaming and set the content-length header on the response",title:"Chunked",required:!1,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",title:"Disable Stream Cache",required:!1,deprecated:!1},sendToAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to send to all (broadcast) or send to a single receiver.",title:"Send To All",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},useStreaming:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable streaming to send data as multiple text fragments.",title:"Use Streaming",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},httpBinding:{kind:"parameter",type:"object",description:"To use a custom HttpBinding to control the mapping between Camel message and HttpClient.",title:"Http Binding",required:!1,deprecated:!1},async:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configure the consumer to work in async mode",title:"Async",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple methods can be specified separated by comma.",title:"Http Method Restrict",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},responseBufferSize:{kind:"parameter",type:"integer",description:"To use a custom buffer size on the jakarta.servlet.ServletResponse.",title:"Response Buffer Size",required:!1,deprecated:!1},servletName:{kind:"parameter",type:"string",defaultValue:"CamelServlet",description:"Name of the servlet to use",title:"Servlet Name",required:!1,deprecated:!1},attachmentMultipartBinding:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to automatic bind multipart/form-data as attachments on the Camel Exchange. The options attachmentMultipartBinding=true and disableStreamCache=false cannot work together. Remove disableStreamCache to use AttachmentMultipartBinding. This is turn off by default as this may require servlet specific configuration to enable this when using Servlet's.",title:"Attachment Multipart Binding",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eagerCheckContentAvailable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to eager check whether the HTTP requests has content if the content-length header is 0 or not present. This can be turned on in case HTTP clients do not send streamed data.",title:"Eager Check Content Available",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},fileNameExtWhitelist:{kind:"parameter",type:"string",description:"Whitelist of accepted filename extensions for accepting uploaded files. Multiple extensions can be separated by comma, such as txt,xml.",title:"File Name Ext Whitelist",required:!1,deprecated:!1},mapHttpMessageBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",title:"Map Http Message Body",required:!1,deprecated:!1},mapHttpMessageFormUrlEncodedBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.",title:"Map Http Message Form Url Encoded Body",required:!1,deprecated:!1},mapHttpMessageHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping.",title:"Map Http Message Headers",required:!1,deprecated:!1},optionsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",title:"Options Enabled",required:!1,deprecated:!1},traceEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off.",title:"Trace Enabled",required:!1,deprecated:!1},bridgeEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let the HttpProducer send all the fault response back.",title:"Bridge Endpoint",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},atom:{type:"object",title:"Atom",group:"document",icon:"generic24.png",description:"Poll Atom RSS feeds.",properties:{feedUri:{kind:"path",type:"string",description:"The URI to the feed to poll.",title:"Feed Uri",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},sortEntries:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to sort entries by published date. Only works when splitEntries = true.",title:"Sort Entries",required:!1,deprecated:!1},splitEntries:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message",title:"Split Entries",required:!1,deprecated:!1},throttleEntries:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true.",title:"Throttle Entries",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},feedHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to add the feed object as a header.",title:"Feed Header",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},avro:{type:"object",title:"Avro RPC",group:"rpc",icon:"generic24.png",description:"Produce or consume Apache Avro RPC services.",properties:{transport:{kind:"path",type:"object",enum:["http","netty"],description:"Transport to use, can be either http or netty",title:"Transport",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number to use",title:"Port",required:!0,deprecated:!1},host:{kind:"path",type:"string",description:"Hostname to use",title:"Host",required:!0,deprecated:!1},messageName:{kind:"path",type:"string",description:"The name of the message to send.",title:"Message Name",required:!1,deprecated:!1},protocol:{kind:"parameter",type:"object",description:"Avro protocol to use",title:"Protocol",required:!1,deprecated:!1},protocolClassName:{kind:"parameter",type:"string",description:"Avro protocol to use defined by the FQN class name",title:"Protocol Class Name",required:!1,deprecated:!1},protocolLocation:{kind:"parameter",type:"string",description:"Avro protocol location",title:"Protocol Location",required:!1,deprecated:!1},reflectionProtocol:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If protocol object provided is reflection protocol. Should be used only with protocol parameter because for protocolClassName protocol type will be auto detected",title:"Reflection Protocol",required:!1,deprecated:!1},singleParameter:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, consumer parameter won't be wrapped into array. Will fail if protocol specifies more then 1 parameter for the message",title:"Single Parameter",required:!1,deprecated:!1},uriAuthority:{kind:"parameter",type:"string",description:"Authority to use (username and password)",title:"Uri Authority",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"aws-cloudtrail":{type:"object",title:"AWS Cloudtrail",group:"cloud,management,monitoring",icon:"generic24.png",description:"Consume events from Amazon Cloudtrail using AWS SDK version 2.x.",properties:{label:{kind:"path",type:"string",description:"A label for indexing cloudtrail endpoints",title:"Label",required:!0,deprecated:!1},eventSource:{kind:"parameter",type:"string",description:"Specify an event source to select events",title:"Event Source",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",defaultValue:"1",description:"Maximum number of records that will be fetched in each poll",title:"Max Results",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which Cloudtrail client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},cloudTrailClient:{kind:"parameter",type:"object",description:"Amazon Cloudtrail client to use for all requests for this endpoint",title:"Cloud Trail Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Cloudtrail client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Cloudtrail client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Cloudtrail client",title:"Proxy Protocol",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name.",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Cloudtrail client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Cloudtrail client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws-secrets-manager":{type:"object",title:"AWS Secrets Manager",group:"cloud,management",icon:"generic24.png",description:"Manage secrets using AWS Secrets Manager.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},binaryPayload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the secret is binary or not",title:"Binary Payload",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listSecrets","createSecret","getSecret","describeSecret","deleteSecret","rotateSecret","updateSecret","restoreSecret","replicateSecretToRegions"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Secrets Manager client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},secretsManagerClient:{kind:"parameter",type:"object",description:"To use a existing configured AWS Secrets Manager as client",title:"Secrets Manager Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Secrets Manager client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Secrets Manager client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Secrets Manager client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Translate client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1}}},"aws2-athena":{type:"object",title:"AWS Athena",group:"cloud,database",icon:"generic24.png",description:"Access AWS Athena.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},database:{kind:"parameter",type:"string",description:"The Athena database to use.",title:"Database",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"2000",description:"Milliseconds before the next poll for query execution status. See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Delay",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll for query execution status. See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Initial Delay",required:!1,deprecated:!1},maxAttempts:{kind:"parameter",type:"integer",defaultValue:"1",description:"Maximum number of times to attempt a query. Set to 1 to disable retries. See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Max Attempts",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",description:"Max number of results to return for the given operation (if supported by the Athena API endpoint). If not set, will use the Athena API default for the given operation.",title:"Max Results",required:!1,deprecated:!1},nextToken:{kind:"parameter",type:"string",description:"Pagination token to use in the case where the response from the previous request was truncated.",title:"Next Token",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"startQueryExecution",enum:["getQueryExecution","getQueryResults","listQueryExecutions","startQueryExecution"],description:"The Athena API function to call.",title:"Operation",required:!1,deprecated:!1},outputLocation:{kind:"parameter",type:"string",description:"The location in Amazon S3 where query results are stored, such as s3://path/to/query/bucket/. Ensure this value ends with a forward slash.",title:"Output Location",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"StreamList",enum:["StreamList","SelectList","S3Pointer"],description:"How query results should be returned. One of StreamList (default - return a GetQueryResultsIterable that can page through all results), SelectList (returns at most 1000 rows at a time, plus a NextToken value as a header than can be used for manual pagination of results), S3Pointer (return an S3 path pointing to the results).",title:"Output Type",required:!1,deprecated:!1},queryExecutionId:{kind:"parameter",type:"string",description:"The unique ID identifying the query execution.",title:"Query Execution Id",required:!1,deprecated:!1},queryString:{kind:"parameter",type:"string",description:"The SQL query to run. Except for simple queries, prefer setting this as the body of the Exchange or as a header using Athena2Constants.QUERY_STRING to avoid having to deal with URL encoding issues.",title:"Query String",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1).",title:"Region",required:!1,deprecated:!1},resetWaitTimeoutOnRetry:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Reset the waitTimeout countdown in the event of a query retry. If set to true, potential max time spent waiting for queries is equal to waitTimeout x maxAttempts. See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Reset Wait Timeout On Retry",required:!1,deprecated:!1},retry:{kind:"parameter",type:"string",defaultValue:"never",enum:["never","always","retryable","exhausted","generic"],description:"Optional comma separated list of error types to retry the query for. Use: 'retryable' to retry all retryable failure conditions (e.g. generic errors and resources exhausted), 'generic' to retry 'GENERIC_INTERNAL_ERROR' failures, 'exhausted' to retry queries that have exhausted resource limits, 'always' to always retry regardless of failure condition, or 'never' or null to never retry (default). See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Retry",required:!1,deprecated:!1},waitTimeout:{kind:"parameter",type:"integer",defaultValue:"0",description:"Optional max wait time in millis to wait for a successful query completion. See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Wait Timeout",required:!1,deprecated:!1},workGroup:{kind:"parameter",type:"string",description:"The workgroup to use for running the query.",title:"Work Group",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonAthenaClient:{kind:"parameter",type:"object",description:"The AmazonAthena instance to use as the client.",title:"Amazon Athena Client",required:!1,deprecated:!1},clientRequestToken:{kind:"parameter",type:"string",description:"A unique string to ensure issues queries are idempotent. It is unlikely you will need to set this.",title:"Client Request Token",required:!1,deprecated:!1},includeTrace:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Include useful trace information at the beginning of queries as an SQL comment (prefixed with --).",title:"Include Trace",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Athena client.",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Athena client.",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Athena client.",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key.",title:"Access Key",required:!1,deprecated:!1},encryptionOption:{kind:"parameter",type:"object",enum:["SSE_S3","SSE_KMS","CSE_KMS","null"],description:"The encryption type to use when storing query results in S3. One of SSE_S3, SSE_KMS, or CSE_KMS.",title:"Encryption Option",required:!1,deprecated:!1},kmsKey:{kind:"parameter",type:"string",description:"For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.",title:"Kms Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key.",title:"Secret Key",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Athena client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Athena client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-cw":{type:"object",title:"AWS CloudWatch",group:"cloud,monitoring",icon:"generic24.png",description:"Sending metrics to AWS CloudWatch.",properties:{namespace:{kind:"path",type:"string",description:"The metric namespace",title:"Namespace",required:!0,deprecated:!1},name:{kind:"parameter",type:"string",description:"The metric name",title:"Name",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which CW client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},timestamp:{kind:"parameter",type:"object",description:"The metric timestamp",title:"Timestamp",required:!1,deprecated:!1},unit:{kind:"parameter",type:"string",description:"The metric unit",title:"Unit",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},value:{kind:"parameter",type:"number",description:"The metric value",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonCwClient:{kind:"parameter",type:"object",description:"To use the AmazonCloudWatch as the client",title:"Amazon Cw Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the CW client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the CW client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the CW client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Cloudwatch client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-ddb":{type:"object",title:"AWS DynamoDB",group:"cloud,database",icon:"generic24.png",description:"Store and retrieve data from AWS DynamoDB.",properties:{tableName:{kind:"path",type:"string",description:"The name of the table currently worked with.",title:"Table Name",required:!0,deprecated:!1},consistentRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not strong consistency should be enforced when data is read.",title:"Consistent Read",required:!1,deprecated:!1},enabledInitialDescribeTable:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Set whether the initial Describe table operation in the DDB Endpoint must be done, or not.",title:"Enabled Initial Describe Table",required:!1,deprecated:!1},keyAttributeName:{kind:"parameter",type:"string",description:"Attribute name when creating table",title:"Key Attribute Name",required:!1,deprecated:!1},keyAttributeType:{kind:"parameter",type:"string",description:"Attribute type when creating table",title:"Key Attribute Type",required:!1,deprecated:!1},keyScalarType:{kind:"parameter",type:"string",description:"The key scalar type, it can be S (String), N (Number) and B (Bytes)",title:"Key Scalar Type",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"PutItem",enum:["BatchGetItems","DeleteItem","DeleteTable","DescribeTable","GetItem","PutItem","Query","Scan","UpdateItem","UpdateTable"],description:"What operation to perform",title:"Operation",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},readCapacity:{kind:"parameter",type:"integer",description:"The provisioned throughput to reserve for reading resources from your table",title:"Read Capacity",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which DDB client needs to work",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},writeCapacity:{kind:"parameter",type:"integer",description:"The provisioned throughput to reserved for writing resources to your table",title:"Write Capacity",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonDDBClient:{kind:"parameter",type:"object",description:"To use the AmazonDynamoDB as the client",title:"Amazon DDBClient",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the DDB client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"The region in which DynamoDB client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the DDB client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the DDB client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-ddbstream":{type:"object",title:"AWS DynamoDB Streams",group:"cloud,messaging",icon:"generic24.png",description:"Receive messages from AWS DynamoDB Stream.",properties:{tableName:{kind:"path",type:"string",description:"Name of the dynamodb table",title:"Table Name",required:!0,deprecated:!1},maxResultsPerRequest:{kind:"parameter",type:"integer",description:"Maximum number of records that will be fetched in each poll",title:"Max Results Per Request",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which DDBStreams client needs to work",title:"Region",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamIteratorType:{kind:"parameter",type:"object",defaultValue:"FROM_LATEST",enum:["FROM_LATEST","FROM_START"],description:"Defines where in the DynamoDB stream to start getting records. Note that using FROM_START can cause a significant delay before the stream has caught up to real-time.",title:"Stream Iterator Type",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},amazonDynamoDbStreamsClient:{kind:"parameter",type:"object",description:"Amazon DynamoDB client to use for all requests for this endpoint",title:"Amazon Dynamo Db Streams Client",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the DDBStreams client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the DDBStreams client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the DDBStreams client",title:"Proxy Protocol",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name.",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the DynamoDB Streams client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Cloudtrail client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-ec2":{type:"object",title:"AWS Elastic Compute Cloud (EC2)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS EC2 instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},amazonEc2Client:{kind:"parameter",type:"object",description:"To use a existing configured AmazonEC2Client as client",title:"Amazon Ec2 Client",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["createAndRunInstances","startInstances","stopInstances","terminateInstances","describeInstances","describeInstancesStatus","rebootInstances","monitorInstances","unmonitorInstances","createTags","deleteTags"],description:"The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which EC2 client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the EC2 client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the EC2 client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the EC2 client",title:"Proxy Protocol",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the EC2 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the EC2 client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-ecs":{type:"object",title:"AWS Elastic Container Service (ECS)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS ECS cluster instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listClusters","describeCluster","createCluster","deleteCluster"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},ecsClient:{kind:"parameter",type:"object",description:"To use a existing configured AWS ECS as client",title:"Ecs Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the ECS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the ECS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the ECS client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the ECS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the ECS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-eks":{type:"object",title:"AWS Elastic Kubernetes Service (EKS)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS EKS cluster instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listClusters","describeCluster","createCluster","deleteCluster"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",defaultValue:"false",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which EKS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the EKS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the EKS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},eksClient:{kind:"parameter",type:"object",description:"To use a existing configured AWS EKS as client",title:"Eks Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the EKS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the EKS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the EKS client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1}}},"aws2-eventbridge":{type:"object",title:"AWS Eventbridge",group:"cloud,management",icon:"generic24.png",description:"Send events to AWS Eventbridge cluster instances.",properties:{eventbusNameOrArn:{kind:"path",type:"string",description:"Event bus name or ARN",title:"Eventbus Name Or Arn",required:!0,deprecated:!1},eventPatternFile:{kind:"parameter",type:"string",description:"EventPattern File",title:"Event Pattern File",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"putRule",enum:["putRule","putTargets","removeTargets","deleteRule","enableRule","disableRule","describeRule","listRules","listTargetsByRule","listRuleNamesByTarget","putEvent"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which Eventbridge client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},eventbridgeClient:{kind:"parameter",type:"object",description:"To use a existing configured AWS Eventbridge as client",title:"Eventbridge Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Eventbridge client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Eventbridge client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Eventbridge client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Eventbridge client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Eventbridge client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-iam":{type:"object",title:"AWS Identity and Access Management (IAM)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS IAM instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},iamClient:{kind:"parameter",type:"object",description:"To use a existing configured AWS IAM as client",title:"Iam Client",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listAccessKeys","createUser","deleteUser","getUser","listUsers","createAccessKey","deleteAccessKey","updateAccessKey","createGroup","deleteGroup","listGroups","addUserToGroup","removeUserFromGroup"],description:"The operation to perform. You can configure a default operation on the component level, or the operation as part of the endpoint, or via a message header with the key CamelAwsIAMOperation.",title:"Operation",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",defaultValue:"aws-global",description:"The region in which IAM client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the IAM client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the IAM client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the IAM client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the IAM client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the IAM client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-kinesis":{type:"object",title:"AWS Kinesis",group:"cloud,messaging",icon:"generic24.png",description:"Consume and produce records from and to AWS Kinesis Streams.",properties:{streamName:{kind:"path",type:"string",description:"Name of the stream",title:"Stream Name",required:!0,deprecated:!1},cborEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option will set the CBOR_ENABLED property during the execution",title:"Cbor Enabled",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},iteratorType:{kind:"parameter",type:"object",defaultValue:"TRIM_HORIZON",enum:["AT_SEQUENCE_NUMBER","AFTER_SEQUENCE_NUMBER","TRIM_HORIZON","LATEST","AT_TIMESTAMP","null"],description:"Defines where in the Kinesis stream to start getting records",title:"Iterator Type",required:!1,deprecated:!1},maxResultsPerRequest:{kind:"parameter",type:"integer",defaultValue:"1",description:"Maximum number of records that will be fetched in each poll",title:"Max Results Per Request",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},sequenceNumber:{kind:"parameter",type:"string",description:"The sequence number to start polling from. Required if iteratorType is set to AFTER_SEQUENCE_NUMBER or AT_SEQUENCE_NUMBER",title:"Sequence Number",required:!1,deprecated:!1},shardClosed:{kind:"parameter",type:"object",defaultValue:"ignore",enum:["ignore","fail","silent"],description:"Define what will be the behavior in case of shard closed. Possible value are ignore, silent and fail. In case of ignore a message will be logged and the consumer will restart from the beginning,in case of silent there will be no logging and the consumer will start from the beginning,in case of fail a ReachedClosedStateException will be raised",title:"Shard Closed",required:!1,deprecated:!1},shardId:{kind:"parameter",type:"string",description:"Defines which shardId in the Kinesis stream to get records from",title:"Shard Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonKinesisClient:{kind:"parameter",type:"object",description:"Amazon Kinesis client to use for all requests for this endpoint",title:"Amazon Kinesis Client",required:!1,deprecated:!1},asyncClient:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to a KinesisAsyncClient instance set it to true",title:"Async Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Kinesis client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Kinesis client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Kinesis client",title:"Proxy Protocol",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name.",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kinesis client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kinesis client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-kinesis-firehose":{type:"object",title:"AWS Kinesis Firehose",group:"cloud,messaging",icon:"generic24.png",description:"Produce data to AWS Kinesis Firehose streams.",properties:{streamName:{kind:"path",type:"string",description:"Name of the stream",title:"Stream Name",required:!0,deprecated:!1},cborEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option will set the CBOR_ENABLED property during the execution",title:"Cbor Enabled",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["sendBatchRecord","createDeliveryStream","deleteDeliveryStream","describeDeliveryStream","updateDestination"],description:"The operation to do in case the user don't want to send only a record",title:"Operation",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonKinesisFirehoseClient:{kind:"parameter",type:"object",description:"Amazon Kinesis Firehose client to use for all requests for this endpoint",title:"Amazon Kinesis Firehose Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Kinesis Firehose client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Kinesis Firehose client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Kinesis Firehose client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name.",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kinesis Firehose client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-kms":{type:"object",title:"AWS Key Management Service (KMS)",group:"cloud,management",icon:"generic24.png",description:"Manage keys stored in AWS KMS instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listKeys","createKey","disableKey","scheduleKeyDeletion","describeKey","enableKey"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which EKS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},kmsClient:{kind:"parameter",type:"object",description:"To use a existing configured AWS KMS as client",title:"Kms Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the KMS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the KMS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the KMS client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the KMS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the KMS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-lambda":{type:"object",title:"AWS Lambda",group:"cloud,serverless",icon:"generic24.png",description:"Manage and invoke AWS Lambda functions.",properties:{function:{kind:"path",type:"string",description:"Name of the Lambda function.",title:"Function",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"invokeFunction",enum:["listFunctions","getFunction","createAlias","deleteAlias","getAlias","listAliases","createFunction","deleteFunction","invokeFunction","updateFunction","createEventSourceMapping","deleteEventSourceMapping","listEventSourceMapping","listTags","tagResource","untagResource","publishVersion","listVersions"],description:"The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction",title:"Operation",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which Lambda client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},awsLambdaClient:{kind:"parameter",type:"object",description:"To use a existing configured AwsLambdaClient as client",title:"Aws Lambda Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Lambda client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Lambda client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Lambda client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Lambda client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Lambda client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-mq":{type:"object",title:"AWS MQ",group:"cloud,messaging",icon:"generic24.png",description:"Send messages to AWS MQ.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listBrokers","createBroker","deleteBroker","rebootBroker","updateBroker","describeBroker"],description:"The operation to perform. It can be listBrokers,createBroker,deleteBroker",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which MQ client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonMqClient:{kind:"parameter",type:"object",description:"To use a existing configured AmazonMQClient as client",title:"Amazon Mq Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the MQ client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the MQ client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the MQ client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the MQ client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the MQ client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-msk":{type:"object",title:"AWS Managed Streaming for Apache Kafka (MSK)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS MSK instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listClusters","createCluster","deleteCluster","describeCluster"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which MSK client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},mskClient:{kind:"parameter",type:"object",description:"To use a existing configured AWS MSK as client",title:"Msk Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the MSK client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the MSK client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the MSK client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kafka client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the MSK client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-s3":{type:"object",title:"AWS S3 Storage Service",group:"cloud,file",icon:"generic24.png",description:"Store and retrieve objects from AWS S3 Storage Service.",properties:{bucketNameOrArn:{kind:"path",type:"string",description:"Bucket name or ARN",title:"Bucket Name Or Arn",required:!0,deprecated:!1},autoCreateBucket:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting the autocreation of the S3 bucket bucketName. This will apply also in case of moveAfterRead option enabled and it will create the destinationBucket if it doesn't exist already.",title:"Auto Create Bucket",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"string",description:"The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in.",title:"Delimiter",required:!1,deprecated:!1},forcePathStyle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should use path-style URL instead of virtual-hosted-style",title:"Force Path Style",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},policy:{kind:"parameter",type:"string",description:"The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method.",title:"Policy",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"string",description:"The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in.",title:"Prefix",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which S3 client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},customerAlgorithm:{kind:"parameter",type:"string",description:"Define the customer algorithm to use in case CustomerKey is enabled",title:"Customer Algorithm",required:!1,deprecated:!1},customerKeyId:{kind:"parameter",type:"string",description:"Define the id of Customer key to use in case CustomerKey is enabled",title:"Customer Key Id",required:!1,deprecated:!1},customerKeyMD5:{kind:"parameter",type:"string",description:"Define the MD5 of Customer key to use in case CustomerKey is enabled",title:"Customer Key MD5",required:!1,deprecated:!1},deleteAfterRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Delete objects from S3 after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. Therefore you need to use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY headers, or only the AWS2S3Constants#KEY header.",title:"Delete After Read",required:!1,deprecated:!1},destinationBucket:{kind:"parameter",type:"string",description:"Define the destination bucket where an object must be moved when moveAfterRead is set to true.",title:"Destination Bucket",required:!1,deprecated:!1},destinationBucketPrefix:{kind:"parameter",type:"string",description:"Define the destination bucket prefix to use when an object must be moved and moveAfterRead is set to true.",title:"Destination Bucket Prefix",required:!1,deprecated:!1},destinationBucketSuffix:{kind:"parameter",type:"string",description:"Define the destination bucket suffix to use when an object must be moved and moveAfterRead is set to true.",title:"Destination Bucket Suffix",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"If provided, Camel will only consume files if a done file exists.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"To get the object from the bucket with the given file name",title:"File Name",required:!1,deprecated:!1},ignoreBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If it is true, the S3 Object Body will be ignored completely, if it is set to false the S3 Object will be put in the body. Setting this to true, will override any behavior defined by includeBody option.",title:"Ignore Body",required:!1,deprecated:!1},includeBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the S3Object exchange will be consumed and put into the body and closed. If false the S3Object stream will be put raw into the body and the headers will be set with the S3 object metadata. This option is strongly related to autocloseBody option. In case of setting includeBody to true because the S3Object stream will be consumed then it will also be closed, while in case of includeBody false then it will be up to the caller to close the S3Object stream. However setting autocloseBody to true when includeBody is false it will schedule to close the S3Object stream automatically on exchange completion.",title:"Include Body",required:!1,deprecated:!1},includeFolders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those",title:"Include Folders",required:!1,deprecated:!1},maxConnections:{kind:"parameter",type:"integer",defaultValue:"60",description:"Set the maxConnections parameter in the S3 client configuration",title:"Max Connections",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"10",description:"Gets the maximum number of messages as a limit to poll at each polling. Gets the maximum number of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative number to set it as unlimited.",title:"Max Messages Per Poll",required:!1,deprecated:!1},moveAfterRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Move objects from S3 bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved.",title:"Move After Read",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},autocloseBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true and includeBody is false, then the S3Object.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to false and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically.",title:"Autoclose Body",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},batchMessageNumber:{kind:"parameter",type:"integer",defaultValue:"10",description:"The number of messages composing a batch in streaming upload mode",title:"Batch Message Number",required:!1,deprecated:!1},batchSize:{kind:"parameter",type:"integer",defaultValue:"1000000",description:"The batch size (in bytes) in streaming upload mode",title:"Batch Size",required:!1,deprecated:!1},deleteAfterWrite:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Delete file object after the S3 file has been uploaded",title:"Delete After Write",required:!1,deprecated:!1},keyName:{kind:"parameter",type:"string",description:"Setting the key name for an element in the bucket through endpoint parameter",title:"Key Name",required:!1,deprecated:!1},multiPartUpload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If it is true, camel will upload the file with multi part format, the part size is decided by the option of partSize",title:"Multi Part Upload",required:!1,deprecated:!1},namingStrategy:{kind:"parameter",type:"object",defaultValue:"progressive",enum:["progressive","random"],description:"The naming strategy to use in streaming upload mode",title:"Naming Strategy",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["copyObject","listObjects","deleteObject","deleteBucket","listBuckets","getObject","getObjectRange","createDownloadLink"],description:"The operation to do in case the user don't want to do only an upload",title:"Operation",required:!1,deprecated:!1},partSize:{kind:"parameter",type:"integer",defaultValue:"26214400",description:"Setup the partSize which is used in multi part upload, the default size is 25M.",title:"Part Size",required:!1,deprecated:!1},restartingPolicy:{kind:"parameter",type:"object",defaultValue:"override",enum:["override","lastPart"],description:"The restarting policy to use in streaming upload mode",title:"Restarting Policy",required:!1,deprecated:!1},storageClass:{kind:"parameter",type:"string",description:"The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request.",title:"Storage Class",required:!1,deprecated:!1},streamingUploadMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When stream mode is true the upload to bucket will be done in streaming",title:"Streaming Upload Mode",required:!1,deprecated:!1},streamingUploadTimeout:{kind:"parameter",type:"integer",description:"While streaming upload mode is true, this option set the timeout to complete upload",title:"Streaming Upload Timeout",required:!1,deprecated:!1},awsKMSKeyId:{kind:"parameter",type:"string",description:"Define the id of KMS key to use in case KMS is enabled",title:"Aws KMSKey Id",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},useAwsKMS:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if KMS must be used or not",title:"Use Aws KMS",required:!1,deprecated:!1},useCustomerKey:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if Customer Key must be used or not",title:"Use Customer Key",required:!1,deprecated:!1},useSSES3:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if SSE S3 must be used or not",title:"Use SSES3",required:!1,deprecated:!1},amazonS3Client:{kind:"parameter",type:"object",description:"Reference to a com.amazonaws.services.s3.AmazonS3 in the registry.",title:"Amazon S3 Client",required:!1,deprecated:!1},amazonS3Presigner:{kind:"parameter",type:"object",description:"An S3 Presigner for Request, used mainly in createDownloadLink operation",title:"Amazon S3 Presigner",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the SQS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Specify a proxy port to be used inside the client definition.",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the S3 client",title:"Proxy Protocol",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should expect to load credentials through a default credentials provider.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-ses":{type:"object",title:"AWS Simple Email Service (SES)",group:"cloud,mail",icon:"generic24.png",description:"Send e-mails through AWS SES service.",properties:{from:{kind:"path",type:"string",description:"The sender's email address.",title:"From",required:!0,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"List of comma separated destination blind carbon copy (bcc) email address. Can be overridden with 'CamelAwsSesBcc' header.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"List of comma separated destination carbon copy (cc) email address. Can be overridden with 'CamelAwsSesCc' header.",title:"Cc",required:!1,deprecated:!1},configurationSet:{kind:"parameter",type:"string",description:"Set the configuration set to send with every request. Override it with 'CamelAwsSesConfigurationSet' header.",title:"Configuration Set",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which SES client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},replyToAddresses:{kind:"parameter",type:"string",description:"List of comma separated reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header.",title:"Reply To Addresses",required:!1,deprecated:!1},returnPath:{kind:"parameter",type:"string",description:"The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header.",title:"Return Path",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The subject which is used if the message header 'CamelAwsSesSubject' is not present.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"List of comma separated destination email address. Can be overridden with 'CamelAwsSesTo' header.",title:"To",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonSESClient:{kind:"parameter",type:"object",description:"To use the AmazonSimpleEmailService as the client",title:"Amazon SESClient",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the SES client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the SES client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the SES client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Ses client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SES client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-sns":{type:"object",title:"AWS Simple Notification System (SNS)",group:"cloud,messaging,mobile",icon:"generic24.png",description:"Send messages to AWS Simple Notification Topic.",properties:{topicNameOrArn:{kind:"path",type:"string",description:"Topic name or ARN",title:"Topic Name Or Arn",required:!0,deprecated:!1},autoCreateTopic:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting the autocreation of the topic",title:"Auto Create Topic",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to map headers to/from Camel.",title:"Header Filter Strategy",required:!1,deprecated:!1},kmsMasterKeyId:{kind:"parameter",type:"string",description:"The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK.",title:"Kms Master Key Id",required:!1,deprecated:!1},messageDeduplicationIdStrategy:{kind:"parameter",type:"string",defaultValue:"useExchangeId",enum:["useExchangeId","useContentBasedDeduplication"],description:"Only for FIFO Topic. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message.",title:"Message Deduplication Id Strategy",required:!1,deprecated:!1},messageGroupIdStrategy:{kind:"parameter",type:"string",enum:["useConstant","useExchangeId","usePropertyValue"],description:"Only for FIFO Topic. Strategy for setting the messageGroupId on the message. Can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used.",title:"Message Group Id Strategy",required:!1,deprecated:!1},messageStructure:{kind:"parameter",type:"string",description:"The message structure to use such as json",title:"Message Structure",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},policy:{kind:"parameter",type:"string",description:"The policy for this topic. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Policy",required:!1,deprecated:!1},queueArn:{kind:"parameter",type:"string",description:"The ARN endpoint to subscribe to",title:"Queue Arn",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which SNS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},serverSideEncryptionEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if Server Side Encryption is enabled or not on the topic",title:"Server Side Encryption Enabled",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The subject which is used if the message header 'CamelAwsSnsSubject' is not present.",title:"Subject",required:!1,deprecated:!1},subscribeSNStoSQS:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if the subscription between SNS Topic and SQS must be done or not",title:"Subscribe SNSto SQS",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonSNSClient:{kind:"parameter",type:"object",description:"To use the AmazonSNS as the client",title:"Amazon SNSClient",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the SNS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the SNS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the SNS client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SNS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SNS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-sqs":{type:"object",title:"AWS Simple Queue Service (SQS)",group:"cloud,messaging",icon:"generic24.png",description:"Send and receive messages to/from AWS SQS.",properties:{queueNameOrArn:{kind:"path",type:"string",description:"Queue name or ARN",title:"Queue Name Or Arn",required:!0,deprecated:!1},amazonAWSHost:{kind:"parameter",type:"string",defaultValue:"amazonaws.com",description:"The hostname of the Amazon AWS cloud.",title:"Amazon AWSHost",required:!1,deprecated:!1},autoCreateQueue:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting the autocreation of the queue",title:"Auto Create Queue",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to map headers to/from Camel.",title:"Header Filter Strategy",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},protocol:{kind:"parameter",type:"string",defaultValue:"https",description:"The underlying protocol used to communicate with SQS",title:"Protocol",required:!1,deprecated:!1},queueOwnerAWSAccountId:{kind:"parameter",type:"string",description:"Specify the queue owner aws account id when you need to connect the queue with different account owner.",title:"Queue Owner AWSAccount Id",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},attributeNames:{kind:"parameter",type:"string",description:"A list of attribute names to receive when consuming. Multiple names can be separated by comma.",title:"Attribute Names",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Allows you to use multiple threads to poll the sqs queue to increase throughput",title:"Concurrent Consumers",required:!1,deprecated:!1},defaultVisibilityTimeout:{kind:"parameter",type:"integer",description:"The default visibility timeout (in seconds)",title:"Default Visibility Timeout",required:!1,deprecated:!1},deleteAfterRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Delete message from SQS after it has been read",title:"Delete After Read",required:!1,deprecated:!1},deleteIfFiltered:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to send the DeleteMessage to the SQS queue if the exchange has property with key Sqs2Constants#SQS_DELETE_FILTERED (CamelAwsSqsDeleteFiltered) set to true.",title:"Delete If Filtered",required:!1,deprecated:!1},extendMessageVisibility:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true defaultVisibilityTimeout must be set. See details at Amazon docs.",title:"Extend Message Visibility",required:!1,deprecated:!1},kmsDataKeyReusePeriodSeconds:{kind:"parameter",type:"integer",description:"The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes).",title:"Kms Data Key Reuse Period Seconds",required:!1,deprecated:!1},kmsMasterKeyId:{kind:"parameter",type:"string",description:"The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK.",title:"Kms Master Key Id",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Gets the maximum number of messages as a limit to poll at each polling. Is default unlimited, but use 0 or negative number to disable it as unlimited.",title:"Max Messages Per Poll",required:!1,deprecated:!1},messageAttributeNames:{kind:"parameter",type:"string",description:"A list of message attribute names to receive when consuming. Multiple names can be separated by comma.",title:"Message Attribute Names",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},serverSideEncryptionEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if Server Side Encryption is enabled or not on the queue",title:"Server Side Encryption Enabled",required:!1,deprecated:!1},visibilityTimeout:{kind:"parameter",type:"integer",description:"The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently.",title:"Visibility Timeout",required:!1,deprecated:!1},waitTimeSeconds:{kind:"parameter",type:"integer",description:"Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response.",title:"Wait Time Seconds",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},batchSeparator:{kind:"parameter",type:"string",defaultValue:",",description:"Set the separator when passing a String to send batch message operation",title:"Batch Separator",required:!1,deprecated:!1},delaySeconds:{kind:"parameter",type:"integer",description:"Delay sending messages for a number of seconds.",title:"Delay Seconds",required:!1,deprecated:!1},messageDeduplicationIdStrategy:{kind:"parameter",type:"string",defaultValue:"useExchangeId",enum:["useExchangeId","useContentBasedDeduplication"],description:"Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message.",title:"Message Deduplication Id Strategy",required:!1,deprecated:!1},messageGroupIdStrategy:{kind:"parameter",type:"string",enum:["useConstant","useExchangeId","usePropertyValue"],description:"Only for FIFO queues. Strategy for setting the messageGroupId on the message. Can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used.",title:"Message Group Id Strategy",required:!1,deprecated:!1},messageHeaderExceededLimit:{kind:"parameter",type:"string",defaultValue:"WARN",enum:["WARN","WARN_ONCE","IGNORE","FAIL"],description:"What to do if sending to AWS SQS has more messages than AWS allows (currently only maximum 10 message headers is allowed). WARN will log a WARN about the limit is for each additional header, so the message can be sent to AWS. WARN_ONCE will only log one time a WARN about the limit is hit, and drop additional headers, so the message can be sent to AWS. IGNORE will ignore (no logging) and drop additional headers, so the message can be sent to AWS. FAIL will cause an exception to be thrown and the message is not sent to AWS.",title:"Message Header Exceeded Limit",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["sendBatchMessage","deleteMessage","listQueues","purgeQueue","deleteQueue"],description:"The operation to do in case the user don't want to send only a message",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonSQSClient:{kind:"parameter",type:"object",description:"To use the AmazonSQS as client",title:"Amazon SQSClient",required:!1,deprecated:!1},delayQueue:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if you want to apply delaySeconds option to the queue or on single messages",title:"Delay Queue",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the SQS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the SQS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the SQS client",title:"Proxy Protocol",required:!1,deprecated:!1},maximumMessageSize:{kind:"parameter",type:"integer",description:"The maximumMessageSize (in bytes) an SQS message can contain for this queue.",title:"Maximum Message Size",required:!1,deprecated:!1},messageRetentionPeriod:{kind:"parameter",type:"integer",description:"The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue.",title:"Message Retention Period",required:!1,deprecated:!1},policy:{kind:"parameter",type:"string",description:"The policy for this queue. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Policy",required:!1,deprecated:!1},queueUrl:{kind:"parameter",type:"string",description:"To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is intended to be used, to connect to a mock implementation of SQS, for testing purposes.",title:"Queue Url",required:!1,deprecated:!1},receiveMessageWaitTimeSeconds:{kind:"parameter",type:"integer",description:"If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait.",title:"Receive Message Wait Time Seconds",required:!1,deprecated:!1},redrivePolicy:{kind:"parameter",type:"string",description:"Specify the policy that send message to DeadLetter queue. See detail at Amazon docs.",title:"Redrive Policy",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SQS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SQS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-step-functions":{type:"object",title:"AWS StepFunctions",group:"cloud,serverless",icon:"generic24.png",description:"Manage and invoke AWS Step functions.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["createStateMachine","deleteStateMachine","updateStateMachine","describeStateMachine","listStateMachines","createActivity","deleteActivity","describeActivity","getActivityTask","listActivities","startExecution","startSyncExecution","stopExecution","describeExecution","listExecutions","getExecutionHistory"],description:"The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which StepFunctions client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the StepFunctions client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the StepFunctions client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},awsSfnClient:{kind:"parameter",type:"object",description:"To use a existing configured AwsStepFunctionsClient as client",title:"Aws Sfn Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the StepFunctions client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the StepFunctions client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the StepFunctions client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1}}},"aws2-sts":{type:"object",title:"AWS Security Token Service (STS)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS STS cluster instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"assumeRole",enum:["assumeRole","getSessionToken","getFederationToken"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",defaultValue:"aws-global",description:"The region in which STS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},stsClient:{kind:"parameter",type:"object",description:"To use a existing configured AWS STS as client",title:"Sts Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the STS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the STS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the STS client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the STS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the STS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-translate":{type:"object",title:"AWS Translate",group:"cloud,management",icon:"generic24.png",description:"Translate texts using AWS Translate and AWS SDK version 2.x.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},autodetectSourceLanguage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Being able to autodetect the source language",title:"Autodetect Source Language",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"translateText",enum:["translateText"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which Translate client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},sourceLanguage:{kind:"parameter",type:"string",description:"Source language to use",title:"Source Language",required:!1,deprecated:!1},targetLanguage:{kind:"parameter",type:"string",description:"Target language to use",title:"Target Language",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},translateClient:{kind:"parameter",type:"object",description:"To use a existing configured AWS Translate as client",title:"Translate Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Translate client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Translate client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Translate client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Translate client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Translate client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"azure-cosmosdb":{type:"object",title:"Azure CosmosDB",group:"cloud,database",icon:"generic24.png",description:"To read and write records to the CosmosDB database on Azure cloud platform.",properties:{databaseName:{kind:"path",type:"string",description:"The name of the Cosmos database that component should connect to. In case you are producing data and have createDatabaseIfNotExists=true, the component will automatically auto create a Cosmos database.",title:"Database Name",required:!1,deprecated:!1},containerName:{kind:"path",type:"string",description:"The name of the Cosmos container that component should connect to. In case you are producing data and have createContainerIfNotExists=true, the component will automatically auto create a Cosmos container.",title:"Container Name",required:!1,deprecated:!1},clientTelemetryEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the flag to enable client telemetry which will periodically collect database operations aggregation statistics, system information like cpu/memory and send it to cosmos monitoring service, which will be helpful during debugging. DEFAULT value is false indicating this is opt in feature, by default no telemetry collection.",title:"Client Telemetry Enabled",required:!1,deprecated:!1},connectionSharingAcrossClientsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables connections sharing across multiple Cosmos Clients. The default is false. When you have multiple instances of Cosmos Client in the same JVM interacting to multiple Cosmos accounts, enabling this allows connection sharing in Direct mode if possible between instances of Cosmos Client. Please note, when setting this option, the connection configuration (e.g., socket timeout config, idle timeout config) of the first instantiated client will be used for all other client instances.",title:"Connection Sharing Across Clients Enabled",required:!1,deprecated:!1},consistencyLevel:{kind:"parameter",type:"object",defaultValue:"SESSION",enum:["Strong","BoundedStaleness","Session","Eventual","ConsistentPrefix"],description:"Sets the consistency levels supported for Azure Cosmos DB client operations in the Azure Cosmos DB service. The requested ConsistencyLevel must match or be weaker than that provisioned for the database account. Consistency levels by order of strength are STRONG, BOUNDED_STALENESS, SESSION and EVENTUAL. Refer to consistency level documentation for additional details: https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels",title:"Consistency Level",required:!1,deprecated:!1},containerPartitionKeyPath:{kind:"parameter",type:"string",description:"Sets the container partition key path.",title:"Container Partition Key Path",required:!1,deprecated:!1},contentResponseOnWriteEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets the boolean to only return the headers and status code in Cosmos DB response in case of Create, Update and Delete operations on CosmosItem. In Consumer, it is enabled by default because of the ChangeFeed in the consumer that needs this flag to be enabled and thus is shouldn't be overridden. In Producer, it advised to disable it since it reduces the network overhead",title:"Content Response On Write Enabled",required:!1,deprecated:!1},cosmosAsyncClient:{kind:"parameter",type:"object",description:"Inject an external CosmosAsyncClient into the component which provides a client-side logical representation of the Azure Cosmos DB service. This asynchronous client is used to configure and execute requests against the service.",title:"Cosmos Async Client",required:!1,deprecated:!1},createContainerIfNotExists:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets if the component should create Cosmos container automatically in case it doesn't exist in Cosmos database",title:"Create Container If Not Exists",required:!1,deprecated:!1},createDatabaseIfNotExists:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets if the component should create Cosmos database automatically in case it doesn't exist in Cosmos account",title:"Create Database If Not Exists",required:!1,deprecated:!1},databaseEndpoint:{kind:"parameter",type:"string",description:"Sets the Azure Cosmos database endpoint the component will connect to.",title:"Database Endpoint",required:!0,deprecated:!1},multipleWriteRegionsEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets the flag to enable writes on any regions for geo-replicated database accounts in the Azure Cosmos DB service. When the value of this property is true, the SDK will direct write operations to available writable regions of geo-replicated database account. Writable regions are ordered by PreferredRegions property. Setting the property value to true has no effect until EnableMultipleWriteRegions in DatabaseAccount is also set to true. DEFAULT value is true indicating that writes are directed to available writable regions of geo-replicated database account.",title:"Multiple Write Regions Enabled",required:!1,deprecated:!1},preferredRegions:{kind:"parameter",type:"string",description:"Sets the comma separated preferred regions for geo-replicated database accounts. For example, East US as the preferred region. When EnableEndpointDiscovery is true and PreferredRegions is non-empty, the SDK will prefer to use the regions in the container in the order they are specified to perform operations.",title:"Preferred Regions",required:!1,deprecated:!1},readRequestsFallbackEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to allow for reads to go to multiple regions configured on an account of Azure Cosmos DB service. DEFAULT value is true. If this property is not set, the default is true for all Consistency Levels other than Bounded Staleness, The default is false for Bounded Staleness. 1. endpointDiscoveryEnabled is true 2. the Azure Cosmos DB account has more than one region",title:"Read Requests Fallback Enabled",required:!1,deprecated:!1},throughputProperties:{kind:"parameter",type:"object",description:"Sets throughput of the resources in the Azure Cosmos DB service.",title:"Throughput Properties",required:!1,deprecated:!1},changeFeedProcessorOptions:{kind:"parameter",type:"object",description:"Sets the ChangeFeedProcessorOptions to be used. Unless specifically set the default values that will be used are: maximum items per page or FeedResponse: 100 lease renew interval: 17 seconds lease acquire interval: 13 seconds lease expiration interval: 60 seconds feed poll delay: 5 seconds maximum scale count: unlimited",title:"Change Feed Processor Options",required:!1,deprecated:!1},createLeaseContainerIfNotExists:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets if the component should create Cosmos lease container for the consumer automatically in case it doesn't exist in Cosmos database",title:"Create Lease Container If Not Exists",required:!1,deprecated:!1},createLeaseDatabaseIfNotExists:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets if the component should create Cosmos lease database for the consumer automatically in case it doesn't exist in Cosmos account",title:"Create Lease Database If Not Exists",required:!1,deprecated:!1},hostName:{kind:"parameter",type:"string",description:"Sets the hostname. The host: a host is an application instance that uses the change feed processor to listen for changes. Multiple instances with the same lease configuration can run in parallel, but each instance should have a different instance name. If not specified, this will be a generated random hostname.",title:"Host Name",required:!1,deprecated:!1},leaseContainerName:{kind:"parameter",type:"string",defaultValue:"camel-lease",description:"Sets the lease container which acts as a state storage and coordinates processing the change feed across multiple workers. The lease container can be stored in the same account as the monitored container or in a separate account. It will be auto created if createLeaseContainerIfNotExists is set to true.",title:"Lease Container Name",required:!1,deprecated:!1},leaseDatabaseName:{kind:"parameter",type:"string",description:"Sets the lease database where the leaseContainerName will be stored. If it is not specified, this component will store the lease container in the same database that is specified in databaseName. It will be auto created if createLeaseDatabaseIfNotExists is set to true.",title:"Lease Database Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},itemId:{kind:"parameter",type:"string",description:"Sets the itemId in case needed for operation on item like delete, replace",title:"Item Id",required:!1,deprecated:!1},itemPartitionKey:{kind:"parameter",type:"string",description:"Sets partition key. Represents a partition key value in the Azure Cosmos DB database service. A partition key identifies the partition where the item is stored in.",title:"Item Partition Key",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"listDatabases",enum:["listDatabases","createDatabase","queryDatabases","deleteDatabase","createContainer","replaceDatabaseThroughput","listContainers","queryContainers","deleteContainer","replaceContainerThroughput","createItem","upsertItem","deleteItem","replaceItem","readItem","readAllItems","queryItems"],description:"The CosmosDB operation that can be used with this component on the producer.",title:"Operation",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-getting-started}",title:"Query",required:!1,deprecated:!1},queryRequestOptions:{kind:"parameter",type:"object",description:"Set additional QueryRequestOptions that can be used with queryItems, queryContainers, queryDatabases, listDatabases, listItems, listContainers operations",title:"Query Request Options",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},accountKey:{kind:"parameter",type:"string",description:"Sets either a master or readonly key used to perform authentication for accessing resource.",title:"Account Key",required:!1,deprecated:!1},useDefaultIdentity:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicates whether to use the default identity mechanism instead of the access key.",title:"Use Default Identity",required:!1,deprecated:!1}}},"azure-eventhubs":{type:"object",title:"Azure Event Hubs",group:"cloud,messaging",icon:"generic24.png",description:"Send and receive events to/from Azure Event Hubs using AMQP protocol.",properties:{namespace:{kind:"path",type:"string",description:"EventHubs namespace created in Azure Portal.",title:"Namespace",required:!1,deprecated:!1},eventHubName:{kind:"path",type:"string",description:"EventHubs name under a specific namespace.",title:"Event Hub Name",required:!1,deprecated:!1},amqpRetryOptions:{kind:"parameter",type:"object",description:"Sets the retry policy for EventHubAsyncClient. If not specified, the default retry options are used.",title:"Amqp Retry Options",required:!1,deprecated:!1},amqpTransportType:{kind:"parameter",type:"object",defaultValue:"AMQP",enum:["Amqp","AmqpWebSockets"],description:"Sets the transport type by which all the communication with Azure Event Hubs occurs. Default value is AmqpTransportType#AMQP.",title:"Amqp Transport Type",required:!1,deprecated:!1},blobAccessKey:{kind:"parameter",type:"string",description:"In case you chose the default BlobCheckpointStore, this sets access key for the associated azure account name to be used for authentication with azure blob services.",title:"Blob Access Key",required:!1,deprecated:!1},blobAccountName:{kind:"parameter",type:"string",description:"In case you chose the default BlobCheckpointStore, this sets Azure account name to be used for authentication with azure blob services.",title:"Blob Account Name",required:!1,deprecated:!1},blobContainerName:{kind:"parameter",type:"string",description:"In case you chose the default BlobCheckpointStore, this sets the blob container that shall be used by the BlobCheckpointStore to store the checkpoint offsets.",title:"Blob Container Name",required:!1,deprecated:!1},blobStorageSharedKeyCredential:{kind:"parameter",type:"object",description:"In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information.",title:"Blob Storage Shared Key Credential",required:!1,deprecated:!1},checkpointBatchSize:{kind:"parameter",type:"integer",defaultValue:"500",description:"Sets the batch size between each checkpoint updates. Works jointly with checkpointBatchTimeout.",title:"Checkpoint Batch Size",required:!1,deprecated:!1},checkpointBatchTimeout:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Sets the batch timeout between each checkpoint updates. Works jointly with checkpointBatchSize.",title:"Checkpoint Batch Timeout",required:!1,deprecated:!1},checkpointStore:{kind:"parameter",type:"object",defaultValue:"BlobCheckpointStore",description:"Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage.",title:"Checkpoint Store",required:!1,deprecated:!1},consumerGroupName:{kind:"parameter",type:"string",defaultValue:"$Default",description:"Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {code $Default}.",title:"Consumer Group Name",required:!1,deprecated:!1},eventPosition:{kind:"parameter",type:"object",description:"Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position.",title:"Event Position",required:!1,deprecated:!1},prefetchCount:{kind:"parameter",type:"integer",defaultValue:"500",description:"Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active.",title:"Prefetch Count",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},partitionId:{kind:"parameter",type:"string",description:"Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition.",title:"Partition Id",required:!1,deprecated:!1},partitionKey:{kind:"parameter",type:"string",description:"Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is flexibility into which partition they are routed. If ensuring that a batch of events is sent only to a specific partition, it is recommended that the {link #setPartitionId(String) identifier of the position be specified directly} when sending the batch.",title:"Partition Key",required:!1,deprecated:!1},producerAsyncClient:{kind:"parameter",type:"object",description:"Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an {linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer.",title:"Producer Async Client",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionString:{kind:"parameter",type:"string",description:"Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string",title:"Connection String",required:!1,deprecated:!1},sharedAccessKey:{kind:"parameter",type:"string",description:"The generated value for the SharedAccessName.",title:"Shared Access Key",required:!1,deprecated:!1},sharedAccessName:{kind:"parameter",type:"string",description:"The name you chose for your EventHubs SAS keys.",title:"Shared Access Name",required:!1,deprecated:!1},tokenCredential:{kind:"parameter",type:"object",description:"Still another way of authentication (beside supplying namespace, sharedAccessKey, sharedAccessName or connection string) is through Azure-AD authentication using an implementation instance of TokenCredential.",title:"Token Credential",required:!1,deprecated:!1}}},"azure-files":{type:"object",title:"Azure Files",group:"cloud,file",icon:"generic24.png",description:"Send and receive files to Azure storage file share",properties:{account:{kind:"path",type:"string",description:"The account to use",title:"Account",required:!0,deprecated:!1},share:{kind:"path",type:"string",description:"The share to use",title:"Share",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port of the FTP server",title:"Port",required:!1,deprecated:!1},directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.",title:"Disconnect",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file will be deleted after it is processed successfully.",title:"Delete",required:!1,deprecated:!1},moveFailed:{kind:"parameter",type:"string",description:"Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",title:"Move Failed",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",title:"Noop",required:!1,deprecated:!1},preMove:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",title:"Pre Move",required:!1,deprecated:!1},preSort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",title:"Pre Sort",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If a directory, will look for files in all the sub-directories as well.",title:"Recursive",required:!1,deprecated:!1},resumeDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether resume download is enabled. In addition the options localWorkDirectory must be configured so downloaded files are stored in a local directory, which is required to support resuming of downloads.",title:"Resume Download",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time.",title:"Stream Download",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},download:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded.",title:"Download",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},inProgressRepository:{kind:"parameter",type:"object",description:"A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",title:"In Progress Repository",required:!1,deprecated:!1},localWorkDirectory:{kind:"parameter",type:"string",description:"When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",title:"Local Work Directory",required:!1,deprecated:!1},onCompletionExceptionHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",title:"On Completion Exception Handler",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",title:"Process Strategy",required:!1,deprecated:!1},fileExist:{kind:"parameter",type:"object",defaultValue:"Override",enum:["Override","Append","Fail","Ignore","Move","TryRename"],description:"What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. The option eagerDeleteTargetFile can be used to control what to do if an moving the file, and there exists already an existing file, otherwise causing the move operation to fail. The Move option will move any existing files, before writing the target file. - TryRename is only applicable if tempFileName option is in use. This allows to try renaming the file from the temporary name to the actual name, without doing any exists check. This check may be faster on some file systems and especially FTP servers.",title:"File Exist",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},tempFileName:{kind:"parameter",type:"string",description:"The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the option 'fileName', not the target directory in the base uri. For example if option fileName includes a directory prefix: dir/finalFilename then tempFileName is relative to that subdirectory dir.",title:"Temp File Name",required:!1,deprecated:!1},tempPrefix:{kind:"parameter",type:"string",description:"This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read locks) reading in progress files. Is often used by FTP when uploading big files.",title:"Temp Prefix",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},disconnectOnBatchComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.",title:"Disconnect On Batch Complete",required:!1,deprecated:!1},eagerDeleteTargetFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before the temp file is being renamed to the target filename. This option is also used to control whether to delete any existing files when fileExist=Move is enabled, and an existing file exists. If this option copyAndDeleteOnRenameFails false, then an exception will be thrown if an existing file existed, if its true, then the existing file is deleted before the move operation.",title:"Eager Delete Target File",required:!1,deprecated:!1},keepLastModified:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers.",title:"Keep Last Modified",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",title:"Auto Create",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH",title:"Connect Timeout",required:!1,deprecated:!1},maximumReconnectAttempts:{kind:"parameter",type:"integer",description:"Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.",title:"Maximum Reconnect Attempts",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Delay in millis Camel will wait before performing a reconnect attempt.",title:"Reconnect Delay",required:!1,deprecated:!1},throwExceptionOnConnectFailed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should an exception be thrown if connection failed (exhausted)By default exception is not thrown and a WARN is logged. You can use this to enable exception being thrown and handle the thrown exception from the org.apache.camel.spi.PollingConsumerPollStrategy rollback method.",title:"Throw Exception On Connect Failed",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Sets the data timeout for waiting for reply Used only by FTPClient",title:"Timeout",required:!1,deprecated:!1},sharedKey:{kind:"parameter",type:"string",description:"Shared key (storage account key)",title:"Shared Key",required:!1,deprecated:!1},antExclude:{kind:"parameter",type:"string",description:"Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",title:"Ant Exclude",required:!1,deprecated:!1},antFilterCaseSensitive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets case sensitive flag on ant filter.",title:"Ant Filter Case Sensitive",required:!1,deprecated:!1},antInclude:{kind:"parameter",type:"string",description:"Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",title:"Ant Include",required:!1,deprecated:!1},eagerMaxMessagesPerPoll:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",title:"Eager Max Messages Per Poll",required:!1,deprecated:!1},exclude:{kind:"parameter",type:"string",description:"Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Exclude",required:!1,deprecated:!1},excludeExt:{kind:"parameter",type:"string",description:"Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Exclude Ext",required:!1,deprecated:!1},filter:{kind:"parameter",type:"object",description:"Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",title:"Filter",required:!1,deprecated:!1},filterDirectory:{kind:"parameter",type:"string",description:"Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",title:"Filter Directory",required:!1,deprecated:!1},filterFile:{kind:"parameter",type:"string",description:"Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",title:"Filter File",required:!1,deprecated:!1},idempotent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",title:"Idempotent",required:!1,deprecated:!1},idempotentKey:{kind:"parameter",type:"string",description:"To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",title:"Idempotent Key",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",title:"Idempotent Repository",required:!1,deprecated:!1},include:{kind:"parameter",type:"string",description:"Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Include",required:!1,deprecated:!1},includeExt:{kind:"parameter",type:"string",description:"Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Include Ext",required:!1,deprecated:!1},maxDepth:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum depth to traverse when recursively processing a directory.",title:"Max Depth",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",title:"Max Messages Per Poll",required:!1,deprecated:!1},minDepth:{kind:"parameter",type:"integer",description:"The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",title:"Min Depth",required:!1,deprecated:!1},move:{kind:"parameter",type:"string",description:"Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",title:"Move",required:!1,deprecated:!1},exclusiveReadLockStrategy:{kind:"parameter",type:"object",description:"Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",title:"Exclusive Read Lock Strategy",required:!1,deprecated:!1},readLock:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","markerFile","fileLock","rename","changed","idempotent","idempotent-changed","idempotent-rename"],description:"Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan.",title:"Read Lock",required:!1,deprecated:!1},readLockCheckInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Check Interval",required:!1,deprecated:!1},readLockDeleteOrphanLockFiles:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",title:"Read Lock Delete Orphan Lock Files",required:!1,deprecated:!1},readLockLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename.",title:"Read Lock Logging Level",required:!1,deprecated:!1},readLockMarkerFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",title:"Read Lock Marker File",required:!1,deprecated:!1},readLockMinAge:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",title:"Read Lock Min Age",required:!1,deprecated:!1},readLockMinLength:{kind:"parameter",type:"integer",defaultValue:"1",description:"This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",title:"Read Lock Min Length",required:!1,deprecated:!1},readLockRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Remove On Commit",required:!1,deprecated:!1},readLockRemoveOnRollback:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",title:"Read Lock Remove On Rollback",required:!1,deprecated:!1},readLockTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},sdd:{kind:"parameter",type:"string",description:"part of service SAS token",title:"Sdd",required:!1,deprecated:!1},se:{kind:"parameter",type:"string",description:"part of SAS token",title:"Se",required:!1,deprecated:!1},si:{kind:"parameter",type:"string",description:"part of service SAS token",title:"Si",required:!1,deprecated:!1},sig:{kind:"parameter",type:"string",description:"part of SAS token",title:"Sig",required:!1,deprecated:!1},sip:{kind:"parameter",type:"string",description:"part of SAS token",title:"Sip",required:!1,deprecated:!1},sp:{kind:"parameter",type:"string",description:"part of SAS token",title:"Sp",required:!1,deprecated:!1},spr:{kind:"parameter",type:"string",description:"part of SAS token",title:"Spr",required:!1,deprecated:!1},sr:{kind:"parameter",type:"string",description:"part of service SAS token",title:"Sr",required:!1,deprecated:!1},srt:{kind:"parameter",type:"string",description:"part of SAS token",title:"Srt",required:!1,deprecated:!1},ss:{kind:"parameter",type:"string",description:"part of account SAS token",title:"Ss",required:!1,deprecated:!1},st:{kind:"parameter",type:"string",description:"part of SAS token",title:"St",required:!1,deprecated:!1},sv:{kind:"parameter",type:"string",description:"part of SAS token",title:"Sv",required:!1,deprecated:!1},shuffle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To shuffle the list of files (sort in random order)",title:"Shuffle",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",description:"Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",title:"Sort By",required:!1,deprecated:!1},sorter:{kind:"parameter",type:"object",description:"Pluggable sorter as a java.util.Comparator class.",title:"Sorter",required:!1,deprecated:!1}}},"azure-key-vault":{type:"object",title:"Azure Key Vault",group:"cloud,cloud",icon:"generic24.png",description:"Manage secrets and keys in Azure Key Vault Service",properties:{vaultName:{kind:"path",type:"string",description:"Vault Name to be used",title:"Vault Name",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["createSecret","getSecret","deleteSecret","purgeDeletedSecret"],description:"Operation to be performed",title:"Operation",required:!1,deprecated:!1},secretClient:{kind:"parameter",type:"object",description:"Instance of Secret client",title:"Secret Client",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client Id to be used",title:"Client Id",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client Secret to be used",title:"Client Secret",required:!1,deprecated:!1},tenantId:{kind:"parameter",type:"string",description:"Tenant Id to be used",title:"Tenant Id",required:!1,deprecated:!1}}},"azure-servicebus":{type:"object",title:"Azure ServiceBus",group:"cloud,messaging",icon:"generic24.png",description:"Send and receive messages to/from Azure Service Bus.",properties:{topicOrQueueName:{kind:"path",type:"string",description:"Selected topic name or the queue name, that is depending on serviceBusType config. For example if serviceBusType=queue, then this will be the queue name and if serviceBusType=topic, this will be the topic name.",title:"Topic Or Queue Name",required:!1,deprecated:!1},amqpRetryOptions:{kind:"parameter",type:"object",description:"Sets the retry options for Service Bus clients. If not specified, the default retry options are used.",title:"Amqp Retry Options",required:!1,deprecated:!1},amqpTransportType:{kind:"parameter",type:"object",defaultValue:"AMQP",enum:["Amqp","AmqpWebSockets"],description:"Sets the transport type by which all the communication with Azure Service Bus occurs. Default value is AMQP.",title:"Amqp Transport Type",required:!1,deprecated:!1},clientOptions:{kind:"parameter",type:"object",description:"Sets the ClientOptions to be sent from the client built from this builder, enabling customization of certain properties, as well as support the addition of custom header information.",title:"Client Options",required:!1,deprecated:!1},proxyOptions:{kind:"parameter",type:"object",description:"Sets the proxy configuration to use for ServiceBusSenderAsyncClient. When a proxy is configured, AMQP_WEB_SOCKETS must be used for the transport type.",title:"Proxy Options",required:!1,deprecated:!1},serviceBusType:{kind:"parameter",type:"object",defaultValue:"queue",enum:["queue","topic"],description:"The service bus type of connection to execute. Queue is for typical queue option and topic for subscription based model.",title:"Service Bus Type",required:!0,deprecated:!1},consumerOperation:{kind:"parameter",type:"object",defaultValue:"receiveMessages",enum:["receiveMessages","peekMessages"],description:"Sets the desired operation to be used in the consumer",title:"Consumer Operation",required:!1,deprecated:!1},disableAutoComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Disables auto-complete and auto-abandon of received messages. By default, a successfully processed message is completed. If an error happens when the message is abandoned.",title:"Disable Auto Complete",required:!1,deprecated:!1},maxAutoLockRenewDuration:{kind:"parameter",type:"object",defaultValue:"5m",description:"Sets the amount of time to continue auto-renewing the lock. Setting ZERO disables auto-renewal. For ServiceBus receive mode (RECEIVE_AND_DELETE RECEIVE_AND_DELETE), auto-renewal is disabled.",title:"Max Auto Lock Renew Duration",required:!1,deprecated:!1},peekNumMaxMessages:{kind:"parameter",type:"integer",description:"Set the max number of messages to be peeked during the peek operation.",title:"Peek Num Max Messages",required:!1,deprecated:!1},prefetchCount:{kind:"parameter",type:"integer",description:"Sets the prefetch count of the receiver. For both PEEK_LOCK PEEK_LOCK and RECEIVE_AND_DELETE RECEIVE_AND_DELETE receive modes the default value is 1. Prefetch speeds up the message flow by aiming to have a message readily available for local retrieval when and before the application asks for one using receive message. Setting a non-zero value will prefetch that number of messages. Setting the value to zero turns prefetch off.",title:"Prefetch Count",required:!1,deprecated:!1},receiverAsyncClient:{kind:"parameter",type:"object",description:"Sets the receiverAsyncClient in order to consume messages by the consumer",title:"Receiver Async Client",required:!1,deprecated:!1},serviceBusReceiveMode:{kind:"parameter",type:"object",defaultValue:"PEEK_LOCK",enum:["PEEK_LOCK","RECEIVE_AND_DELETE"],description:"Sets the receive mode for the receiver.",title:"Service Bus Receive Mode",required:!1,deprecated:!1},subQueue:{kind:"parameter",type:"object",enum:["NONE","DEAD_LETTER_QUEUE","TRANSFER_DEAD_LETTER_QUEUE"],description:"Sets the type of the SubQueue to connect to.",title:"Sub Queue",required:!1,deprecated:!1},subscriptionName:{kind:"parameter",type:"string",description:"Sets the name of the subscription in the topic to listen to. topicOrQueueName and serviceBusType=topic must also be set. This property is required if serviceBusType=topic and the consumer is in use.",title:"Subscription Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},producerOperation:{kind:"parameter",type:"object",defaultValue:"sendMessages",enum:["sendMessages","scheduleMessages"],description:"Sets the desired operation to be used in the producer",title:"Producer Operation",required:!1,deprecated:!1},scheduledEnqueueTime:{kind:"parameter",type:"object",description:"Sets OffsetDateTime at which the message should appear in the Service Bus queue or topic.",title:"Scheduled Enqueue Time",required:!1,deprecated:!1},senderAsyncClient:{kind:"parameter",type:"object",description:"Sets SenderAsyncClient to be used in the producer.",title:"Sender Async Client",required:!1,deprecated:!1},serviceBusTransactionContext:{kind:"parameter",type:"object",description:"Represents transaction in service. This object just contains transaction id.",title:"Service Bus Transaction Context",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionString:{kind:"parameter",type:"string",description:"Sets the connection string for a Service Bus namespace or a specific Service Bus resource.",title:"Connection String",required:!1,deprecated:!1},fullyQualifiedNamespace:{kind:"parameter",type:"string",description:"Fully Qualified Namespace of the service bus",title:"Fully Qualified Namespace",required:!1,deprecated:!1},tokenCredential:{kind:"parameter",type:"object",description:"A TokenCredential for Azure AD authentication.",title:"Token Credential",required:!1,deprecated:!1}}},"azure-storage-blob":{type:"object",title:"Azure Storage Blob Service",group:"cloud,file",icon:"generic24.png",description:"Store and retrieve blobs from Azure Storage Blob Service.",properties:{accountName:{kind:"path",type:"string",description:"Azure account name to be used for authentication with azure blob services",title:"Account Name",required:!1,deprecated:!1},containerName:{kind:"path",type:"string",description:"The blob container name",title:"Container Name",required:!1,deprecated:!1},blobName:{kind:"parameter",type:"string",description:"The blob name, to consume specific blob from a container. However, on producer it is only required for the operations on the blob level",title:"Blob Name",required:!1,deprecated:!1},blobOffset:{kind:"parameter",type:"integer",defaultValue:"0",description:"Set the blob offset for the upload or download operations, default is 0",title:"Blob Offset",required:!1,deprecated:!1},blobServiceClient:{kind:"parameter",type:"object",description:"Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are available on BlobClient through getBlobContainerClient(String).getBlobClient(String).",title:"Blob Service Client",required:!1,deprecated:!1},blobType:{kind:"parameter",type:"object",defaultValue:"blockblob",enum:["blockblob","appendblob","pageblob"],description:"The blob type in order to initiate the appropriate settings for each blob type",title:"Blob Type",required:!1,deprecated:!1},closeStreamAfterRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Close the stream after read or keep it open, default is true",title:"Close Stream After Read",required:!1,deprecated:!1},credentials:{kind:"parameter",type:"object",description:"StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information",title:"Credentials",required:!1,deprecated:!1},credentialType:{kind:"parameter",type:"object",defaultValue:"AZURE_IDENTITY",enum:["SHARED_ACCOUNT_KEY","SHARED_KEY_CREDENTIAL","AZURE_IDENTITY"],description:"Determines the credential strategy to adopt",title:"Credential Type",required:!1,deprecated:!1},dataCount:{kind:"parameter",type:"integer",description:"How many bytes to include in the range. Must be greater than or equal to 0 if specified.",title:"Data Count",required:!1,deprecated:!1},fileDir:{kind:"parameter",type:"string",description:"The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer",title:"File Dir",required:!1,deprecated:!1},maxResultsPerPage:{kind:"parameter",type:"integer",description:"Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up to 5,000 items.",title:"Max Results Per Page",required:!1,deprecated:!1},maxRetryRequests:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body.",title:"Max Retry Requests",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"string",description:"Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs.",title:"Prefix",required:!1,deprecated:!1},regex:{kind:"parameter",type:"string",description:"Filters the results to return only blobs whose names match the specified regular expression. May be null to return all if both prefix and regex are set, regex takes the priority and prefix is ignored.",title:"Regex",required:!1,deprecated:!1},serviceClient:{kind:"parameter",type:"object",description:"Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through BlobServiceClient#getBlobContainerClient(String), and operations on a blob are available on BlobClient through BlobContainerClient#getBlobClient(String).",title:"Service Client",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"object",description:"An optional timeout value beyond which a RuntimeException will be raised.",title:"Timeout",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},blobSequenceNumber:{kind:"parameter",type:"integer",defaultValue:"0",description:"A user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 263 - 1.The default value is 0.",title:"Blob Sequence Number",required:!1,deprecated:!1},blockListType:{kind:"parameter",type:"object",defaultValue:"COMMITTED",enum:["committed","uncommitted","all"],description:"Specifies which type of blocks to return.",title:"Block List Type",required:!1,deprecated:!1},changeFeedContext:{kind:"parameter",type:"object",description:"When using getChangeFeed producer operation, this gives additional context that is passed through the Http pipeline during the service call.",title:"Change Feed Context",required:!1,deprecated:!1},changeFeedEndTime:{kind:"parameter",type:"object",description:"When using getChangeFeed producer operation, this filters the results to return events approximately before the end time. Note: A few events belonging to the next hour can also be returned. A few events belonging to this hour can be missing; to ensure all events from the hour are returned, round the end time up by an hour.",title:"Change Feed End Time",required:!1,deprecated:!1},changeFeedStartTime:{kind:"parameter",type:"object",description:"When using getChangeFeed producer operation, this filters the results to return events approximately after the start time. Note: A few events belonging to the previous hour can also be returned. A few events belonging to this hour can be missing; to ensure all events from the hour are returned, round the start time down by an hour.",title:"Change Feed Start Time",required:!1,deprecated:!1},closeStreamAfterWrite:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Close the stream after write or keep it open, default is true",title:"Close Stream After Write",required:!1,deprecated:!1},commitBlockListLater:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When is set to true, the staged blocks will not be committed directly.",title:"Commit Block List Later",required:!1,deprecated:!1},createAppendBlob:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When is set to true, the append blocks will be created when committing append blocks.",title:"Create Append Blob",required:!1,deprecated:!1},createPageBlob:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When is set to true, the page blob will be created when uploading page blob.",title:"Create Page Blob",required:!1,deprecated:!1},downloadLinkExpiration:{kind:"parameter",type:"integer",description:"Override the default expiration (millis) of URL download link.",title:"Download Link Expiration",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"listBlobContainers",enum:["listBlobContainers","createBlobContainer","deleteBlobContainer","listBlobs","getBlob","deleteBlob","downloadBlobToFile","downloadLink","uploadBlockBlob","stageBlockBlobList","commitBlobBlockList","getBlobBlockList","createAppendBlob","commitAppendBlob","createPageBlob","uploadPageBlob","resizePageBlob","clearPageBlob","getPageBlobRanges"],description:"The blob operation that can be used with this component on the producer",title:"Operation",required:!1,deprecated:!1},pageBlobSize:{kind:"parameter",type:"integer",defaultValue:"512",description:"Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a 512-byte boundary.",title:"Page Blob Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the associated azure account name to be used for authentication with azure blob services",title:"Access Key",required:!1,deprecated:!1},sourceBlobAccessKey:{kind:"parameter",type:"string",description:"Source Blob Access Key: for copyblob operation, sadly, we need to have an accessKey for the source blob we want to copy Passing an accessKey as header, it's unsafe so we could set as key.",title:"Source Blob Access Key",required:!1,deprecated:!1}}},"azure-storage-datalake":{type:"object",title:"Azure Storage Datalake Service",group:"cloud,file,bigdata",icon:"generic24.png",description:"Sends and receives files to/from Azure DataLake Storage.",properties:{accountName:{kind:"path",type:"string",description:"name of the azure account",title:"Account Name",required:!1,deprecated:!1},fileSystemName:{kind:"path",type:"string",description:"name of filesystem to be used",title:"File System Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"client id for azure account",title:"Client Id",required:!1,deprecated:!1},close:{kind:"parameter",type:"boolean",description:"Whether or not a file changed event raised indicates completion (true) or modification (false)",title:"Close",required:!1,deprecated:!1},closeStreamAfterRead:{kind:"parameter",type:"boolean",description:"check for closing stream after read",title:"Close Stream After Read",required:!1,deprecated:!1},dataCount:{kind:"parameter",type:"integer",description:"count number of bytes to download",title:"Data Count",required:!1,deprecated:!1},dataLakeServiceClient:{kind:"parameter",type:"object",description:"service client of datalake",title:"Data Lake Service Client",required:!1,deprecated:!1},directoryName:{kind:"parameter",type:"string",description:"directory of the file to be handled in component",title:"Directory Name",required:!1,deprecated:!1},downloadLinkExpiration:{kind:"parameter",type:"integer",description:"download link expiration time",title:"Download Link Expiration",required:!1,deprecated:!1},expression:{kind:"parameter",type:"string",description:"expression for queryInputStream",title:"Expression",required:!1,deprecated:!1},fileDir:{kind:"parameter",type:"string",description:"directory of file to do operations in the local system",title:"File Dir",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"name of file to be handled in component",title:"File Name",required:!1,deprecated:!1},fileOffset:{kind:"parameter",type:"integer",description:"offset position in file for different operations",title:"File Offset",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",description:"maximum number of results to show at a time",title:"Max Results",required:!1,deprecated:!1},maxRetryRequests:{kind:"parameter",type:"integer",description:"no of retries to a given request",title:"Max Retry Requests",required:!1,deprecated:!1},openOptions:{kind:"parameter",type:"object",description:"set open options for creating file",title:"Open Options",required:!1,deprecated:!1},path:{kind:"parameter",type:"string",description:"path in azure datalake for operations",title:"Path",required:!1,deprecated:!1},permission:{kind:"parameter",type:"string",description:"permission string for the file",title:"Permission",required:!1,deprecated:!1},position:{kind:"parameter",type:"integer",description:"This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file.",title:"Position",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",description:"recursively include all paths",title:"Recursive",required:!1,deprecated:!1},regex:{kind:"parameter",type:"string",description:"regular expression for matching file names",title:"Regex",required:!1,deprecated:!1},retainUncommitedData:{kind:"parameter",type:"boolean",description:"Whether or not uncommitted data is to be retained after the operation",title:"Retain Uncommited Data",required:!1,deprecated:!1},serviceClient:{kind:"parameter",type:"object",description:"datalake service client for azure storage datalake",title:"Service Client",required:!1,deprecated:!1},sharedKeyCredential:{kind:"parameter",type:"object",description:"shared key credential for azure datalake gen2",title:"Shared Key Credential",required:!1,deprecated:!1},tenantId:{kind:"parameter",type:"string",description:"tenant id for azure account",title:"Tenant Id",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"object",description:"Timeout for operation",title:"Timeout",required:!1,deprecated:!1},umask:{kind:"parameter",type:"string",description:"umask permission for file",title:"Umask",required:!1,deprecated:!1},userPrincipalNameReturned:{kind:"parameter",type:"boolean",description:"whether or not to use upn",title:"User Principal Name Returned",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"listFileSystem",enum:["listFileSystem","listFiles"],description:"operation to be performed",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accountKey:{kind:"parameter",type:"string",description:"account key for authentication",title:"Account Key",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"client secret for azure account",title:"Client Secret",required:!1,deprecated:!1},clientSecretCredential:{kind:"parameter",type:"object",description:"client secret credential for authentication",title:"Client Secret Credential",required:!1,deprecated:!1},sasCredential:{kind:"parameter",type:"object",description:"SAS token credential",title:"Sas Credential",required:!1,deprecated:!1},sasSignature:{kind:"parameter",type:"string",description:"SAS token signature",title:"Sas Signature",required:!1,deprecated:!1},useDefaultIdentity:{kind:"parameter",type:"boolean",description:"Use default identity",title:"Use Default Identity",required:!1,deprecated:!1}}},"azure-storage-queue":{type:"object",title:"Azure Storage Queue Service",group:"cloud,messaging",icon:"generic24.png",description:"Stores and retrieves messages to/from Azure Storage Queue.",properties:{accountName:{kind:"path",type:"string",description:"Azure account name to be used for authentication with azure queue services",title:"Account Name",required:!1,deprecated:!1},queueName:{kind:"path",type:"string",description:"The queue resource name",title:"Queue Name",required:!1,deprecated:!1},serviceClient:{kind:"parameter",type:"object",description:"Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties of the account, and retrieving statistics of the account.",title:"Service Client",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},createQueue:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When is set to true, the queue will be automatically created when sending messages to the queue.",title:"Create Queue",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listQueues","createQueue","deleteQueue","clearQueue","sendMessage","deleteMessage","receiveMessages","peekMessages","updateMessage"],description:"Queue service operation hint to the producer",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},maxMessages:{kind:"parameter",type:"integer",defaultValue:"1",description:"Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages.",title:"Max Messages",required:!1,deprecated:!1},messageId:{kind:"parameter",type:"string",description:"The ID of the message to be deleted or updated.",title:"Message Id",required:!1,deprecated:!1},popReceipt:{kind:"parameter",type:"string",description:"Unique identifier that must match for the message to be deleted or updated.",title:"Pop Receipt",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"object",description:"An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown.",title:"Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"object",description:"How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe.",title:"Time To Live",required:!1,deprecated:!1},visibilityTimeout:{kind:"parameter",type:"object",description:"The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe.",title:"Visibility Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the associated azure account name to be used for authentication with azure queue services",title:"Access Key",required:!1,deprecated:!1},credentials:{kind:"parameter",type:"object",description:"StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information",title:"Credentials",required:!1,deprecated:!1}}},bean:{type:"object",title:"Bean",group:"core,script",icon:"bean24.png",description:"Invoke methods of Java beans stored in Camel registry.",properties:{beanName:{kind:"path",type:"string",description:"Sets the name of the bean to invoke",title:"Bean Name",required:!0,deprecated:!1},method:{kind:"parameter",type:"string",description:"Sets the name of the method to invoke on the bean",title:"Method",required:!1,deprecated:!1},scope:{kind:"parameter",type:"object",defaultValue:"Singleton",enum:["Singleton","Request","Prototype"],description:"Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while processing the request. The bean does not have to be thread-safe as the instance is only called from the same request. When using prototype scope, then the bean will be looked up or created per call. However in case of lookup then this is delegated to the bean registry such as Spring or CDI (if in use), which depends on their configuration can act as either singleton or prototype scope. so when using prototype then this depends on the delegated registry.",title:"Scope",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Used for configuring additional properties on the bean",title:"Parameters",required:!1,deprecated:!1}}},"bean-validator":{type:"object",title:"Bean Validator",group:"validation",icon:"generic24.png",description:"Validate the message body using the Java Bean Validation API.",properties:{label:{kind:"path",type:"string",description:"Where label is an arbitrary text value describing the endpoint",title:"Label",required:!0,deprecated:!1},group:{kind:"parameter",type:"string",defaultValue:"jakarta.validation.groups.Default",description:"To use a custom validation group",title:"Group",required:!1,deprecated:!1},ignoreXmlConfiguration:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore data from the META-INF/validation.xml file.",title:"Ignore Xml Configuration",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},constraintValidatorFactory:{kind:"parameter",type:"object",description:"To use a custom ConstraintValidatorFactory",title:"Constraint Validator Factory",required:!1,deprecated:!1},messageInterpolator:{kind:"parameter",type:"object",description:"To use a custom MessageInterpolator",title:"Message Interpolator",required:!1,deprecated:!1},traversableResolver:{kind:"parameter",type:"object",description:"To use a custom TraversableResolver",title:"Traversable Resolver",required:!1,deprecated:!1},validationProviderResolver:{kind:"parameter",type:"object",description:"To use a a custom ValidationProviderResolver",title:"Validation Provider Resolver",required:!1,deprecated:!1},validatorFactory:{kind:"parameter",type:"object",description:"To use a custom ValidatorFactory",title:"Validator Factory",required:!1,deprecated:!1}}},bonita:{type:"object",title:"Bonita",group:"workflow",icon:"generic24.png",description:"Communicate with a remote Bonita BPM process engine.",properties:{operation:{kind:"path",type:"object",enum:["startCase"],description:"Operation to use",title:"Operation",required:!0,deprecated:!1},hostname:{kind:"parameter",type:"string",defaultValue:"localhost",description:"Hostname where Bonita engine runs",title:"Hostname",required:!1,deprecated:!1},port:{kind:"parameter",type:"string",defaultValue:"8080",description:"Port of the server hosting Bonita engine",title:"Port",required:!1,deprecated:!1},processName:{kind:"parameter",type:"string",description:"Name of the process involved in the operation",title:"Process Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to authenticate to Bonita engine.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to authenticate to Bonita engine.",title:"Username",required:!1,deprecated:!1}}},box:{type:"object",title:"Box",group:"cloud,file,api",icon:"generic24.png",description:"Upload, download and manage files, folders, groups, collaborations, etc. on box.com.",properties:{apiName:{kind:"path",type:"object",enum:["COLLABORATIONS","COMMENTS","EVENT_LOGS","FILES","FOLDERS","GROUPS","EVENTS","SEARCH","TASKS","USERS"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Box application client ID",title:"Client Id",required:!1,deprecated:!1},enterpriseId:{kind:"parameter",type:"string",description:"The enterprise ID to use for an App Enterprise.",title:"Enterprise Id",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},userId:{kind:"parameter",type:"string",description:"The user ID to use for an App User.",title:"User Id",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpParams:{kind:"parameter",type:"object",description:"Custom HTTP params for settings like proxy host",title:"Http Params",required:!1,deprecated:!1},authenticationType:{kind:"parameter",type:"string",defaultValue:"APP_USER_AUTHENTICATION",description:"The type of authentication for connection. Types of Authentication: STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION - OAuth 2.0 with JSON Web Tokens",title:"Authentication Type",required:!1,deprecated:!1},accessTokenCache:{kind:"parameter",type:"object",description:"Custom Access Token Cache for storing and retrieving access tokens.",title:"Access Token Cache",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Box application client secret",title:"Client Secret",required:!1,deprecated:!1},encryptionAlgorithm:{kind:"parameter",type:"object",defaultValue:"RSA_SHA_256",enum:["RSA_SHA_256","RSA_SHA_384","RSA_SHA_512"],description:"The type of encryption algorithm for JWT. Supported Algorithms: RSA_SHA_256 RSA_SHA_384 RSA_SHA_512",title:"Encryption Algorithm",required:!1,deprecated:!1},maxCacheEntries:{kind:"parameter",type:"integer",defaultValue:"100",description:"The maximum number of access tokens in cache.",title:"Max Cache Entries",required:!1,deprecated:!1},privateKeyFile:{kind:"parameter",type:"string",description:"The private key for generating the JWT signature.",title:"Private Key File",required:!1,deprecated:!1},privateKeyPassword:{kind:"parameter",type:"string",description:"The password for the private key.",title:"Private Key Password",required:!1,deprecated:!1},publicKeyId:{kind:"parameter",type:"string",description:"The ID for public key for validating the JWT signature.",title:"Public Key Id",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"Box user name, MUST be provided",title:"User Name",required:!1,deprecated:!1},userPassword:{kind:"parameter",type:"string",description:"Box user password, MUST be provided if authSecureStorage is not set, or returns null on first call",title:"User Password",required:!1,deprecated:!1}}},braintree:{type:"object",title:"Braintree",group:"saas",icon:"generic24.png",description:"Process payments using Braintree Payments.",properties:{apiName:{kind:"path",type:"object",enum:["ADD_ON","ADDRESS","CLIENT_TOKEN","CREDIT_CARD_VERIFICATION","CUSTOMER","DISCOUNT","DISPUTE","DOCUMENT_UPLOAD","MERCHANT_ACCOUNT","PAYMENT_METHOD","PAYMENT_METHOD_NONCE","OAUTH","PLAN","REPORT","SETTLEMENT_BATCH_SUMMARY","SUBSCRIPTION","TRANSACTION","US_BANK_ACCOUNT","WEBHOOK_NOTIFICATION"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["accept","addFileEvidence","addTextEvidence","cancel","cancelRelease","cloneTransaction","create","createForCurrency","credit","delete","fetchMerchantAccounts","finalize","find","generate","grant","holdInEscrow","parse","refund","releaseFromEscrow","removeEvidence","retryCharge","revoke","sale","search","submitForPartialSettlement","submitForSettlement","transactionLevelFees","update","updateDetails","verify","voidTransaction"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},environment:{kind:"parameter",type:"string",description:"The environment Either SANDBOX or PRODUCTION",title:"Environment",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},merchantId:{kind:"parameter",type:"string",description:"The merchant id provided by Braintree.",title:"Merchant Id",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpReadTimeout:{kind:"parameter",type:"integer",description:"Set read timeout for http calls.",title:"Http Read Timeout",required:!1,deprecated:!1},httpLogLevel:{kind:"parameter",type:"string",enum:["OFF","SEVERE","WARNING","INFO","CONFIG","FINE","FINER","FINEST","ALL"],description:"Set logging level for http calls, see java.util.logging.Level",title:"Http Log Level",required:!1,deprecated:!1},httpLogName:{kind:"parameter",type:"string",defaultValue:"Braintree",description:"Set log category to use to log http calls.",title:"Http Log Name",required:!1,deprecated:!1},logHandlerEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to enable the BraintreeLogHandler. It may be desirable to set this to 'false' where an existing JUL - SLF4J logger bridge is on the classpath. This option can also be configured globally on the BraintreeComponent.",title:"Log Handler Enabled",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"The proxy host",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"The proxy port",title:"Proxy Port",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token granted by a merchant to another in order to process transactions on their behalf. Used in place of environment, merchant id, public key and private key fields.",title:"Access Token",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"string",description:"The private key provided by Braintree.",title:"Private Key",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"string",description:"The public key provided by Braintree.",title:"Public Key",required:!1,deprecated:!1}}},browse:{type:"object",title:"Browse",group:"core,monitoring",icon:"generic24.png",description:"Inspect the messages received on endpoints supporting BrowsableEndpoint.",properties:{name:{kind:"path",type:"string",description:"A name which can be any string to uniquely identify the endpoint",title:"Name",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"caffeine-cache":{type:"object",title:"Caffeine Cache",group:"cache,clustering",icon:"generic24.png",description:"Perform caching operations using Caffeine Cache.",properties:{cacheName:{kind:"path",type:"string",description:"Cache name",title:"Cache Name",required:!0,deprecated:!1},action:{kind:"parameter",type:"string",enum:["GET","GET_ALL","PUT","PUT_ALL","INVALIDATE","INVALIDATE_ALL","CLEANUP","AS_MAP"],description:"To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence.",title:"Action",required:!1,deprecated:!1},createCacheIfNotExist:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatic create the Caffeine cache if none has been configured or exists in the registry.",title:"Create Cache If Not Exist",required:!1,deprecated:!1},evictionType:{kind:"parameter",type:"object",defaultValue:"SIZE_BASED",enum:["size_based","time_based"],description:"Set the eviction Type for this cache",title:"Eviction Type",required:!1,deprecated:!1},expireAfterAccessTime:{kind:"parameter",type:"integer",defaultValue:"300",description:"Specifies that each entry should be automatically removed from the cache once a fixed duration has elapsed after the entry's creation, the most recent replacement of its value, or its last read. Access time is reset by all cache read and write operations. The unit is in seconds.",title:"Expire After Access Time",required:!1,deprecated:!1},expireAfterWriteTime:{kind:"parameter",type:"integer",defaultValue:"300",description:"Specifies that each entry should be automatically removed from the cache once a fixed duration has elapsed after the entry's creation, or the most recent replacement of its value. The unit is in seconds.",title:"Expire After Write Time",required:!1,deprecated:!1},initialCapacity:{kind:"parameter",type:"integer",description:"Sets the minimum total size for the internal data structures. Providing a large enough estimate at construction time avoids the need for expensive resizing operations later, but setting this value unnecessarily high wastes memory.",title:"Initial Capacity",required:!1,deprecated:!1},key:{kind:"parameter",type:"string",description:"To configure the default action key. If a key is set in the message header, then the key from the header takes precedence.",title:"Key",required:!1,deprecated:!1},maximumSize:{kind:"parameter",type:"integer",description:"Specifies the maximum number of entries the cache may contain. Note that the cache may evict an entry before this limit is exceeded or temporarily exceed the threshold while evicting. As the cache size grows close to the maximum, the cache evicts entries that are less likely to be used again. For example, the cache may evict an entry because it hasn't been used recently or very often. When size is zero, elements will be evicted immediately after being loaded into the cache. This can be useful in testing, or to disable caching temporarily without a code change. As eviction is scheduled on the configured executor, tests may instead prefer to configure the cache to execute tasks directly on the same thread.",title:"Maximum Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cacheLoader:{kind:"parameter",type:"object",description:"To configure a CacheLoader in case of a LoadCache use",title:"Cache Loader",required:!1,deprecated:!1},removalListener:{kind:"parameter",type:"object",description:"Set a specific removal Listener for the cache",title:"Removal Listener",required:!1,deprecated:!1},statsCounter:{kind:"parameter",type:"object",description:"Set a specific Stats Counter for the cache stats",title:"Stats Counter",required:!1,deprecated:!1},statsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable stats on the cache",title:"Stats Enabled",required:!1,deprecated:!1},valueType:{kind:"parameter",type:"string",description:"The cache value type, default java.lang.Object",title:"Value Type",required:!1,deprecated:!1}}},"caffeine-loadcache":{type:"object",title:"Caffeine LoadCache",group:"cache,clustering",icon:"generic24.png",description:"Perform caching operations using Caffeine Cache with an attached CacheLoader.",properties:{cacheName:{kind:"path",type:"string",description:"the cache name",title:"Cache Name",required:!0,deprecated:!1},action:{kind:"parameter",type:"string",enum:["GET","GET_ALL","PUT","PUT_ALL","INVALIDATE","INVALIDATE_ALL","CLEANUP","AS_MAP"],description:"To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence.",title:"Action",required:!1,deprecated:!1},createCacheIfNotExist:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatic create the Caffeine cache if none has been configured or exists in the registry.",title:"Create Cache If Not Exist",required:!1,deprecated:!1},evictionType:{kind:"parameter",type:"object",defaultValue:"SIZE_BASED",enum:["size_based","time_based"],description:"Set the eviction Type for this cache",title:"Eviction Type",required:!1,deprecated:!1},expireAfterAccessTime:{kind:"parameter",type:"integer",defaultValue:"300",description:"Specifies that each entry should be automatically removed from the cache once a fixed duration has elapsed after the entry's creation, the most recent replacement of its value, or its last read. Access time is reset by all cache read and write operations. The unit is in seconds.",title:"Expire After Access Time",required:!1,deprecated:!1},expireAfterWriteTime:{kind:"parameter",type:"integer",defaultValue:"300",description:"Specifies that each entry should be automatically removed from the cache once a fixed duration has elapsed after the entry's creation, or the most recent replacement of its value. The unit is in seconds.",title:"Expire After Write Time",required:!1,deprecated:!1},initialCapacity:{kind:"parameter",type:"integer",description:"Sets the minimum total size for the internal data structures. Providing a large enough estimate at construction time avoids the need for expensive resizing operations later, but setting this value unnecessarily high wastes memory.",title:"Initial Capacity",required:!1,deprecated:!1},key:{kind:"parameter",type:"string",description:"To configure the default action key. If a key is set in the message header, then the key from the header takes precedence.",title:"Key",required:!1,deprecated:!1},maximumSize:{kind:"parameter",type:"integer",description:"Specifies the maximum number of entries the cache may contain. Note that the cache may evict an entry before this limit is exceeded or temporarily exceed the threshold while evicting. As the cache size grows close to the maximum, the cache evicts entries that are less likely to be used again. For example, the cache may evict an entry because it hasn't been used recently or very often. When size is zero, elements will be evicted immediately after being loaded into the cache. This can be useful in testing, or to disable caching temporarily without a code change. As eviction is scheduled on the configured executor, tests may instead prefer to configure the cache to execute tasks directly on the same thread.",title:"Maximum Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cacheLoader:{kind:"parameter",type:"object",description:"To configure a CacheLoader in case of a LoadCache use",title:"Cache Loader",required:!1,deprecated:!1},removalListener:{kind:"parameter",type:"object",description:"Set a specific removal Listener for the cache",title:"Removal Listener",required:!1,deprecated:!1},statsCounter:{kind:"parameter",type:"object",description:"Set a specific Stats Counter for the cache stats",title:"Stats Counter",required:!1,deprecated:!1},statsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable stats on the cache",title:"Stats Enabled",required:!1,deprecated:!1},valueType:{kind:"parameter",type:"string",description:"The cache value type, default java.lang.Object",title:"Value Type",required:!1,deprecated:!1}}},chatscript:{type:"object",title:"ChatScript",group:"ai,chat",icon:"generic24.png",description:"Chat with a ChatScript Server.",properties:{host:{kind:"path",type:"string",description:"Hostname or IP of the server on which CS server is running",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"1024",description:"Port on which ChatScript is listening to",title:"Port",required:!1,deprecated:!1},botName:{kind:"path",type:"string",description:"Name of the Bot in CS to converse with",title:"Bot Name",required:!0,deprecated:!1},chatUserName:{kind:"parameter",type:"string",description:"Username who initializes the CS conversation. To be set when chat is initialized from camel route",title:"Chat User Name",required:!1,deprecated:!1},resetChat:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Issues :reset command to start a new conversation everytime",title:"Reset Chat",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},chunk:{type:"object",title:"Chunk",group:"transformation",icon:"generic24.png",description:"Transform messages using Chunk templating engine.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"Define the encoding of the body",title:"Encoding",required:!1,deprecated:!1},extension:{kind:"parameter",type:"string",description:"Define the file extension of the template",title:"Extension",required:!1,deprecated:!1},themeFolder:{kind:"parameter",type:"string",description:"Define the themes folder to scan",title:"Theme Folder",required:!1,deprecated:!1},themeLayer:{kind:"parameter",type:"string",description:"Define the theme layer to elaborate",title:"Theme Layer",required:!1,deprecated:!1},themeSubfolder:{kind:"parameter",type:"string",description:"Define the themes subfolder to scan",title:"Theme Subfolder",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},class:{type:"object",title:"Class",group:"core,script",icon:"generic24.png",description:"Invoke methods of Java beans specified by class name.",properties:{beanName:{kind:"path",type:"string",description:"Sets the name of the bean to invoke",title:"Bean Name",required:!0,deprecated:!1},method:{kind:"parameter",type:"string",description:"Sets the name of the method to invoke on the bean",title:"Method",required:!1,deprecated:!1},scope:{kind:"parameter",type:"object",defaultValue:"Singleton",enum:["Singleton","Request","Prototype"],description:"Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while processing the request. The bean does not have to be thread-safe as the instance is only called from the same request. When using prototype scope, then the bean will be looked up or created per call. However in case of lookup then this is delegated to the bean registry such as Spring or CDI (if in use), which depends on their configuration can act as either singleton or prototype scope. so when using prototype then this depends on the delegated registry.",title:"Scope",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Used for configuring additional properties on the bean",title:"Parameters",required:!1,deprecated:!1}}},"cm-sms":{type:"object",title:"CM SMS Gateway",group:"mobile",icon:"generic24.png",description:"Send SMS messages via CM SMS Gateway.",properties:{host:{kind:"path",type:"string",description:"SMS Provider HOST with scheme",title:"Host",required:!0,deprecated:!1},defaultFrom:{kind:"parameter",type:"string",description:"This is the sender name. The maximum length is 11 characters.",title:"Default From",required:!0,deprecated:!1},defaultMaxNumberOfParts:{kind:"parameter",type:"integer",defaultValue:"8",description:"If it is a multipart message forces the max number. Message can be truncated. Technically the gateway will first check if a message is larger than 160 characters, if so, the message will be cut into multiple 153 characters parts limited by these parameters.",title:"Default Max Number Of Parts",required:!1,deprecated:!1},productToken:{kind:"parameter",type:"string",description:"The unique token to use",title:"Product Token",required:!0,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to test the connection to the SMS Gateway on startup",title:"Test Connection On Startup",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},coap:{type:"object",title:"CoAP",group:"iot",icon:"generic24.png",description:"Send and receive messages to/from COAP capable devices.",properties:{uri:{kind:"path",type:"string",description:"The URI for the CoAP endpoint",title:"Uri",required:!1,deprecated:!1},coapMethodRestrict:{kind:"parameter",type:"string",enum:["DELETE","GET","POST","PUT"],description:"Comma separated list of methods that the CoAP consumer will bind to. The default is to bind to all methods (DELETE, GET, POST, PUT).",title:"Coap Method Restrict",required:!1,deprecated:!1},observable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Make CoAP resource observable for source endpoint, based on RFC 7641.",title:"Observable",required:!1,deprecated:!1},observe:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send an observe request from a source endpoint, based on RFC 7641.",title:"Observe",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},notify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with an URI that matches an existing source endpoint URI.",title:"Notify",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},alias:{kind:"parameter",type:"string",enum:["NONE","WANT","REQUIRE"],description:"Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key.",title:"Alias",required:!1,deprecated:!1},cipherSuites:{kind:"parameter",type:"string",description:"Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object.",title:"Cipher Suites",required:!1,deprecated:!1},clientAuthentication:{kind:"parameter",type:"string",description:"Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value.",title:"Client Authentication",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"object",description:"Set the configured private key for use with Raw Public Key.",title:"Private Key",required:!1,deprecated:!1},pskStore:{kind:"parameter",type:"object",description:"Set the PskStore to use for pre-shared key.",title:"Psk Store",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"object",description:"Set the configured public key for use with Raw Public Key.",title:"Public Key",required:!1,deprecated:!1},recommendedCipherSuitesOnly:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false.",title:"Recommended Cipher Suites Only",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS).",title:"Ssl Context Parameters",required:!1,deprecated:!1},trustedRpkStore:{kind:"parameter",type:"object",description:"Set the TrustedRpkStore to use to determine trust in raw public keys.",title:"Trusted Rpk Store",required:!1,deprecated:!1}}},"coap+tcp":{type:"object",title:"CoAP",group:"iot",icon:"generic24.png",description:"Send and receive messages to/from COAP capable devices.",properties:{uri:{kind:"path",type:"string",description:"The URI for the CoAP endpoint",title:"Uri",required:!1,deprecated:!1},coapMethodRestrict:{kind:"parameter",type:"string",enum:["DELETE","GET","POST","PUT"],description:"Comma separated list of methods that the CoAP consumer will bind to. The default is to bind to all methods (DELETE, GET, POST, PUT).",title:"Coap Method Restrict",required:!1,deprecated:!1},observable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Make CoAP resource observable for source endpoint, based on RFC 7641.",title:"Observable",required:!1,deprecated:!1},observe:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send an observe request from a source endpoint, based on RFC 7641.",title:"Observe",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},notify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with an URI that matches an existing source endpoint URI.",title:"Notify",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},alias:{kind:"parameter",type:"string",enum:["NONE","WANT","REQUIRE"],description:"Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key.",title:"Alias",required:!1,deprecated:!1},cipherSuites:{kind:"parameter",type:"string",description:"Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object.",title:"Cipher Suites",required:!1,deprecated:!1},clientAuthentication:{kind:"parameter",type:"string",description:"Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value.",title:"Client Authentication",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"object",description:"Set the configured private key for use with Raw Public Key.",title:"Private Key",required:!1,deprecated:!1},pskStore:{kind:"parameter",type:"object",description:"Set the PskStore to use for pre-shared key.",title:"Psk Store",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"object",description:"Set the configured public key for use with Raw Public Key.",title:"Public Key",required:!1,deprecated:!1},recommendedCipherSuitesOnly:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false.",title:"Recommended Cipher Suites Only",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS).",title:"Ssl Context Parameters",required:!1,deprecated:!1},trustedRpkStore:{kind:"parameter",type:"object",description:"Set the TrustedRpkStore to use to determine trust in raw public keys.",title:"Trusted Rpk Store",required:!1,deprecated:!1}}},coaps:{type:"object",title:"CoAP (Secure)",group:"iot",icon:"generic24.png",description:"Send and receive messages to/from COAP capable devices.",properties:{uri:{kind:"path",type:"string",description:"The URI for the CoAP endpoint",title:"Uri",required:!1,deprecated:!1},coapMethodRestrict:{kind:"parameter",type:"string",enum:["DELETE","GET","POST","PUT"],description:"Comma separated list of methods that the CoAP consumer will bind to. The default is to bind to all methods (DELETE, GET, POST, PUT).",title:"Coap Method Restrict",required:!1,deprecated:!1},observable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Make CoAP resource observable for source endpoint, based on RFC 7641.",title:"Observable",required:!1,deprecated:!1},observe:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send an observe request from a source endpoint, based on RFC 7641.",title:"Observe",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},notify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with an URI that matches an existing source endpoint URI.",title:"Notify",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},alias:{kind:"parameter",type:"string",enum:["NONE","WANT","REQUIRE"],description:"Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key.",title:"Alias",required:!1,deprecated:!1},cipherSuites:{kind:"parameter",type:"string",description:"Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object.",title:"Cipher Suites",required:!1,deprecated:!1},clientAuthentication:{kind:"parameter",type:"string",description:"Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value.",title:"Client Authentication",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"object",description:"Set the configured private key for use with Raw Public Key.",title:"Private Key",required:!1,deprecated:!1},pskStore:{kind:"parameter",type:"object",description:"Set the PskStore to use for pre-shared key.",title:"Psk Store",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"object",description:"Set the configured public key for use with Raw Public Key.",title:"Public Key",required:!1,deprecated:!1},recommendedCipherSuitesOnly:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false.",title:"Recommended Cipher Suites Only",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS).",title:"Ssl Context Parameters",required:!1,deprecated:!1},trustedRpkStore:{kind:"parameter",type:"object",description:"Set the TrustedRpkStore to use to determine trust in raw public keys.",title:"Trusted Rpk Store",required:!1,deprecated:!1}}},"coaps+tcp":{type:"object",title:"CoAP",group:"iot",icon:"generic24.png",description:"Send and receive messages to/from COAP capable devices.",properties:{uri:{kind:"path",type:"string",description:"The URI for the CoAP endpoint",title:"Uri",required:!1,deprecated:!1},coapMethodRestrict:{kind:"parameter",type:"string",enum:["DELETE","GET","POST","PUT"],description:"Comma separated list of methods that the CoAP consumer will bind to. The default is to bind to all methods (DELETE, GET, POST, PUT).",title:"Coap Method Restrict",required:!1,deprecated:!1},observable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Make CoAP resource observable for source endpoint, based on RFC 7641.",title:"Observable",required:!1,deprecated:!1},observe:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send an observe request from a source endpoint, based on RFC 7641.",title:"Observe",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},notify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with an URI that matches an existing source endpoint URI.",title:"Notify",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},alias:{kind:"parameter",type:"string",enum:["NONE","WANT","REQUIRE"],description:"Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key.",title:"Alias",required:!1,deprecated:!1},cipherSuites:{kind:"parameter",type:"string",description:"Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object.",title:"Cipher Suites",required:!1,deprecated:!1},clientAuthentication:{kind:"parameter",type:"string",description:"Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value.",title:"Client Authentication",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"object",description:"Set the configured private key for use with Raw Public Key.",title:"Private Key",required:!1,deprecated:!1},pskStore:{kind:"parameter",type:"object",description:"Set the PskStore to use for pre-shared key.",title:"Psk Store",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"object",description:"Set the configured public key for use with Raw Public Key.",title:"Public Key",required:!1,deprecated:!1},recommendedCipherSuitesOnly:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false.",title:"Recommended Cipher Suites Only",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS).",title:"Ssl Context Parameters",required:!1,deprecated:!1},trustedRpkStore:{kind:"parameter",type:"object",description:"Set the TrustedRpkStore to use to determine trust in raw public keys.",title:"Trusted Rpk Store",required:!1,deprecated:!1}}},cometd:{type:"object",title:"CometD",group:"networking,messaging",icon:"generic24.png",description:"Offers publish/subscribe, peer-to-peer (via a server), and RPC style messaging using the CometD/Bayeux protocol.",properties:{host:{kind:"path",type:"string",description:"Hostname",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Host port number",title:"Port",required:!0,deprecated:!1},channelName:{kind:"path",type:"string",description:"The channelName represents a topic that can be subscribed to by the Camel endpoints.",title:"Channel Name",required:!0,deprecated:!1},allowedOrigins:{kind:"parameter",type:"string",defaultValue:"*",description:"The origins domain that support to cross, if the crosssOriginFilterOn is true",title:"Allowed Origins",required:!1,deprecated:!1},baseResource:{kind:"parameter",type:"string",description:"The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar",title:"Base Resource",required:!1,deprecated:!1},crossOriginFilterOn:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the server will support for cross-domain filtering",title:"Cross Origin Filter On",required:!1,deprecated:!1},filterPath:{kind:"parameter",type:"string",description:"The filterPath will be used by the CrossOriginFilter, if the crosssOriginFilterOn is true",title:"Filter Path",required:!1,deprecated:!1},interval:{kind:"parameter",type:"integer",description:"The client side poll timeout in milliseconds. How long a client will wait between reconnects",title:"Interval",required:!1,deprecated:!1},jsonCommented:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking.",title:"Json Commented",required:!1,deprecated:!1},logLevel:{kind:"parameter",type:"integer",defaultValue:"1",enum:["0","1","2"],description:"Logging level. 0=none, 1=info, 2=debug.",title:"Log Level",required:!1,deprecated:!1},maxInterval:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time.",title:"Max Interval",required:!1,deprecated:!1},multiFrameInterval:{kind:"parameter",type:"integer",defaultValue:"1500",description:"The client side poll timeout, if multiple connections are detected from the same browser.",title:"Multi Frame Interval",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"240000",description:"The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding.",title:"Timeout",required:!1,deprecated:!1},sessionHeadersEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include the server session headers in the Camel message when creating a Camel Message for incoming requests.",title:"Session Headers Enabled",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},disconnectLocalSession:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to disconnect local sessions after publishing a message to its channel. Disconnecting local session is needed as they are not swept by default by CometD, and therefore you can run out of memory.",title:"Disconnect Local Session",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},cometds:{type:"object",title:"CometD (Secure)",group:"networking,messaging",icon:"generic24.png",description:"Offers publish/subscribe, peer-to-peer (via a server), and RPC style messaging using the CometD/Bayeux protocol.",properties:{host:{kind:"path",type:"string",description:"Hostname",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Host port number",title:"Port",required:!0,deprecated:!1},channelName:{kind:"path",type:"string",description:"The channelName represents a topic that can be subscribed to by the Camel endpoints.",title:"Channel Name",required:!0,deprecated:!1},allowedOrigins:{kind:"parameter",type:"string",defaultValue:"*",description:"The origins domain that support to cross, if the crosssOriginFilterOn is true",title:"Allowed Origins",required:!1,deprecated:!1},baseResource:{kind:"parameter",type:"string",description:"The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar",title:"Base Resource",required:!1,deprecated:!1},crossOriginFilterOn:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the server will support for cross-domain filtering",title:"Cross Origin Filter On",required:!1,deprecated:!1},filterPath:{kind:"parameter",type:"string",description:"The filterPath will be used by the CrossOriginFilter, if the crosssOriginFilterOn is true",title:"Filter Path",required:!1,deprecated:!1},interval:{kind:"parameter",type:"integer",description:"The client side poll timeout in milliseconds. How long a client will wait between reconnects",title:"Interval",required:!1,deprecated:!1},jsonCommented:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking.",title:"Json Commented",required:!1,deprecated:!1},logLevel:{kind:"parameter",type:"integer",defaultValue:"1",enum:["0","1","2"],description:"Logging level. 0=none, 1=info, 2=debug.",title:"Log Level",required:!1,deprecated:!1},maxInterval:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time.",title:"Max Interval",required:!1,deprecated:!1},multiFrameInterval:{kind:"parameter",type:"integer",defaultValue:"1500",description:"The client side poll timeout, if multiple connections are detected from the same browser.",title:"Multi Frame Interval",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"240000",description:"The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding.",title:"Timeout",required:!1,deprecated:!1},sessionHeadersEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include the server session headers in the Camel message when creating a Camel Message for incoming requests.",title:"Session Headers Enabled",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},disconnectLocalSession:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to disconnect local sessions after publishing a message to its channel. Disconnecting local session is needed as they are not swept by default by CometD, and therefore you can run out of memory.",title:"Disconnect Local Session",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},consul:{type:"object",title:"Consul",group:"cloud,api",icon:"generic24.png",description:"Integrate with Consul service discovery and configuration store.",properties:{apiEndpoint:{kind:"path",type:"string",description:"The API endpoint",title:"Api Endpoint",required:!0,deprecated:!1},connectTimeout:{kind:"parameter",type:"object",description:"Connect timeout for OkHttpClient",title:"Connect Timeout",required:!1,deprecated:!1},consulClient:{kind:"parameter",type:"object",description:"Reference to a com.orbitz.consul.Consul in the registry.",title:"Consul Client",required:!1,deprecated:!1},key:{kind:"parameter",type:"string",description:"The default key. Can be overridden by CamelConsulKey",title:"Key",required:!1,deprecated:!1},pingInstance:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Configure if the AgentClient should attempt a ping before returning the Consul instance",title:"Ping Instance",required:!1,deprecated:!1},readTimeout:{kind:"parameter",type:"object",description:"Read timeout for OkHttpClient",title:"Read Timeout",required:!1,deprecated:!1},tags:{kind:"parameter",type:"string",description:"Set tags. You can separate multiple tags by comma.",title:"Tags",required:!1,deprecated:!1},url:{kind:"parameter",type:"string",description:"The Consul agent URL",title:"Url",required:!1,deprecated:!1},writeTimeout:{kind:"parameter",type:"object",description:"Write timeout for OkHttpClient",title:"Write Timeout",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},action:{kind:"parameter",type:"string",description:"The default action. Can be overridden by CamelConsulAction",title:"Action",required:!1,deprecated:!1},valueAsString:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Default to transform values retrieved from Consul i.e. on KV endpoint to string.",title:"Value As String",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},consistencyMode:{kind:"parameter",type:"object",defaultValue:"DEFAULT",enum:["DEFAULT","STALE","CONSISTENT"],description:"The consistencyMode used for queries, default ConsistencyMode.DEFAULT",title:"Consistency Mode",required:!1,deprecated:!1},datacenter:{kind:"parameter",type:"string",description:"The data center",title:"Datacenter",required:!1,deprecated:!1},nearNode:{kind:"parameter",type:"string",description:"The near node to use for queries.",title:"Near Node",required:!1,deprecated:!1},nodeMeta:{kind:"parameter",type:"array",description:"The note meta-data to use for queries.",title:"Node Meta",required:!1,deprecated:!1},aclToken:{kind:"parameter",type:"string",description:"Sets the ACL token to be used with Consul",title:"Acl Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Sets the password to be used for basic authentication",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"SSL configuration using an org.apache.camel.support.jsse.SSLContextParameters instance.",title:"Ssl Context Parameters",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"Sets the username to be used for basic authentication",title:"User Name",required:!1,deprecated:!1},blockSeconds:{kind:"parameter",type:"integer",defaultValue:"10",description:"The second to wait for a watch event, default 10 seconds",title:"Block Seconds",required:!1,deprecated:!1},firstIndex:{kind:"parameter",type:"object",defaultValue:"0",description:"The first index for watch for, default 0",title:"First Index",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Recursively watch, default false",title:"Recursive",required:!1,deprecated:!1}}},controlbus:{type:"object",title:"Control Bus",group:"core,monitoring",icon:"generic24.png",description:"Manage and monitor Camel routes.",properties:{command:{kind:"path",type:"string",enum:["route","language"],description:"Command can be either route or language",title:"Command",required:!0,deprecated:!1},language:{kind:"path",type:"object",enum:["bean","constant","csimple","datasonnet","exchangeProperty","file","groovy","header","hl7terser","joor","jq","jsonpath","mvel","ognl","python","ref","simple","spel","tokenize","xpath","xquery","xtokenize"],description:"Allows you to specify the name of a Language to use for evaluating the message body. If there is any result from the evaluation, then the result is put in the message body.",title:"Language",required:!1,deprecated:!1},action:{kind:"parameter",type:"string",enum:["start","stop","fail","suspend","resume","restart","status","stats"],description:"To denote an action that can be either: start, stop, or status. To either start or stop a route, or to get the status of the route as output in the message body. You can use suspend and resume to either suspend or resume a route. You can use stats to get performance statics returned in XML format; the routeId option can be used to define which route to get the performance stats for, if routeId is not defined, then you get statistics for the entire CamelContext. The restart action will restart the route. And the fail action will stop and mark the route as failed (stopped due to an exception)",title:"Action",required:!1,deprecated:!1},async:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to execute the control bus task asynchronously. Important: If this option is enabled, then any result from the task is not set on the Exchange. This is only possible if executing tasks synchronously.",title:"Async",required:!1,deprecated:!1},loggingLevel:{kind:"parameter",type:"object",defaultValue:"INFO",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used for logging when task is done, or if any exceptions occurred during processing the task.",title:"Logging Level",required:!1,deprecated:!1},restartDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The delay in millis to use when restarting a route.",title:"Restart Delay",required:!1,deprecated:!1},routeId:{kind:"parameter",type:"string",description:"To specify a route by its id. The special keyword current indicates the current route.",title:"Route Id",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},couchbase:{type:"object",title:"Couchbase",group:"database",icon:"generic24.png",description:"Query Couchbase Views with a poll strategy and/or perform various operations against Couchbase databases.",properties:{protocol:{kind:"path",type:"string",description:"The protocol to use",title:"Protocol",required:!0,deprecated:!1},hostname:{kind:"path",type:"string",description:"The hostname to use",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"8091",description:"The port number to use",title:"Port",required:!1,deprecated:!1},bucket:{kind:"parameter",type:"string",description:"The bucket to use",title:"Bucket",required:!0,deprecated:!1},collection:{kind:"parameter",type:"string",description:"The collection to use",title:"Collection",required:!1,deprecated:!1},key:{kind:"parameter",type:"string",description:"The key to use",title:"Key",required:!1,deprecated:!1},scope:{kind:"parameter",type:"string",description:"The scope to use",title:"Scope",required:!1,deprecated:!1},consumerProcessedStrategy:{kind:"parameter",type:"string",defaultValue:"none",description:"Define the consumer Processed strategy to use",title:"Consumer Processed Strategy",required:!1,deprecated:!1},descending:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if this operation is descending or not",title:"Descending",required:!1,deprecated:!1},designDocumentName:{kind:"parameter",type:"string",defaultValue:"beer",description:"The design document name to use",title:"Design Document Name",required:!1,deprecated:!1},fullDocument:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true consumer will return complete document instead data defined in view",title:"Full Document",required:!1,deprecated:!1},limit:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The output limit to use",title:"Limit",required:!1,deprecated:!1},rangeEndKey:{kind:"parameter",type:"string",description:"Define a range for the end key",title:"Range End Key",required:!1,deprecated:!1},rangeStartKey:{kind:"parameter",type:"string",description:"Define a range for the start key",title:"Range Start Key",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skip:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Define the skip to use",title:"Skip",required:!1,deprecated:!1},viewName:{kind:"parameter",type:"string",defaultValue:"brewery_beers",description:"The view name to use",title:"View Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},autoStartIdForInserts:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if we want an autostart Id when we are doing an insert operation",title:"Auto Start Id For Inserts",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",defaultValue:"CCB_PUT",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},persistTo:{kind:"parameter",type:"integer",defaultValue:"0",description:"Where to persist the data",title:"Persist To",required:!1,deprecated:!1},producerRetryAttempts:{kind:"parameter",type:"integer",defaultValue:"2",description:"Define the number of retry attempts",title:"Producer Retry Attempts",required:!1,deprecated:!1},producerRetryPause:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Define the retry pause between different attempts",title:"Producer Retry Pause",required:!1,deprecated:!1},replicateTo:{kind:"parameter",type:"integer",defaultValue:"0",description:"Where to replicate the data",title:"Replicate To",required:!1,deprecated:!1},startingIdForInsertsFrom:{kind:"parameter",type:"integer",description:"Define the starting Id where we are doing an insert operation",title:"Starting Id For Inserts From",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalHosts:{kind:"parameter",type:"string",description:"The additional hosts",title:"Additional Hosts",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Define the timeoutconnect in milliseconds",title:"Connect Timeout",required:!1,deprecated:!1},queryTimeout:{kind:"parameter",type:"duration",defaultValue:"2500",description:"Define the operation timeout in milliseconds",title:"Query Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password to use",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username to use",title:"Username",required:!1,deprecated:!1}}},couchdb:{type:"object",title:"CouchDB",group:"database",icon:"generic24.png",description:"Consume changesets for inserts, updates and deletes in a CouchDB database, as well as get, save, update and delete documents from a CouchDB database.",properties:{protocol:{kind:"path",type:"string",enum:["http","https"],description:"The protocol to use for communicating with the database.",title:"Protocol",required:!0,deprecated:!1},hostname:{kind:"path",type:"string",description:"Hostname of the running couchdb instance",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"5984",description:"Port number for the running couchdb instance",title:"Port",required:!1,deprecated:!1},database:{kind:"path",type:"string",description:"Name of the database to use",title:"Database",required:!0,deprecated:!1},createDatabase:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Creates the database if it does not already exist",title:"Create Database",required:!1,deprecated:!1},deletes:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Document deletes are published as events",title:"Deletes",required:!1,deprecated:!1},heartbeat:{kind:"parameter",type:"duration",defaultValue:"30000",description:"How often to send an empty message to keep socket alive in millis",title:"Heartbeat",required:!1,deprecated:!1},style:{kind:"parameter",type:"string",defaultValue:"main_only",enum:["all_docs","main_only"],description:"Specifies how many revisions are returned in the changes array. The default, main_only, will only return the current winning revision; all_docs will return all leaf revisions (including conflicts and deleted former conflicts.)",title:"Style",required:!1,deprecated:!1},updates:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Document inserts/updates are published as events",title:"Updates",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for authenticated databases",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username in case of authenticated databases",title:"Username",required:!1,deprecated:!1}}},cql:{type:"object",title:"Cassandra CQL",group:"database,bigdata",icon:"generic24.png",description:"Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax.",properties:{beanRef:{kind:"path",type:"string",description:"beanRef is defined using bean:id",title:"Bean Ref",required:!1,deprecated:!1},hosts:{kind:"path",type:"string",description:"Hostname(s) Cassandra server(s). Multiple hosts can be separated by comma.",title:"Hosts",required:!1,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number of Cassandra server(s)",title:"Port",required:!1,deprecated:!1},keyspace:{kind:"path",type:"string",description:"Keyspace to use",title:"Keyspace",required:!1,deprecated:!1},clusterName:{kind:"parameter",type:"string",description:"Cluster name",title:"Cluster Name",required:!1,deprecated:!1},consistencyLevel:{kind:"parameter",type:"object",enum:["ANY","ONE","TWO","THREE","QUORUM","ALL","LOCAL_ONE","LOCAL_QUORUM","EACH_QUORUM","SERIAL","LOCAL_SERIAL"],description:"Consistency level to use",title:"Consistency Level",required:!1,deprecated:!1},cql:{kind:"parameter",type:"string",description:"CQL query to perform. Can be overridden with the message header with key CamelCqlQuery.",title:"Cql",required:!1,deprecated:!1},datacenter:{kind:"parameter",type:"string",defaultValue:"datacenter1",description:"Datacenter to use",title:"Datacenter",required:!1,deprecated:!1},extraTypeCodecs:{kind:"parameter",type:"string",description:"To use a specific comma separated list of Extra Type codecs. Possible values are: BLOB_TO_ARRAY, BOOLEAN_LIST_TO_ARRAY, BYTE_LIST_TO_ARRAY, SHORT_LIST_TO_ARRAY, INT_LIST_TO_ARRAY, LONG_LIST_TO_ARRAY, FLOAT_LIST_TO_ARRAY, DOUBLE_LIST_TO_ARRAY, TIMESTAMP_UTC, TIMESTAMP_MILLIS_SYSTEM, TIMESTAMP_MILLIS_UTC, ZONED_TIMESTAMP_SYSTEM, ZONED_TIMESTAMP_UTC, ZONED_TIMESTAMP_PERSISTED, LOCAL_TIMESTAMP_SYSTEM and LOCAL_TIMESTAMP_UTC",title:"Extra Type Codecs",required:!1,deprecated:!1},loadBalancingPolicyClass:{kind:"parameter",type:"string",description:"To use a specific LoadBalancingPolicyClass",title:"Load Balancing Policy Class",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for session authentication",title:"Password",required:!1,deprecated:!1},prepareStatements:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use PreparedStatements or regular Statements",title:"Prepare Statements",required:!1,deprecated:!1},resultSetConversionStrategy:{kind:"parameter",type:"object",description:"To use a custom class that implements logic for converting ResultSet into message body ALL, ONE, LIMIT_10, LIMIT_100...",title:"Result Set Conversion Strategy",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"To use the Session instance (you would normally not use this option)",title:"Session",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for session authentication",title:"Username",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},cron:{type:"object",title:"Cron",group:"scheduling",icon:"generic24.png",description:"A generic interface for triggering events at times specified through the Unix cron syntax.",properties:{name:{kind:"path",type:"string",description:"The name of the cron trigger",title:"Name",required:!0,deprecated:!1},schedule:{kind:"parameter",type:"string",description:"A cron expression that will be used to generate events",title:"Schedule",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},crypto:{type:"object",title:"Crypto (JCE)",group:"security,transformation",icon:"generic24.png",description:"Sign and verify exchanges using the Signature Service of the Java Cryptographic Extension (JCE).",properties:{cryptoOperation:{kind:"path",type:"object",enum:["sign","verify"],description:"Set the Crypto operation from that supplied after the crypto scheme in the endpoint uri e.g. crypto:sign sets sign as the operation.",title:"Crypto Operation",required:!0,deprecated:!1},name:{kind:"path",type:"string",description:"The logical name of this operation.",title:"Name",required:!0,deprecated:!1},algorithm:{kind:"parameter",type:"string",defaultValue:"SHA256withRSA",description:"Sets the JCE name of the Algorithm that should be used for the signer.",title:"Algorithm",required:!1,deprecated:!1},alias:{kind:"parameter",type:"string",description:"Sets the alias used to query the KeyStore for keys and {link java.security.cert.Certificate Certificates} to be used in signing and verifying exchanges. This value can be provided at runtime via the message header org.apache.camel.component.crypto.DigitalSignatureConstants#KEYSTORE_ALIAS",title:"Alias",required:!1,deprecated:!1},certificateName:{kind:"parameter",type:"string",description:"Sets the reference name for a PrivateKey that can be found in the registry.",title:"Certificate Name",required:!1,deprecated:!1},keystore:{kind:"parameter",type:"object",description:"Sets the KeyStore that can contain keys and Certficates for use in signing and verifying exchanges. A KeyStore is typically used with an alias, either one supplied in the Route definition or dynamically via the message header CamelSignatureKeyStoreAlias. If no alias is supplied and there is only a single entry in the Keystore, then this single entry will be used.",title:"Keystore",required:!1,deprecated:!1},keystoreName:{kind:"parameter",type:"string",description:"Sets the reference name for a Keystore that can be found in the registry.",title:"Keystore Name",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"object",description:"Set the PrivateKey that should be used to sign the exchange",title:"Private Key",required:!1,deprecated:!1},privateKeyName:{kind:"parameter",type:"string",description:"Sets the reference name for a PrivateKey that can be found in the registry.",title:"Private Key Name",required:!1,deprecated:!1},provider:{kind:"parameter",type:"string",description:"Set the id of the security provider that provides the configured Signature algorithm.",title:"Provider",required:!1,deprecated:!1},publicKeyName:{kind:"parameter",type:"string",description:"references that should be resolved when the context changes",title:"Public Key Name",required:!1,deprecated:!1},secureRandomName:{kind:"parameter",type:"string",description:"Sets the reference name for a SecureRandom that can be found in the registry.",title:"Secure Random Name",required:!1,deprecated:!1},signatureHeaderName:{kind:"parameter",type:"string",description:"Set the name of the message header that should be used to store the base64 encoded signature. This defaults to 'CamelDigitalSignature'",title:"Signature Header Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Set the size of the buffer used to read in the Exchange payload data.",title:"Buffer Size",required:!1,deprecated:!1},certificate:{kind:"parameter",type:"object",description:"Set the Certificate that should be used to verify the signature in the exchange based on its payload.",title:"Certificate",required:!1,deprecated:!1},clearHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Determines if the Signature specific headers be cleared after signing and verification. Defaults to true, and should only be made otherwise at your extreme peril as vital private information such as Keys and passwords may escape if unset.",title:"Clear Headers",required:!1,deprecated:!1},keyStoreParameters:{kind:"parameter",type:"object",description:"Sets the KeyStore that can contain keys and Certficates for use in signing and verifying exchanges based on the given KeyStoreParameters. A KeyStore is typically used with an alias, either one supplied in the Route definition or dynamically via the message header CamelSignatureKeyStoreAlias. If no alias is supplied and there is only a single entry in the Keystore, then this single entry will be used.",title:"Key Store Parameters",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"object",description:"Set the PublicKey that should be used to verify the signature in the exchange.",title:"Public Key",required:!1,deprecated:!1},secureRandom:{kind:"parameter",type:"object",description:"Set the SecureRandom used to initialize the Signature service",title:"Secure Random",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Sets the password used to access an aliased PrivateKey in the KeyStore.",title:"Password",required:!1,deprecated:!1}}},cxf:{type:"object",title:"CXF",group:"http,webservice",icon:"generic24.png",description:"Expose SOAP WebServices using Apache CXF or connect to external WebServices using CXF WS client.",properties:{beanId:{kind:"path",type:"string",description:"To lookup an existing configured CxfEndpoint. Must used bean: as prefix.",title:"Bean Id",required:!1,deprecated:!1},address:{kind:"path",type:"string",description:"The service publish address.",title:"Address",required:!1,deprecated:!1},dataFormat:{kind:"parameter",type:"object",defaultValue:"POJO",enum:["PAYLOAD","RAW","MESSAGE","CXF_MESSAGE","POJO"],description:"The data type messages supported by the CXF endpoint.",title:"Data Format",required:!1,deprecated:!1},wrappedStyle:{kind:"parameter",type:"boolean",description:"The WSDL style that describes how parameters are represented in the SOAP body. If the value is false, CXF will chose the document-literal unwrapped style, If the value is true, CXF will chose the document-literal wrapped style",title:"Wrapped Style",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},defaultOperationName:{kind:"parameter",type:"string",description:"This option will set the default operationName that will be used by the CxfProducer which invokes the remote service.",title:"Default Operation Name",required:!1,deprecated:!1},defaultOperationNamespace:{kind:"parameter",type:"string",description:"This option will set the default operationNamespace that will be used by the CxfProducer which invokes the remote service.",title:"Default Operation Namespace",required:!1,deprecated:!1},hostnameVerifier:{kind:"parameter",type:"object",description:"The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry.",title:"Hostname Verifier",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"The Camel SSL setting reference. Use the # notation to reference the SSL Context.",title:"Ssl Context Parameters",required:!1,deprecated:!1},wrapped:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Which kind of operation that CXF endpoint producer will invoke",title:"Wrapped",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},allowStreaming:{kind:"parameter",type:"boolean",description:"This option controls whether the CXF component, when running in PAYLOAD mode, will DOM parse the incoming messages into DOM Elements or keep the payload as a javax.xml.transform.Source object that would allow streaming in some cases.",title:"Allow Streaming",required:!1,deprecated:!1},bus:{kind:"parameter",type:"object",description:"To use a custom configured CXF Bus.",title:"Bus",required:!1,deprecated:!1},continuationTimeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport.",title:"Continuation Timeout",required:!1,deprecated:!1},cxfBinding:{kind:"parameter",type:"object",description:"To use a custom CxfBinding to control the binding between Camel Message and CXF Message.",title:"Cxf Binding",required:!1,deprecated:!1},cxfConfigurer:{kind:"parameter",type:"object",description:"This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure{ServerClient} method of CxfEndpointConfigurer.",title:"Cxf Configurer",required:!1,deprecated:!1},defaultBus:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will set the default bus when CXF endpoint create a bus by itself",title:"Default Bus",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},mergeProtocolHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393.",title:"Merge Protocol Headers",required:!1,deprecated:!1},mtomEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable MTOM (attachments). This requires to use POJO or PAYLOAD data format mode.",title:"Mtom Enabled",required:!1,deprecated:!1},properties:{kind:"parameter",type:"object",description:"To set additional CXF options using the key/value pairs from the Map. For example to turn on stacktraces in SOAP faults, properties.faultStackTraceEnabled=true",title:"Properties",required:!1,deprecated:!1},schemaValidationEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable schema validation for request and response. Disabled by default for performance reason",title:"Schema Validation Enabled",required:!1,deprecated:!1},skipPayloadMessagePartCheck:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether SOAP message validation should be disabled.",title:"Skip Payload Message Part Check",required:!1,deprecated:!1},loggingFeatureEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables CXF Logging Feature which writes inbound and outbound SOAP messages to log.",title:"Logging Feature Enabled",required:!1,deprecated:!1},loggingSizeLimit:{kind:"parameter",type:"integer",defaultValue:"49152",description:"To limit the total size of number of bytes the logger will output when logging feature has been enabled and -1 for no limit.",title:"Logging Size Limit",required:!1,deprecated:!1},skipFaultLogging:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches.",title:"Skip Fault Logging",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"This option is used to set the basic authentication information of password for the CXF client.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"This option is used to set the basic authentication information of username for the CXF client.",title:"Username",required:!1,deprecated:!1},bindingId:{kind:"parameter",type:"string",description:"The bindingId for the service model to use.",title:"Binding Id",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The endpoint name this service is implementing, it maps to the wsdl:portname. In the format of ns:PORT_NAME where ns is a namespace prefix valid at this scope.",title:"Port Name",required:!1,deprecated:!1},publishedEndpointUrl:{kind:"parameter",type:"string",description:"This option can override the endpointUrl that published from the WSDL which can be accessed with service address url plus wsd",title:"Published Endpoint Url",required:!1,deprecated:!1},serviceClass:{kind:"parameter",type:"string",description:"The class name of the SEI (Service Endpoint Interface) class which could have JSR181 annotation or not.",title:"Service Class",required:!1,deprecated:!1},serviceName:{kind:"parameter",type:"string",description:"The service name this service is implementing, it maps to the wsdl:servicename.",title:"Service Name",required:!1,deprecated:!1},wsdlURL:{kind:"parameter",type:"string",description:"The location of the WSDL. Can be on the classpath, file system, or be hosted remotely.",title:"Wsdl URL",required:!1,deprecated:!1}}},cxfrs:{type:"object",title:"CXF-RS",group:"rest",icon:"generic24.png",description:"Expose JAX-RS REST services using Apache CXF or connect to external REST services using CXF REST client.",acceptInput:"",acceptOutput:"",nextSiblingAddedAsChild:"false",properties:{beanId:{kind:"path",type:"string",description:"To lookup an existing configured CxfRsEndpoint. Must used bean: as prefix.",title:"Bean Id",required:!1,deprecated:!1},address:{kind:"path",type:"string",description:"The service publish address.",title:"Address",required:!1,deprecated:!1},features:{kind:"parameter",type:"array",description:"Set the feature list to the CxfRs endpoint.",title:"Features",required:!1,deprecated:!1},loggingFeatureEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables CXF Logging Feature which writes inbound and outbound REST messages to log.",title:"Logging Feature Enabled",required:!1,deprecated:!1},loggingSizeLimit:{kind:"parameter",type:"integer",description:"To limit the total size of number of bytes the logger will output when logging feature has been enabled.",title:"Logging Size Limit",required:!1,deprecated:!1},modelRef:{kind:"parameter",type:"string",description:"This option is used to specify the model file which is useful for the resource class without annotation. When using this option, then the service class can be omitted, to emulate document-only endpoints",title:"Model Ref",required:!1,deprecated:!1},providers:{kind:"parameter",type:"string",description:"Set custom JAX-RS provider(s) list to the CxfRs endpoint. You can specify a string with a list of providers to lookup in the registy separated by comma.",title:"Providers",required:!1,deprecated:!1},resourceClasses:{kind:"parameter",type:"array",description:"The resource classes which you want to export as REST service. Multiple classes can be separated by comma.",title:"Resource Classes",required:!1,deprecated:!1},schemaLocations:{kind:"parameter",type:"array",description:"Sets the locations of the schema(s) which can be used to validate the incoming XML or JAXB-driven JSON.",title:"Schema Locations",required:!1,deprecated:!1},skipFaultLogging:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches.",title:"Skip Fault Logging",required:!1,deprecated:!1},bindingStyle:{kind:"parameter",type:"object",defaultValue:"Default",enum:["SimpleConsumer","Default","Custom"],description:"Sets how requests and responses will be mapped to/from Camel. Two values are possible: SimpleConsumer: This binding style processes request parameters, multiparts, etc. and maps them to IN headers, IN attachments and to the message body. It aims to eliminate low-level processing of org.apache.cxf.message.MessageContentsList. It also also adds more flexibility and simplicity to the response mapping. Only available for consumers. Default: The default style. For consumers this passes on a MessageContentsList to the route, requiring low-level processing in the route. This is the traditional binding style, which simply dumps the org.apache.cxf.message.MessageContentsList coming in from the CXF stack onto the IN message body. The user is then responsible for processing it according to the contract defined by the JAX-RS method signature. Custom: allows you to specify a custom binding through the binding option.",title:"Binding Style",required:!1,deprecated:!1},publishedEndpointUrl:{kind:"parameter",type:"string",description:"This option can override the endpointUrl that published from the WADL which can be accessed with resource address url plus _wadl",title:"Published Endpoint Url",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},serviceBeans:{kind:"parameter",type:"string",description:"The service beans (the bean ids to lookup in the registry) which you want to export as REST service. Multiple beans can be separated by comma",title:"Service Beans",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},hostnameVerifier:{kind:"parameter",type:"object",description:"The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry.",title:"Hostname Verifier",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"The Camel SSL setting reference. Use the # notation to reference the SSL Context.",title:"Ssl Context Parameters",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option tells the CxfRsProducer to inspect return codes and will generate an Exception if the return code is larger than 207.",title:"Throw Exception On Failure",required:!1,deprecated:!1},httpClientAPI:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the CxfRsProducer will use the HttpClientAPI to invoke the service. If it is false, the CxfRsProducer will use the ProxyClientAPI to invoke the service",title:"Http Client API",required:!1,deprecated:!1},ignoreDeleteMethodMessageBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is used to tell CxfRsProducer to ignore the message body of the DELETE method when using HTTP API.",title:"Ignore Delete Method Message Body",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},maxClientCacheSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"This option allows you to configure the maximum size of the cache. The implementation caches CXF clients or ClientFactoryBean in CxfProvider and CxfRsProvider.",title:"Max Client Cache Size",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"To use a custom CxfBinding to control the binding between Camel Message and CXF Message.",title:"Binding",required:!1,deprecated:!1},bus:{kind:"parameter",type:"object",description:"To use a custom configured CXF Bus.",title:"Bus",required:!1,deprecated:!1},continuationTimeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport.",title:"Continuation Timeout",required:!1,deprecated:!1},cxfRsConfigurer:{kind:"parameter",type:"object",description:"This option could apply the implementation of org.apache.camel.component.cxf.jaxrs.CxfRsEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure{Server/Client} method of CxfEndpointConfigurer.",title:"Cxf Rs Configurer",required:!1,deprecated:!1},defaultBus:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will set the default bus when CXF endpoint create a bus by itself",title:"Default Bus",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},performInvocation:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When the option is true, Camel will perform the invocation of the resource class instance and put the response object into the exchange for further processing.",title:"Perform Invocation",required:!1,deprecated:!1},propagateContexts:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When the option is true, JAXRS UriInfo, HttpHeaders, Request and SecurityContext contexts will be available to custom CXFRS processors as typed Camel exchange properties. These contexts can be used to analyze the current requests using JAX-RS API.",title:"Propagate Contexts",required:!1,deprecated:!1}}},dataformat:{type:"object",title:"Data Format",group:"core,transformation",icon:"generic24.png",description:"Use a Camel Data Format as a regular Camel Component.",properties:{name:{kind:"path",type:"string",description:"Name of data format",title:"Name",required:!0,deprecated:!1},operation:{kind:"path",type:"string",enum:["marshal","unmarshal"],description:"Operation to use either marshal or unmarshal",title:"Operation",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},dataset:{type:"object",title:"Dataset",group:"core,testing",icon:"generic24.png",description:"Provide data for load and soak testing of your Camel application.",properties:{name:{kind:"path",type:"object",description:"Name of DataSet to lookup in the registry",title:"Name",required:!0,deprecated:!1},dataSetIndex:{kind:"parameter",type:"string",defaultValue:"lenient",enum:["strict","lenient","off"],description:"Controls the behaviour of the CamelDataSetIndex header. off (consumer) the header will not be set. strict (consumer) the header will be set. lenient (consumer) the header will be set. off (producer) the header value will not be verified, and will not be set if it is not present. strict (producer) the header value must be present and will be verified. lenient (producer) the header value will be verified if it is present, and will be set if it is not present.",title:"Data Set Index",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Time period in millis to wait before starting sending messages.",title:"Initial Delay",required:!1,deprecated:!1},minRate:{kind:"parameter",type:"integer",defaultValue:"0",description:"Wait until the DataSet contains at least this number of messages",title:"Min Rate",required:!1,deprecated:!1},preloadSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"Sets how many messages should be preloaded (sent) before the route completes its initialization",title:"Preload Size",required:!1,deprecated:!1},produceDelay:{kind:"parameter",type:"duration",defaultValue:"3",description:"Allows a delay to be specified which causes a delay when a message is sent by the consumer (to simulate slow processing)",title:"Produce Delay",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},assertPeriod:{kind:"parameter",type:"duration",description:"Sets a grace period after which the mock endpoint will re-assert to ensure the preliminary assertion is still valid. This is used for example to assert that exactly a number of messages arrives. For example if expected count was set to 5, then the assertion is satisfied when 5 or more message arrives. To ensure that exactly 5 messages arrives, then you would need to wait a little period to ensure no further message arrives. This is what you can use this method for. By default this period is disabled.",title:"Assert Period",required:!1,deprecated:!1},consumeDelay:{kind:"parameter",type:"duration",defaultValue:"0",description:"Allows a delay to be specified which causes a delay when a message is consumed by the producer (to simulate slow processing)",title:"Consume Delay",required:!1,deprecated:!1},expectedCount:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages, then take extra care, as 0 matches when the tests starts, so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use setAssertPeriod(long). An alternative is to use NotifyBuilder, and use the notifier to know when Camel is done routing some messages, before you call the assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period, to speedup testing times. If you want to assert that exactly nth message arrives to this mock endpoint, then see also the setAssertPeriod(long) method for further details.",title:"Expected Count",required:!1,deprecated:!1},failFast:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether assertIsSatisfied() should fail fast at the first detected failed expectation while it may otherwise wait for all expected messages to arrive before performing expectations verifications. Is by default true. Set to false to use behavior as in Camel 2.x.",title:"Fail Fast",required:!1,deprecated:!1},log:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To turn on logging when the mock receives an incoming message. This will log only one time at INFO level for the incoming message. For more detailed logging then set the logger to DEBUG level for the org.apache.camel.component.mock.MockEndpoint class.",title:"Log",required:!1,deprecated:!1},reportGroup:{kind:"parameter",type:"integer",description:"A number that is used to turn on throughput logging based on groups of the size.",title:"Report Group",required:!1,deprecated:!1},resultMinimumWaitTime:{kind:"parameter",type:"duration",description:"Sets the minimum expected amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Minimum Wait Time",required:!1,deprecated:!1},resultWaitTime:{kind:"parameter",type:"duration",description:"Sets the maximum amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Wait Time",required:!1,deprecated:!1},retainFirst:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the first nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the first 10 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain First",required:!1,deprecated:!1},retainLast:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the last nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the last 20 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain Last",required:!1,deprecated:!1},sleepForEmptyTest:{kind:"parameter",type:"duration",description:"Allows a sleep to be specified to wait to check that this endpoint really is empty when expectedMessageCount(int) is called with zero",title:"Sleep For Empty Test",required:!1,deprecated:!1},copyOnExchange:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to make a deep copy of the incoming Exchange when received at this mock endpoint. Is by default true.",title:"Copy On Exchange",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"dataset-test":{type:"object",title:"DataSet Test",group:"core,testing",icon:"generic24.png",description:"Extends the mock component by pulling messages from another endpoint on startup to set the expected message bodies.",properties:{name:{kind:"path",type:"string",description:"Name of endpoint to lookup in the registry to use for polling messages used for testing",title:"Name",required:!0,deprecated:!1},anyOrder:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the expected messages should arrive in the same order or can be in any order.",title:"Any Order",required:!1,deprecated:!1},assertPeriod:{kind:"parameter",type:"duration",description:"Sets a grace period after which the mock endpoint will re-assert to ensure the preliminary assertion is still valid. This is used for example to assert that exactly a number of messages arrives. For example if expected count was set to 5, then the assertion is satisfied when 5 or more message arrives. To ensure that exactly 5 messages arrives, then you would need to wait a little period to ensure no further message arrives. This is what you can use this method for. By default this period is disabled.",title:"Assert Period",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"string",description:"The split delimiter to use when split is enabled. By default the delimiter is new line based. The delimiter can be a regular expression.",title:"Delimiter",required:!1,deprecated:!1},expectedCount:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages, then take extra care, as 0 matches when the tests starts, so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use setAssertPeriod(long). An alternative is to use NotifyBuilder, and use the notifier to know when Camel is done routing some messages, before you call the assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period, to speedup testing times. If you want to assert that exactly nth message arrives to this mock endpoint, then see also the setAssertPeriod(long) method for further details.",title:"Expected Count",required:!1,deprecated:!1},failFast:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether assertIsSatisfied() should fail fast at the first detected failed expectation while it may otherwise wait for all expected messages to arrive before performing expectations verifications. Is by default true. Set to false to use behavior as in Camel 2.x.",title:"Fail Fast",required:!1,deprecated:!1},log:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To turn on logging when the mock receives an incoming message. This will log only one time at INFO level for the incoming message. For more detailed logging then set the logger to DEBUG level for the org.apache.camel.component.mock.MockEndpoint class.",title:"Log",required:!1,deprecated:!1},reportGroup:{kind:"parameter",type:"integer",description:"A number that is used to turn on throughput logging based on groups of the size.",title:"Report Group",required:!1,deprecated:!1},resultMinimumWaitTime:{kind:"parameter",type:"duration",description:"Sets the minimum expected amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Minimum Wait Time",required:!1,deprecated:!1},resultWaitTime:{kind:"parameter",type:"duration",description:"Sets the maximum amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Wait Time",required:!1,deprecated:!1},retainFirst:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the first nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the first 10 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain First",required:!1,deprecated:!1},retainLast:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the last nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the last 20 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain Last",required:!1,deprecated:!1},sleepForEmptyTest:{kind:"parameter",type:"duration",description:"Allows a sleep to be specified to wait to check that this endpoint really is empty when expectedMessageCount(int) is called with zero",title:"Sleep For Empty Test",required:!1,deprecated:!1},split:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled the messages loaded from the test endpoint will be split using new line delimiters so each line is an expected message. For example to use a file endpoint to load a file where each line is an expected message.",title:"Split",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"2000",description:"The timeout to use when polling for message bodies from the URI",title:"Timeout",required:!1,deprecated:!1},copyOnExchange:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to make a deep copy of the incoming Exchange when received at this mock endpoint. Is by default true.",title:"Copy On Exchange",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"debezium-db2":{type:"object",title:"Debezium DB2 Connector",group:"database",icon:"generic24.png",description:"Capture changes from a DB2 database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},columnExcludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to exclude from change events",title:"Column Exclude List",required:!1,deprecated:!1},columnIncludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to include in change events",title:"Column Include List",required:!1,deprecated:!1},columnPropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching fully-qualified names of columns that adds the columns original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Column Propagate Source Type",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},databaseDbname:{kind:"parameter",type:"string",description:"The name of the database from which the connector should capture changes",title:"Database Dbname",required:!1,deprecated:!1},databaseHostname:{kind:"parameter",type:"string",description:"Resolvable hostname or IP address of the database server.",title:"Database Hostname",required:!1,deprecated:!1},databasePassword:{kind:"parameter",type:"string",description:"Password of the database user to be used when connecting to the database.",title:"Database Password",required:!0,deprecated:!1},databasePort:{kind:"parameter",type:"integer",defaultValue:"50000",description:"Port of the database server.",title:"Database Port",required:!1,deprecated:!1},databaseUser:{kind:"parameter",type:"string",description:"Name of the database user to be used when connecting to the database.",title:"Database User",required:!1,deprecated:!1},datatypePropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Datatype Propagate Source Type",required:!1,deprecated:!1},decimalHandlingMode:{kind:"parameter",type:"string",defaultValue:"precise",description:"Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to represent values; 'double' represents values using Java's 'double', which may not offer the precision but will be far easier to use in consumers.",title:"Decimal Handling Mode",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},includeSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the connector should publish changes in the database schema to a Kafka topic with the same name as the database server ID. Each schema change will be recorded using a key that contains the database name and whose value include logical description of the new schema and optionally the DDL statement(s). The default is 'true'. This is independent of how the connector internally records database schema history.",title:"Include Schema Changes",required:!1,deprecated:!1},incrementalSnapshotChunkSize:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum size of chunk (number of documents/rows) for incremental snapshotting",title:"Incremental Snapshot Chunk Size",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},messageKeyColumns:{kind:"parameter",type:"string",description:"A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Each expression must match the pattern ':', where the table names could be defined as (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connector, and the key columns are a comma-separated list of columns representing the custom key. For any table without an explicit key configuration the table's primary key column(s) will be used as message key. Example: dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id",title:"Message Key Columns",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"10000",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size. The default value is '10000'.",title:"Query Fetch Size",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaHistoryInternal:{kind:"parameter",type:"string",defaultValue:"io.debezium.storage.kafka.history.KafkaSchemaHistory",description:"The name of the SchemaHistory class that should be used to store and recover database schema changes. The configuration properties for the history are prefixed with the 'schema.history.internal.' string.",title:"Schema History Internal",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaHistoryInternalSkipUnparseableDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls the action Debezium will take when it meets a DDL statement in binlog, that it cannot parse.By default the connector will stop operating but by changing the setting it can ignore the statements which it cannot parse. If skipping is enabled then Debezium can miss metadata changes.",title:"Schema History Internal Skip Unparseable Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedDatabasesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (true) only DDL that manipulates a table from captured schema/database will be stored. If set to false, then Debezium will store all incoming DDL statements.",title:"Schema History Internal Store Only Captured Databases Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedTablesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (false) Debezium will store all incoming DDL statements. If set to true, then only DDL that manipulates a captured table will be stored.",title:"Schema History Internal Store Only Captured Tables Ddl",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotLockTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this time frame, the snapshot will be aborted. Defaults to 10 seconds",title:"Snapshot Lock Timeout Ms",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Options include: 'initial' (the default) to specify the connector should run a snapshot only when no offsets are available for the logical server name; 'schema_only' to specify the connector should run a snapshot of the schema when no offsets are available for the logical server name.",title:"Snapshot Mode",required:!1,deprecated:!1},snapshotSelectStatementOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connectors. Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.",title:"Snapshot Select Statement Overrides",required:!1,deprecated:!1},snapshotTablesOrderByRowCount:{kind:"parameter",type:"string",defaultValue:"disabled",description:"Controls the order in which tables are processed in the initial snapshot. A descending value will order the tables by row count descending. A ascending value will order the tables by row count ascending. A value of disabled (the default) will disable ordering by row count.",title:"Snapshot Tables Order By Row Count",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.db2.Db2SourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},tableExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring",title:"Table Exclude List",required:!1,deprecated:!1},tableIgnoreBuiltin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Flag specifying whether built-in tables should be ignored.",title:"Table Ignore Builtin",required:!1,deprecated:!1},tableIncludeList:{kind:"parameter",type:"string",description:"The tables for which changes are to be captured",title:"Table Include List",required:!1,deprecated:!1},timePrecisionMode:{kind:"parameter",type:"string",defaultValue:"adaptive",description:"Time, date, and timestamps can be represented with different kinds of precisions, including: 'adaptive' (the default) bases the precision of time, date, and timestamp values on the database column's precision; 'adaptive_time_microseconds' like 'adaptive' mode, but TIME fields always use microseconds precision; 'connect' always represents time, date, and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision.",title:"Time Precision Mode",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1}}},"debezium-mongodb":{type:"object",title:"Debezium MongoDB Connector",group:"database",icon:"generic24.png",description:"Capture changes from a MongoDB database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},captureMode:{kind:"parameter",type:"string",defaultValue:"change_streams_update_full",description:"The method used to capture changes from MongoDB server. Options include: 'change_streams' to capture changes via MongoDB Change Streams, update events do not contain full documents; 'change_streams_update_full' (the default) to capture changes via MongoDB Change Streams, update events contain full documents",title:"Capture Mode",required:!1,deprecated:!1},collectionExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the collection names for which changes are to be excluded",title:"Collection Exclude List",required:!1,deprecated:!1},collectionIncludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the collection names for which changes are to be captured",title:"Collection Include List",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},cursorMaxAwaitTimeMs:{kind:"parameter",type:"duration",description:"The maximum processing time in milliseconds to wait for the oplog cursor to process a single poll request",title:"Cursor Max Await Time Ms",required:!1,deprecated:!1},databaseExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the database names for which changes are to be excluded",title:"Database Exclude List",required:!1,deprecated:!1},databaseIncludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the database names for which changes are to be captured",title:"Database Include List",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},fieldExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of the fully-qualified names of fields that should be excluded from change event message values",title:"Field Exclude List",required:!1,deprecated:!1},fieldRenames:{kind:"parameter",type:"string",description:"A comma-separated list of the fully-qualified replacements of fields that should be used to rename fields in change event message values. Fully-qualified replacements for fields are of the form databaseName.collectionName.fieldName.nestedFieldName:newNestedFieldName, where databaseName and collectionName may contain the wildcard () which matches any characters, the colon character (:) is used to determine rename mapping of field.",title:"Field Renames",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},mongodbAuthsource:{kind:"parameter",type:"string",defaultValue:"admin",description:"Database containing user credentials.",title:"Mongodb Authsource",required:!1,deprecated:!1},mongodbConnectionMode:{kind:"parameter",type:"string",defaultValue:"replica_set",description:"The method used to connect to MongoDB cluster. Options include: 'replica_set' (the default) to individually connect to each replica set / shard 'sharded' to connect via single connection obtained from connection string",title:"Mongodb Connection Mode",required:!1,deprecated:!1},mongodbConnectionString:{kind:"parameter",type:"string",description:"Database connection string.",title:"Mongodb Connection String",required:!1,deprecated:!1},mongodbConnectTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The connection timeout, given in milliseconds. Defaults to 10 seconds (10,000 ms).",title:"Mongodb Connect Timeout Ms",required:!1,deprecated:!1},mongodbHeartbeatFrequencyMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The frequency that the cluster monitor attempts to reach each server. Defaults to 10 seconds (10,000 ms).",title:"Mongodb Heartbeat Frequency Ms",required:!1,deprecated:!1},mongodbPassword:{kind:"parameter",type:"string",description:"Password to be used when connecting to MongoDB, if necessary.",title:"Mongodb Password",required:!0,deprecated:!1},mongodbPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"30s",description:"Interval for looking for new, removed, or changed replica sets, given in milliseconds. Defaults to 30 seconds (30,000 ms).",title:"Mongodb Poll Interval Ms",required:!1,deprecated:!1},mongodbServerSelectionTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"30s",description:"The server selection timeout, given in milliseconds. Defaults to 10 seconds (10,000 ms).",title:"Mongodb Server Selection Timeout Ms",required:!1,deprecated:!1},mongodbSocketTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"The socket timeout, given in milliseconds. Defaults to 0 ms.",title:"Mongodb Socket Timeout Ms",required:!1,deprecated:!1},mongodbSslEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should connector use SSL to connect to MongoDB instances",title:"Mongodb Ssl Enabled",required:!1,deprecated:!1},mongodbSslInvalidHostnameAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether invalid host names are allowed when using SSL. If true the connection will not prevent man-in-the-middle attacks",title:"Mongodb Ssl Invalid Hostname Allowed",required:!1,deprecated:!1},mongodbUser:{kind:"parameter",type:"string",description:"Database user for connecting to MongoDB, if necessary.",title:"Mongodb User",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size.",title:"Query Fetch Size",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},snapshotCollectionFilterOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of ., for which the initial snapshot may be a subset of data present in the data source. The subset would be defined by mongodb filter query specified as value for property snapshot.collection.filter.override..",title:"Snapshot Collection Filter Overrides",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotMaxThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The maximum number of threads used to perform the snapshot. Defaults to 1.",title:"Snapshot Max Threads",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'initial' (default): If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures the current full state of the configured tables. After the snapshot completes, the connector begins to stream changes from the oplog. 'never': The connector does not run a snapshot. Upon first startup, the connector immediately begins reading from the beginning of the oplog.",title:"Snapshot Mode",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.mongodb.MongoDbSourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1}}},"debezium-mysql":{type:"object",title:"Debezium MySQL Connector",group:"database",icon:"generic24.png",description:"Capture changes from a MySQL database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},bigintUnsignedHandlingMode:{kind:"parameter",type:"string",defaultValue:"long",description:"Specify how BIGINT UNSIGNED columns should be represented in change events, including: 'precise' uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'long' (the default) represents values using Java's 'long', which may not offer the precision but will be far easier to use in consumers.",title:"Bigint Unsigned Handling Mode",required:!1,deprecated:!1},binaryHandlingMode:{kind:"parameter",type:"string",defaultValue:"bytes",description:"Specify how binary (blob, binary, etc.) columns should be represented in change events, including: 'bytes' represents binary data as byte array (default); 'base64' represents binary data as base64-encoded string; 'base64-url-safe' represents binary data as base64-url-safe-encoded string; 'hex' represents binary data as hex-encoded (base16) string",title:"Binary Handling Mode",required:!1,deprecated:!1},binlogBufferSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The size of a look-ahead buffer used by the binlog reader to decide whether the transaction in progress is going to be committed or rolled back. Use 0 to disable look-ahead buffering. Defaults to 0 (i.e. buffering is disabled).",title:"Binlog Buffer Size",required:!1,deprecated:!1},columnExcludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to exclude from change events",title:"Column Exclude List",required:!1,deprecated:!1},columnIncludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to include in change events",title:"Column Include List",required:!1,deprecated:!1},columnPropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching fully-qualified names of columns that adds the columns original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Column Propagate Source Type",required:!1,deprecated:!1},connectKeepAlive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether a separate thread should be used to ensure the connection is kept alive.",title:"Connect Keep Alive",required:!1,deprecated:!1},connectKeepAliveIntervalMs:{kind:"parameter",type:"duration",defaultValue:"1m",description:"Interval for connection checking if keep alive thread is used, given in milliseconds Defaults to 1 minute (60,000 ms).",title:"Connect Keep Alive Interval Ms",required:!1,deprecated:!1},connectTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"30s",description:"Maximum time to wait after trying to connect to the database before timing out, given in milliseconds. Defaults to 30 seconds (30,000 ms).",title:"Connect Timeout Ms",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},databaseExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match database names to be excluded from monitoring",title:"Database Exclude List",required:!1,deprecated:!1},databaseHostname:{kind:"parameter",type:"string",description:"Resolvable hostname or IP address of the database server.",title:"Database Hostname",required:!1,deprecated:!1},databaseIncludeList:{kind:"parameter",type:"string",description:"The databases for which changes are to be captured",title:"Database Include List",required:!1,deprecated:!1},databaseInitialStatements:{kind:"parameter",type:"string",description:"A semicolon separated list of SQL statements to be executed when a JDBC connection (not binlog reading connection) to the database is established. Note that the connector may establish JDBC connections at its own discretion, so this should typically be used for configuration of session parameters only, but not for executing DML statements. Use doubled semicolon (';;') to use a semicolon as a character and not as a delimiter.",title:"Database Initial Statements",required:!1,deprecated:!1},databaseJdbcDriver:{kind:"parameter",type:"string",defaultValue:"com.mysql.cj.jdbc.Driver",description:"JDBC Driver class name used to connect to the MySQL database server.",title:"Database Jdbc Driver",required:!1,deprecated:!1},databasePassword:{kind:"parameter",type:"string",description:"Password of the database user to be used when connecting to the database.",title:"Database Password",required:!0,deprecated:!1},databasePort:{kind:"parameter",type:"integer",defaultValue:"3306",description:"Port of the database server.",title:"Database Port",required:!1,deprecated:!1},databaseServerId:{kind:"parameter",type:"integer",description:"A numeric ID of this database client, which must be unique across all currently-running database processes in the cluster. This connector joins the MySQL database cluster as another server (with this unique ID) so it can read the binlog.",title:"Database Server Id",required:!1,deprecated:!1},databaseServerIdOffset:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Only relevant if parallel snapshotting is configured. During parallel snapshotting, multiple (4) connections open to the database client, and they each need their own unique connection ID. This offset is used to generate those IDs from the base configured cluster ID.",title:"Database Server Id Offset",required:!1,deprecated:!1},databaseSslKeystore:{kind:"parameter",type:"string",description:"The location of the key store file. This is optional and can be used for two-way authentication between the client and the MySQL Server.",title:"Database Ssl Keystore",required:!1,deprecated:!1},databaseSslKeystorePassword:{kind:"parameter",type:"string",description:"The password for the key store file. This is optional and only needed if 'database.ssl.keystore' is configured.",title:"Database Ssl Keystore Password",required:!1,deprecated:!1},databaseSslMode:{kind:"parameter",type:"string",defaultValue:"preferred",description:"Whether to use an encrypted connection to MySQL. Options include: 'disabled' to use an unencrypted connection; 'preferred' (the default) to establish a secure (encrypted) connection if the server supports secure connections, but fall back to an unencrypted connection otherwise; 'required' to use a secure (encrypted) connection, and fail if one cannot be established; 'verify_ca' like 'required' but additionally verify the server TLS certificate against the configured Certificate Authority (CA) certificates, or fail if no valid matching CA certificates are found; or'verify_identity' like 'verify_ca' but additionally verify that the server certificate matches the host to which the connection is attempted.",title:"Database Ssl Mode",required:!1,deprecated:!1},databaseSslTruststore:{kind:"parameter",type:"string",description:"The location of the trust store file for the server certificate verification.",title:"Database Ssl Truststore",required:!1,deprecated:!1},databaseSslTruststorePassword:{kind:"parameter",type:"string",description:"The password for the trust store file. Used to check the integrity of the truststore, and unlock the truststore.",title:"Database Ssl Truststore Password",required:!1,deprecated:!1},databaseUser:{kind:"parameter",type:"string",description:"Name of the database user to be used when connecting to the database.",title:"Database User",required:!1,deprecated:!1},datatypePropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Datatype Propagate Source Type",required:!1,deprecated:!1},decimalHandlingMode:{kind:"parameter",type:"string",defaultValue:"precise",description:"Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to represent values; 'double' represents values using Java's 'double', which may not offer the precision but will be far easier to use in consumers.",title:"Decimal Handling Mode",required:!1,deprecated:!1},enableTimeAdjuster:{kind:"parameter",type:"boolean",defaultValue:"true",description:"MySQL allows user to insert year value as either 2-digit or 4-digit. In case of two digit the value is automatically mapped into 1970 - 2069.false - delegates the implicit conversion to the databasetrue - (the default) Debezium makes the conversion",title:"Enable Time Adjuster",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventDeserializationFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during deserialization of binlog events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its binlog position is raised, causing the connector to be stopped; 'warn' the problematic event and its binlog position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Deserialization Failure Handling Mode",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},gtidSourceExcludes:{kind:"parameter",type:"string",description:"The source UUIDs used to exclude GTID ranges when determine the starting position in the MySQL server's binlog.",title:"Gtid Source Excludes",required:!1,deprecated:!1},gtidSourceFilterDmlEvents:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If set to true, we will only produce DML events into Kafka for transactions that were written on mysql servers with UUIDs matching the filters defined by the gtid.source.includes or gtid.source.excludes configuration options, if they are specified.",title:"Gtid Source Filter Dml Events",required:!1,deprecated:!1},gtidSourceIncludes:{kind:"parameter",type:"string",description:"The source UUIDs used to include GTID ranges when determine the starting position in the MySQL server's binlog.",title:"Gtid Source Includes",required:!1,deprecated:!1},heartbeatActionQuery:{kind:"parameter",type:"string",description:"The query executed with every heartbeat.",title:"Heartbeat Action Query",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},includeQuery:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the connector should include the original SQL query that generated the change event. Note: This option requires MySQL be configured with the binlog_rows_query_log_events option set to ON. Query will not be present for events generated from snapshot. WARNING: Enabling this option may expose tables or fields explicitly excluded or masked by including the original SQL statement in the change event. For this reason the default value is 'false'.",title:"Include Query",required:!1,deprecated:!1},includeSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the connector should publish changes in the database schema to a Kafka topic with the same name as the database server ID. Each schema change will be recorded using a key that contains the database name and whose value include logical description of the new schema and optionally the DDL statement(s). The default is 'true'. This is independent of how the connector internally records database schema history.",title:"Include Schema Changes",required:!1,deprecated:!1},includeSchemaComments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the connector parse table and column's comment to metadata object. Note: Enable this option will bring the implications on memory usage. The number and size of ColumnImpl objects is what largely impacts how much memory is consumed by the Debezium connectors, and adding a String to each of them can potentially be quite heavy. The default is 'false'.",title:"Include Schema Comments",required:!1,deprecated:!1},inconsistentSchemaHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how binlog events that belong to a table missing from internal schema representation (i.e. internal representation is not consistent with database) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its binlog position is raised, causing the connector to be stopped; 'warn' the problematic event and its binlog position will be logged and the event will be skipped; 'skip' the problematic event will be skipped.",title:"Inconsistent Schema Handling Mode",required:!1,deprecated:!1},incrementalSnapshotAllowSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Detect schema change during an incremental snapshot and re-select a current chunk to avoid locking DDLs. Note that changes to a primary key are not supported and can cause incorrect results if performed during an incremental snapshot. Another limitation is that if a schema change affects only columns' default values, then the change won't be detected until the DDL is processed from the binlog stream. This doesn't affect the snapshot events' values, but the schema of snapshot events may have outdated defaults.",title:"Incremental Snapshot Allow Schema Changes",required:!1,deprecated:!1},incrementalSnapshotChunkSize:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum size of chunk (number of documents/rows) for incremental snapshotting",title:"Incremental Snapshot Chunk Size",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},messageKeyColumns:{kind:"parameter",type:"string",description:"A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Each expression must match the pattern ':', where the table names could be defined as (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connector, and the key columns are a comma-separated list of columns representing the custom key. For any table without an explicit key configuration the table's primary key column(s) will be used as message key. Example: dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id",title:"Message Key Columns",required:!1,deprecated:!1},minRowCountToStreamResults:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The number of rows a table must contain to stream results rather than pull all into memory during snapshots. Defaults to 1,000. Use 0 to stream all results and completely avoid checking the size of each table.",title:"Min Row Count To Stream Results",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size.",title:"Query Fetch Size",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaHistoryInternal:{kind:"parameter",type:"string",defaultValue:"io.debezium.storage.kafka.history.KafkaSchemaHistory",description:"The name of the SchemaHistory class that should be used to store and recover database schema changes. The configuration properties for the history are prefixed with the 'schema.history.internal.' string.",title:"Schema History Internal",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaHistoryInternalSkipUnparseableDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls the action Debezium will take when it meets a DDL statement in binlog, that it cannot parse.By default the connector will stop operating but by changing the setting it can ignore the statements which it cannot parse. If skipping is enabled then Debezium can miss metadata changes.",title:"Schema History Internal Skip Unparseable Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedDatabasesDdl:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls what DDL will Debezium store in database schema history. By default (true) only DDL that manipulates a table from captured schema/database will be stored. If set to false, then Debezium will store all incoming DDL statements.",title:"Schema History Internal Store Only Captured Databases Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedTablesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (false) Debezium will store all incoming DDL statements. If set to true, then only DDL that manipulates a captured table will be stored.",title:"Schema History Internal Store Only Captured Tables Ddl",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotLockingMode:{kind:"parameter",type:"string",defaultValue:"minimal",description:"Controls how long the connector holds onto the global read lock while it is performing a snapshot. The default is 'minimal', which means the connector holds the global read lock (and thus prevents any updates) for just the initial portion of the snapshot while the database schemas and other metadata are being read. The remaining work in a snapshot involves selecting all rows from each table, and this can be done using the snapshot process' REPEATABLE READ transaction even when the lock is no longer held and other operations are updating the database. However, in some cases it may be desirable to block all writes for the entire duration of the snapshot; in such cases set this property to 'extended'. Using a value of 'none' will prevent the connector from acquiring any table locks during the snapshot process. This mode can only be used in combination with snapshot.mode values of 'schema_only' or 'schema_only_recovery' and is only safe to use if no schema changes are happening while the snapshot is taken.",title:"Snapshot Locking Mode",required:!1,deprecated:!1},snapshotLockTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this time frame, the snapshot will be aborted. Defaults to 10 seconds",title:"Snapshot Lock Timeout Ms",required:!1,deprecated:!1},snapshotMaxThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The maximum number of threads used to perform the snapshot. Defaults to 1.",title:"Snapshot Max Threads",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'when_needed': On startup, the connector runs a snapshot if one is needed.; 'schema_only': If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures only the schema (table structures), but not any table data. After the snapshot completes, the connector begins to stream changes from the binlog.; 'schema_only_recovery': The connector performs a snapshot that captures only the database schema history. The connector then transitions back to streaming. Use this setting to restore a corrupted or lost database schema history topic. Do not use if the database schema was modified after the connector stopped.; 'initial' (default): If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures the current full state of the configured tables. After the snapshot completes, the connector begins to stream changes from the binlog.; 'initial_only': The connector performs a snapshot as it does for the 'initial' option, but after the connector completes the snapshot, it stops, and does not stream changes from the binlog.; 'never': The connector does not run a snapshot. Upon first startup, the connector immediately begins reading from the beginning of the binlog. The 'never' mode should be used with care, and only when the binlog is known to contain all history.",title:"Snapshot Mode",required:!1,deprecated:!1},snapshotNewTables:{kind:"parameter",type:"string",defaultValue:"off",description:"BETA FEATURE: On connector restart, the connector will check if there have been any new tables added to the configuration, and snapshot them. There is presently only two options: 'off': Default behavior. Do not snapshot new tables. 'parallel': The snapshot of the new tables will occur in parallel to the continued binlog reading of the old tables. When the snapshot completes, an independent binlog reader will begin reading the events for the new tables until it catches up to present time. At this point, both old and new binlog readers will be momentarily halted and new binlog reader will start that will read the binlog for all configured tables. The parallel binlog reader will have a configured server id of 10000 the primary binlog reader's server id.",title:"Snapshot New Tables",required:!1,deprecated:!1},snapshotSelectStatementOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connectors. Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.",title:"Snapshot Select Statement Overrides",required:!1,deprecated:!1},snapshotTablesOrderByRowCount:{kind:"parameter",type:"string",defaultValue:"disabled",description:"Controls the order in which tables are processed in the initial snapshot. A descending value will order the tables by row count descending. A ascending value will order the tables by row count ascending. A value of disabled (the default) will disable ordering by row count.",title:"Snapshot Tables Order By Row Count",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.mysql.MySqlSourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},tableExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring",title:"Table Exclude List",required:!1,deprecated:!1},tableIgnoreBuiltin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Flag specifying whether built-in tables should be ignored.",title:"Table Ignore Builtin",required:!1,deprecated:!1},tableIncludeList:{kind:"parameter",type:"string",description:"The tables for which changes are to be captured",title:"Table Include List",required:!1,deprecated:!1},timePrecisionMode:{kind:"parameter",type:"string",defaultValue:"adaptive_time_microseconds",description:"Time, date and timestamps can be represented with different kinds of precisions, including: 'adaptive_time_microseconds': the precision of date and timestamp values is based the database column's precision; but time fields always use microseconds precision; 'connect': always represents time, date and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision.",title:"Time Precision Mode",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1}}},"debezium-oracle":{type:"object",title:"Debezium Oracle Connector",group:"database",icon:"generic24.png",description:"Capture changes from a Oracle database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},binaryHandlingMode:{kind:"parameter",type:"string",defaultValue:"bytes",description:"Specify how binary (blob, binary, etc.) columns should be represented in change events, including: 'bytes' represents binary data as byte array (default); 'base64' represents binary data as base64-encoded string; 'base64-url-safe' represents binary data as base64-url-safe-encoded string; 'hex' represents binary data as hex-encoded (base16) string",title:"Binary Handling Mode",required:!1,deprecated:!1},columnExcludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to exclude from change events",title:"Column Exclude List",required:!1,deprecated:!1},columnIncludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to include in change events",title:"Column Include List",required:!1,deprecated:!1},columnPropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching fully-qualified names of columns that adds the columns original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Column Propagate Source Type",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},databaseConnectionAdapter:{kind:"parameter",type:"string",defaultValue:"LogMiner",description:"The adapter to use when capturing changes from the database. Options include: 'logminer': (the default) to capture changes using native Oracle LogMiner; 'xstream' to capture changes using Oracle XStreams",title:"Database Connection Adapter",required:!1,deprecated:!1},databaseDbname:{kind:"parameter",type:"string",description:"The name of the database from which the connector should capture changes",title:"Database Dbname",required:!1,deprecated:!1},databaseHostname:{kind:"parameter",type:"string",description:"Resolvable hostname or IP address of the database server.",title:"Database Hostname",required:!1,deprecated:!1},databaseOutServerName:{kind:"parameter",type:"string",description:"Name of the XStream Out server to connect to.",title:"Database Out Server Name",required:!1,deprecated:!1},databasePassword:{kind:"parameter",type:"string",description:"Password of the database user to be used when connecting to the database.",title:"Database Password",required:!0,deprecated:!1},databasePdbName:{kind:"parameter",type:"string",description:"Name of the pluggable database when working with a multi-tenant set-up. The CDB name must be given via database.dbname in this case.",title:"Database Pdb Name",required:!1,deprecated:!1},databasePort:{kind:"parameter",type:"integer",defaultValue:"1528",description:"Port of the database server.",title:"Database Port",required:!1,deprecated:!1},databaseUrl:{kind:"parameter",type:"string",description:"Complete JDBC URL as an alternative to specifying hostname, port and database provided as a way to support alternative connection scenarios.",title:"Database Url",required:!1,deprecated:!1},databaseUser:{kind:"parameter",type:"string",description:"Name of the database user to be used when connecting to the database.",title:"Database User",required:!1,deprecated:!1},datatypePropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Datatype Propagate Source Type",required:!1,deprecated:!1},decimalHandlingMode:{kind:"parameter",type:"string",defaultValue:"precise",description:"Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to represent values; 'double' represents values using Java's 'double', which may not offer the precision but will be far easier to use in consumers.",title:"Decimal Handling Mode",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},heartbeatActionQuery:{kind:"parameter",type:"string",description:"The query executed with every heartbeat.",title:"Heartbeat Action Query",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},includeSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the connector should publish changes in the database schema to a Kafka topic with the same name as the database server ID. Each schema change will be recorded using a key that contains the database name and whose value include logical description of the new schema and optionally the DDL statement(s). The default is 'true'. This is independent of how the connector internally records database schema history.",title:"Include Schema Changes",required:!1,deprecated:!1},includeSchemaComments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the connector parse table and column's comment to metadata object. Note: Enable this option will bring the implications on memory usage. The number and size of ColumnImpl objects is what largely impacts how much memory is consumed by the Debezium connectors, and adding a String to each of them can potentially be quite heavy. The default is 'false'.",title:"Include Schema Comments",required:!1,deprecated:!1},intervalHandlingMode:{kind:"parameter",type:"string",defaultValue:"numeric",description:"Specify how INTERVAL columns should be represented in change events, including: 'string' represents values as an exact ISO formatted string; 'numeric' (default) represents values using the inexact conversion into microseconds",title:"Interval Handling Mode",required:!1,deprecated:!1},lobEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When set to 'false', the default, LOB fields will not be captured nor emitted. When set to 'true', the connector will capture LOB fields and emit changes for those fields like any other column type.",title:"Lob Enabled",required:!1,deprecated:!1},logMiningArchiveDestinationName:{kind:"parameter",type:"string",description:"Sets the specific archive log destination as the source for reading archive logs.When not set, the connector will automatically select the first LOCAL and VALID destination.",title:"Log Mining Archive Destination Name",required:!1,deprecated:!1},logMiningArchiveLogHours:{kind:"parameter",type:"integer",defaultValue:"0",description:"The number of hours in the past from SYSDATE to mine archive logs. Using 0 mines all available archive logs",title:"Log Mining Archive Log Hours",required:!1,deprecated:!1},logMiningArchiveLogOnlyMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When set to 'false', the default, the connector will mine both archive log and redo logs to emit change events. When set to 'true', the connector will only mine archive logs. There are circumstances where its advantageous to only mine archive logs and accept latency in event emission due to frequent revolving redo logs.",title:"Log Mining Archive Log Only Mode",required:!1,deprecated:!1},logMiningArchiveLogOnlyScnPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The interval in milliseconds to wait between polls checking to see if the SCN is in the archive logs.",title:"Log Mining Archive Log Only Scn Poll Interval Ms",required:!1,deprecated:!1},logMiningBatchSizeDefault:{kind:"parameter",type:"integer",defaultValue:"20000",description:"The starting SCN interval size that the connector will use for reading data from redo/archive logs.",title:"Log Mining Batch Size Default",required:!1,deprecated:!1},logMiningBatchSizeMax:{kind:"parameter",type:"integer",defaultValue:"100000",description:"The maximum SCN interval size that this connector will use when reading from redo/archive logs.",title:"Log Mining Batch Size Max",required:!1,deprecated:!1},logMiningBatchSizeMin:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The minimum SCN interval size that this connector will try to read from redo/archive logs. Active batch size will be also increased/decreased by this amount for tuning connector throughput when needed.",title:"Log Mining Batch Size Min",required:!1,deprecated:!1},logMiningBufferDropOnStop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When set to true the underlying buffer cache is not retained when the connector is stopped. When set to false (the default), the buffer cache is retained across restarts.",title:"Log Mining Buffer Drop On Stop",required:!1,deprecated:!1},logMiningBufferInfinispanCacheEvents:{kind:"parameter",type:"string",description:"Specifies the XML configuration for the Infinispan 'events' cache",title:"Log Mining Buffer Infinispan Cache Events",required:!1,deprecated:!1},logMiningBufferInfinispanCacheProcessedTransactions:{kind:"parameter",type:"string",description:"Specifies the XML configuration for the Infinispan 'processed-transactions' cache",title:"Log Mining Buffer Infinispan Cache Processed Transactions",required:!1,deprecated:!1},logMiningBufferInfinispanCacheSchemaChanges:{kind:"parameter",type:"string",description:"Specifies the XML configuration for the Infinispan 'schema-changes' cache",title:"Log Mining Buffer Infinispan Cache Schema Changes",required:!1,deprecated:!1},logMiningBufferInfinispanCacheTransactions:{kind:"parameter",type:"string",description:"Specifies the XML configuration for the Infinispan 'transactions' cache",title:"Log Mining Buffer Infinispan Cache Transactions",required:!1,deprecated:!1},logMiningBufferTransactionEventsThreshold:{kind:"parameter",type:"integer",defaultValue:"0",description:"The number of events a transaction can include before the transaction is discarded. This is useful for managing buffer memory and/or space when dealing with very large transactions. Defaults to 0, meaning that no threshold is applied and transactions can have unlimited events.",title:"Log Mining Buffer Transaction Events Threshold",required:!1,deprecated:!1},logMiningBufferType:{kind:"parameter",type:"string",defaultValue:"memory",description:"The buffer type controls how the connector manages buffering transaction data. memory - Uses the JVM process' heap to buffer all transaction data. infinispan_embedded - This option uses an embedded Infinispan cache to buffer transaction data and persist it to disk. infinispan_remote - This option uses a remote Infinispan cluster to buffer transaction data and persist it to disk.",title:"Log Mining Buffer Type",required:!1,deprecated:!1},logMiningFlushTableName:{kind:"parameter",type:"string",defaultValue:"LOG_MINING_FLUSH",description:"The name of the flush table used by the connector, defaults to LOG_MINING_FLUSH.",title:"Log Mining Flush Table Name",required:!1,deprecated:!1},logMiningQueryFilterMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specifies how the filter configuration is applied to the LogMiner database query. none - The query does not apply any schema or table filters, all filtering is at runtime by the connector. in - The query uses SQL in-clause expressions to specify the schema or table filters. regex - The query uses Oracle REGEXP_LIKE expressions to specify the schema or table filters.",title:"Log Mining Query Filter Mode",required:!1,deprecated:!1},logMiningRestartConnection:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Debezium opens a database connection and keeps that connection open throughout the entire streaming phase. In some situations, this can lead to excessive SGA memory usage. By setting this option to 'true' (the default is 'false'), the connector will close and re-open a database connection after every detected log switch or if the log.mining.session.max.ms has been reached.",title:"Log Mining Restart Connection",required:!1,deprecated:!1},logMiningScnGapDetectionGapSizeMin:{kind:"parameter",type:"integer",defaultValue:"1000000",description:"Used for SCN gap detection, if the difference between current SCN and previous end SCN is bigger than this value, and the time difference of current SCN and previous end SCN is smaller than log.mining.scn.gap.detection.time.interval.max.ms, consider it a SCN gap.",title:"Log Mining Scn Gap Detection Gap Size Min",required:!1,deprecated:!1},logMiningScnGapDetectionTimeIntervalMaxMs:{kind:"parameter",type:"duration",defaultValue:"20s",description:"Used for SCN gap detection, if the difference between current SCN and previous end SCN is bigger than log.mining.scn.gap.detection.gap.size.min, and the time difference of current SCN and previous end SCN is smaller than this value, consider it a SCN gap.",title:"Log Mining Scn Gap Detection Time Interval Max Ms",required:!1,deprecated:!1},logMiningSessionMaxMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"The maximum number of milliseconds that a LogMiner session lives for before being restarted. Defaults to 0 (indefinite until a log switch occurs)",title:"Log Mining Session Max Ms",required:!1,deprecated:!1},logMiningSleepTimeDefaultMs:{kind:"parameter",type:"duration",defaultValue:"1s",description:"The amount of time that the connector will sleep after reading data from redo/archive logs and before starting reading data again. Value is in milliseconds.",title:"Log Mining Sleep Time Default Ms",required:!1,deprecated:!1},logMiningSleepTimeIncrementMs:{kind:"parameter",type:"duration",defaultValue:"200ms",description:"The maximum amount of time that the connector will use to tune the optimal sleep time when reading data from LogMiner. Value is in milliseconds.",title:"Log Mining Sleep Time Increment Ms",required:!1,deprecated:!1},logMiningSleepTimeMaxMs:{kind:"parameter",type:"duration",defaultValue:"3s",description:"The maximum amount of time that the connector will sleep after reading data from redo/archive logs and before starting reading data again. Value is in milliseconds.",title:"Log Mining Sleep Time Max Ms",required:!1,deprecated:!1},logMiningSleepTimeMinMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"The minimum amount of time that the connector will sleep after reading data from redo/archive logs and before starting reading data again. Value is in milliseconds.",title:"Log Mining Sleep Time Min Ms",required:!1,deprecated:!1},logMiningStrategy:{kind:"parameter",type:"string",defaultValue:"redo_log_catalog",description:"There are strategies: Online catalog with faster mining but no captured DDL. Another - with data dictionary loaded into REDO LOG files",title:"Log Mining Strategy",required:!1,deprecated:!1},logMiningTransactionRetentionMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Duration in milliseconds to keep long running transactions in transaction buffer between log mining sessions. By default, all transactions are retained.",title:"Log Mining Transaction Retention Ms",required:!1,deprecated:!1},logMiningUsernameExcludeList:{kind:"parameter",type:"string",description:"Comma separated list of usernames to exclude from LogMiner query.",title:"Log Mining Username Exclude List",required:!1,deprecated:!1},logMiningUsernameIncludeList:{kind:"parameter",type:"string",description:"Comma separated list of usernames to include from LogMiner query.",title:"Log Mining Username Include List",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},messageKeyColumns:{kind:"parameter",type:"string",description:"A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Each expression must match the pattern ':', where the table names could be defined as (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connector, and the key columns are a comma-separated list of columns representing the custom key. For any table without an explicit key configuration the table's primary key column(s) will be used as message key. Example: dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id",title:"Message Key Columns",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"10000",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size, defaults to '2000'.",title:"Query Fetch Size",required:!1,deprecated:!1},racNodes:{kind:"parameter",type:"string",description:"A comma-separated list of RAC node hostnames or ip addresses",title:"Rac Nodes",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaHistoryInternal:{kind:"parameter",type:"string",defaultValue:"io.debezium.storage.kafka.history.KafkaSchemaHistory",description:"The name of the SchemaHistory class that should be used to store and recover database schema changes. The configuration properties for the history are prefixed with the 'schema.history.internal.' string.",title:"Schema History Internal",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaHistoryInternalSkipUnparseableDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls the action Debezium will take when it meets a DDL statement in binlog, that it cannot parse.By default the connector will stop operating but by changing the setting it can ignore the statements which it cannot parse. If skipping is enabled then Debezium can miss metadata changes.",title:"Schema History Internal Skip Unparseable Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedDatabasesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (true) only DDL that manipulates a table from captured schema/database will be stored. If set to false, then Debezium will store all incoming DDL statements.",title:"Schema History Internal Store Only Captured Databases Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedTablesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (false) Debezium will store all incoming DDL statements. If set to true, then only DDL that manipulates a captured table will be stored.",title:"Schema History Internal Store Only Captured Tables Ddl",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotEnhancePredicateScn:{kind:"parameter",type:"string",description:"A token to replace on snapshot predicate template",title:"Snapshot Enhance Predicate Scn",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotLockingMode:{kind:"parameter",type:"string",defaultValue:"shared",description:"Controls how the connector holds locks on tables while performing the schema snapshot. The default is 'shared', which means the connector will hold a table lock that prevents exclusive table access for just the initial portion of the snapshot while the database schemas and other metadata are being read. The remaining work in a snapshot involves selecting all rows from each table, and this is done using a flashback query that requires no locks. However, in some cases it may be desirable to avoid locks entirely which can be done by specifying 'none'. This mode is only safe to use if no schema changes are happening while the snapshot is taken.",title:"Snapshot Locking Mode",required:!1,deprecated:!1},snapshotLockTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this time frame, the snapshot will be aborted. Defaults to 10 seconds",title:"Snapshot Lock Timeout Ms",required:!1,deprecated:!1},snapshotMaxThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The maximum number of threads used to perform the snapshot. Defaults to 1.",title:"Snapshot Max Threads",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'always': The connector runs a snapshot every time that it starts. After the snapshot completes, the connector begins to stream changes from the redo logs.; 'initial' (default): If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures the current full state of the configured tables. After the snapshot completes, the connector begins to stream changes from the redo logs. 'initial_only': The connector performs a snapshot as it does for the 'initial' option, but after the connector completes the snapshot, it stops, and does not stream changes from the redo logs.; 'schema_only': If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures only the schema (table structures), but not any table data. After the snapshot completes, the connector begins to stream changes from the redo logs.; 'schema_only_recovery': The connector performs a snapshot that captures only the database schema history. The connector then transitions to streaming from the redo logs. Use this setting to restore a corrupted or lost database schema history topic. Do not use if the database schema was modified after the connector stopped.",title:"Snapshot Mode",required:!1,deprecated:!1},snapshotSelectStatementOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connectors. Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.",title:"Snapshot Select Statement Overrides",required:!1,deprecated:!1},snapshotTablesOrderByRowCount:{kind:"parameter",type:"string",defaultValue:"disabled",description:"Controls the order in which tables are processed in the initial snapshot. A descending value will order the tables by row count descending. A ascending value will order the tables by row count ascending. A value of disabled (the default) will disable ordering by row count.",title:"Snapshot Tables Order By Row Count",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.oracle.OracleSourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},tableExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring",title:"Table Exclude List",required:!1,deprecated:!1},tableIncludeList:{kind:"parameter",type:"string",description:"The tables for which changes are to be captured",title:"Table Include List",required:!1,deprecated:!1},timePrecisionMode:{kind:"parameter",type:"string",defaultValue:"adaptive",description:"Time, date, and timestamps can be represented with different kinds of precisions, including: 'adaptive' (the default) bases the precision of time, date, and timestamp values on the database column's precision; 'adaptive_time_microseconds' like 'adaptive' mode, but TIME fields always use microseconds precision; 'connect' always represents time, date, and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision.",title:"Time Precision Mode",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1},unavailableValuePlaceholder:{kind:"parameter",type:"string",defaultValue:"__debezium_unavailable_value",description:"Specify the constant that will be provided by Debezium to indicate that the original value is unavailable and not provided by the database.",title:"Unavailable Value Placeholder",required:!1,deprecated:!1}}},"debezium-postgres":{type:"object",title:"Debezium PostgresSQL Connector",group:"database",icon:"generic24.png",description:"Capture changes from a PostgresSQL database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},binaryHandlingMode:{kind:"parameter",type:"string",defaultValue:"bytes",description:"Specify how binary (blob, binary, etc.) columns should be represented in change events, including: 'bytes' represents binary data as byte array (default); 'base64' represents binary data as base64-encoded string; 'base64-url-safe' represents binary data as base64-url-safe-encoded string; 'hex' represents binary data as hex-encoded (base16) string",title:"Binary Handling Mode",required:!1,deprecated:!1},columnExcludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to exclude from change events",title:"Column Exclude List",required:!1,deprecated:!1},columnIncludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to include in change events",title:"Column Include List",required:!1,deprecated:!1},columnPropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching fully-qualified names of columns that adds the columns original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Column Propagate Source Type",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},databaseDbname:{kind:"parameter",type:"string",description:"The name of the database from which the connector should capture changes",title:"Database Dbname",required:!1,deprecated:!1},databaseHostname:{kind:"parameter",type:"string",description:"Resolvable hostname or IP address of the database server.",title:"Database Hostname",required:!1,deprecated:!1},databaseInitialStatements:{kind:"parameter",type:"string",description:"A semicolon separated list of SQL statements to be executed when a JDBC connection to the database is established. Note that the connector may establish JDBC connections at its own discretion, so this should typically be used for configuration of session parameters only, but not for executing DML statements. Use doubled semicolon (';;') to use a semicolon as a character and not as a delimiter.",title:"Database Initial Statements",required:!1,deprecated:!1},databasePassword:{kind:"parameter",type:"string",description:"Password of the database user to be used when connecting to the database.",title:"Database Password",required:!0,deprecated:!1},databasePort:{kind:"parameter",type:"integer",defaultValue:"5432",description:"Port of the database server.",title:"Database Port",required:!1,deprecated:!1},databaseSslcert:{kind:"parameter",type:"string",description:"File containing the SSL Certificate for the client. See the Postgres SSL docs for further information",title:"Database Sslcert",required:!1,deprecated:!1},databaseSslfactory:{kind:"parameter",type:"string",description:"A name of class to that creates SSL Sockets. Use org.postgresql.ssl.NonValidatingFactory to disable SSL validation in development environments",title:"Database Sslfactory",required:!1,deprecated:!1},databaseSslkey:{kind:"parameter",type:"string",description:"File containing the SSL private key for the client. See the Postgres SSL docs for further information",title:"Database Sslkey",required:!1,deprecated:!1},databaseSslmode:{kind:"parameter",type:"string",defaultValue:"prefer",description:"Whether to use an encrypted connection to Postgres. Options include: 'disable' (the default) to use an unencrypted connection; 'allow' to try and use an unencrypted connection first and, failing that, a secure (encrypted) connection; 'prefer' (the default) to try and use a secure (encrypted) connection first and, failing that, an unencrypted connection; 'require' to use a secure (encrypted) connection, and fail if one cannot be established; 'verify-ca' like 'required' but additionally verify the server TLS certificate against the configured Certificate Authority (CA) certificates, or fail if no valid matching CA certificates are found; or 'verify-full' like 'verify-ca' but additionally verify that the server certificate matches the host to which the connection is attempted.",title:"Database Sslmode",required:!1,deprecated:!1},databaseSslpassword:{kind:"parameter",type:"string",description:"Password to access the client private key from the file specified by 'database.sslkey'. See the Postgres SSL docs for further information",title:"Database Sslpassword",required:!1,deprecated:!1},databaseSslrootcert:{kind:"parameter",type:"string",description:"File containing the root certificate(s) against which the server is validated. See the Postgres JDBC SSL docs for further information",title:"Database Sslrootcert",required:!1,deprecated:!1},databaseTcpkeepalive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable or disable TCP keep-alive probe to avoid dropping TCP connection",title:"Database Tcpkeepalive",required:!1,deprecated:!1},databaseUser:{kind:"parameter",type:"string",description:"Name of the database user to be used when connecting to the database.",title:"Database User",required:!1,deprecated:!1},datatypePropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Datatype Propagate Source Type",required:!1,deprecated:!1},decimalHandlingMode:{kind:"parameter",type:"string",defaultValue:"precise",description:"Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to represent values; 'double' represents values using Java's 'double', which may not offer the precision but will be far easier to use in consumers.",title:"Decimal Handling Mode",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},flushLsnSource:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Boolean to determine if Debezium should flush LSN in the source postgres database. If set to false, user will have to flush the LSN manually outside Debezium.",title:"Flush Lsn Source",required:!1,deprecated:!1},heartbeatActionQuery:{kind:"parameter",type:"string",description:"The query executed with every heartbeat.",title:"Heartbeat Action Query",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},hstoreHandlingMode:{kind:"parameter",type:"string",defaultValue:"json",description:"Specify how HSTORE columns should be represented in change events, including: 'json' represents values as string-ified JSON (default); 'map' represents values as a key/value map",title:"Hstore Handling Mode",required:!1,deprecated:!1},includeSchemaComments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the connector parse table and column's comment to metadata object. Note: Enable this option will bring the implications on memory usage. The number and size of ColumnImpl objects is what largely impacts how much memory is consumed by the Debezium connectors, and adding a String to each of them can potentially be quite heavy. The default is 'false'.",title:"Include Schema Comments",required:!1,deprecated:!1},includeUnknownDatatypes:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specify whether the fields of data type not supported by Debezium should be processed: 'false' (the default) omits the fields; 'true' converts the field into an implementation dependent binary representation.",title:"Include Unknown Datatypes",required:!1,deprecated:!1},incrementalSnapshotChunkSize:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum size of chunk (number of documents/rows) for incremental snapshotting",title:"Incremental Snapshot Chunk Size",required:!1,deprecated:!1},intervalHandlingMode:{kind:"parameter",type:"string",defaultValue:"numeric",description:"Specify how INTERVAL columns should be represented in change events, including: 'string' represents values as an exact ISO formatted string; 'numeric' (default) represents values using the inexact conversion into microseconds",title:"Interval Handling Mode",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},messageKeyColumns:{kind:"parameter",type:"string",description:"A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Each expression must match the pattern ':', where the table names could be defined as (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connector, and the key columns are a comma-separated list of columns representing the custom key. For any table without an explicit key configuration the table's primary key column(s) will be used as message key. Example: dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id",title:"Message Key Columns",required:!1,deprecated:!1},messagePrefixExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the logical decoding message prefixes to be excluded from monitoring.",title:"Message Prefix Exclude List",required:!1,deprecated:!1},messagePrefixIncludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the logical decoding message prefixes to be monitored. All prefixes are monitored by default.",title:"Message Prefix Include List",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pluginName:{kind:"parameter",type:"string",defaultValue:"decoderbufs",description:"The name of the Postgres logical decoding plugin installed on the server. Supported values are 'decoderbufs' and 'pgoutput'. Defaults to 'decoderbufs'.",title:"Plugin Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},publicationAutocreateMode:{kind:"parameter",type:"string",defaultValue:"all_tables",description:"Applies only when streaming changes using pgoutput.Determine how creation of a publication should work, the default is all_tables.DISABLED - The connector will not attempt to create a publication at all. The expectation is that the user has created the publication up-front. If the publication isn't found to exist upon startup, the connector will throw an exception and stop.ALL_TABLES - If no publication exists, the connector will create a new publication for all tables. Note this requires that the configured user has access. If the publication already exists, it will be used. i.e CREATE PUBLICATION FOR ALL TABLES;FILTERED - If no publication exists, the connector will create a new publication for all those tables matchingthe current filter configuration (see table/database include/exclude list properties). If the publication already exists, it will be used. i.e CREATE PUBLICATION FOR TABLE",title:"Publication Autocreate Mode",required:!1,deprecated:!1},publicationName:{kind:"parameter",type:"string",defaultValue:"dbz_publication",description:"The name of the Postgres 10 publication used for streaming changes from a plugin. Defaults to 'dbz_publication'",title:"Publication Name",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size.",title:"Query Fetch Size",required:!1,deprecated:!1},replicaIdentityAutosetValues:{kind:"parameter",type:"string",description:"Applies only when streaming changes using pgoutput.Determines the value for Replica Identity at table level. This option will overwrite the existing value in databaseA comma-separated list of regular expressions that match fully-qualified tables and Replica Identity value to be used in the table. Each expression must match the pattern ':', where the table names could be defined as (SCHEMA_NAME.TABLE_NAME), and the replica identity values are: DEFAULT - Records the old values of the columns of the primary key, if any. This is the default for non-system tables.INDEX index_name - Records the old values of the columns covered by the named index, that must be unique, not partial, not deferrable, and include only columns marked NOT NULL. If this index is dropped, the behavior is the same as NOTHING.FULL - Records the old values of all columns in the row.NOTHING - Records no information about the old row. This is the default for system tables.",title:"Replica Identity Autoset Values",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaExcludeList:{kind:"parameter",type:"string",description:"The schemas for which events must not be captured",title:"Schema Exclude List",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaIncludeList:{kind:"parameter",type:"string",description:"The schemas for which events should be captured",title:"Schema Include List",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},schemaRefreshMode:{kind:"parameter",type:"string",defaultValue:"columns_diff",description:"Specify the conditions that trigger a refresh of the in-memory schema for a table. 'columns_diff' (the default) is the safest mode, ensuring the in-memory schema stays in-sync with the database table's schema at all times. 'columns_diff_exclude_unchanged_toast' instructs the connector to refresh the in-memory schema cache if there is a discrepancy between it and the schema derived from the incoming message, unless unchanged TOASTable data fully accounts for the discrepancy. This setting can improve connector performance significantly if there are frequently-updated tables that have TOASTed data that are rarely part of these updates. However, it is possible for the in-memory schema to become outdated if TOASTable columns are dropped from the table.",title:"Schema Refresh Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},slotDropOnStop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to drop the logical replication slot when the connector finishes orderly. By default the replication is kept so that on restart progress can resume from the last recorded location",title:"Slot Drop On Stop",required:!1,deprecated:!1},slotMaxRetries:{kind:"parameter",type:"integer",defaultValue:"6",description:"How many times to retry connecting to a replication slot when an attempt fails.",title:"Slot Max Retries",required:!1,deprecated:!1},slotName:{kind:"parameter",type:"string",defaultValue:"debezium",description:"The name of the Postgres logical decoding slot created for streaming changes from a plugin. Defaults to 'debezium",title:"Slot Name",required:!1,deprecated:!1},slotRetryDelayMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait between retry attempts when the connector fails to connect to a replication slot, given in milliseconds. Defaults to 10 seconds (10,000 ms).",title:"Slot Retry Delay Ms",required:!1,deprecated:!1},slotStreamParams:{kind:"parameter",type:"string",description:"Any optional parameters used by logical decoding plugin. Semi-colon separated. E.g. 'add-tables=public.table,public.table2;include-lsn=true'",title:"Slot Stream Params",required:!1,deprecated:!1},snapshotCustomClass:{kind:"parameter",type:"string",description:"When 'snapshot.mode' is set as custom, this setting must be set to specify a fully qualified class name to load (via the default class loader). This class must implement the 'Snapshotter' interface and is called on each app boot to determine whether to do a snapshot and how to build queries.",title:"Snapshot Custom Class",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotLockTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this time frame, the snapshot will be aborted. Defaults to 10 seconds",title:"Snapshot Lock Timeout Ms",required:!1,deprecated:!1},snapshotMaxThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The maximum number of threads used to perform the snapshot. Defaults to 1.",title:"Snapshot Max Threads",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'always': The connector runs a snapshot every time that it starts. After the snapshot completes, the connector begins to stream changes from the transaction log.; 'initial' (default): If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures the current full state of the configured tables. After the snapshot completes, the connector begins to stream changes from the transaction log. 'initial_only': The connector performs a snapshot as it does for the 'initial' option, but after the connector completes the snapshot, it stops, and does not stream changes from the transaction log.; 'never': The connector does not run a snapshot. Upon first startup, the connector immediately begins reading from the beginning of the transaction log. 'exported': This option is deprecated; use 'initial' instead.; 'custom': The connector loads a custom class to specify how the connector performs snapshots. For more information, see Custom snapshotter SPI in the PostgreSQL connector documentation.",title:"Snapshot Mode",required:!1,deprecated:!1},snapshotSelectStatementOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connectors. Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.",title:"Snapshot Select Statement Overrides",required:!1,deprecated:!1},snapshotTablesOrderByRowCount:{kind:"parameter",type:"string",defaultValue:"disabled",description:"Controls the order in which tables are processed in the initial snapshot. A descending value will order the tables by row count descending. A ascending value will order the tables by row count ascending. A value of disabled (the default) will disable ordering by row count.",title:"Snapshot Tables Order By Row Count",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.postgresql.PostgresSourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},statusUpdateIntervalMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Frequency for sending replication connection status updates to the server, given in milliseconds. Defaults to 10 seconds (10,000 ms).",title:"Status Update Interval Ms",required:!1,deprecated:!1},tableExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring",title:"Table Exclude List",required:!1,deprecated:!1},tableIgnoreBuiltin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Flag specifying whether built-in tables should be ignored.",title:"Table Ignore Builtin",required:!1,deprecated:!1},tableIncludeList:{kind:"parameter",type:"string",description:"The tables for which changes are to be captured",title:"Table Include List",required:!1,deprecated:!1},timePrecisionMode:{kind:"parameter",type:"string",defaultValue:"adaptive",description:"Time, date, and timestamps can be represented with different kinds of precisions, including: 'adaptive' (the default) bases the precision of time, date, and timestamp values on the database column's precision; 'adaptive_time_microseconds' like 'adaptive' mode, but TIME fields always use microseconds precision; 'connect' always represents time, date, and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision.",title:"Time Precision Mode",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1},unavailableValuePlaceholder:{kind:"parameter",type:"string",defaultValue:"__debezium_unavailable_value",description:"Specify the constant that will be provided by Debezium to indicate that the original value is a toasted value not provided by the database. If starts with 'hex:' prefix it is expected that the rest of the string represents hexadecimal encoded octets.",title:"Unavailable Value Placeholder",required:!1,deprecated:!1},xminFetchIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Specify how often (in ms) the xmin will be fetched from the replication slot. This xmin value is exposed by the slot which gives a lower bound of where a new replication slot could start from. The lower the value, the more likely this value is to be the current 'true' value, but the bigger the performance cost. The bigger the value, the less likely this value is to be the current 'true' value, but the lower the performance penalty. The default is set to 0 ms, which disables tracking xmin.",title:"Xmin Fetch Interval Ms",required:!1,deprecated:!1}}},"debezium-sqlserver":{type:"object",title:"Debezium SQL Server Connector",group:"database",icon:"generic24.png",description:"Capture changes from an SQL Server database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},binaryHandlingMode:{kind:"parameter",type:"string",defaultValue:"bytes",description:"Specify how binary (blob, binary, etc.) columns should be represented in change events, including: 'bytes' represents binary data as byte array (default); 'base64' represents binary data as base64-encoded string; 'base64-url-safe' represents binary data as base64-url-safe-encoded string; 'hex' represents binary data as hex-encoded (base16) string",title:"Binary Handling Mode",required:!1,deprecated:!1},columnExcludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to exclude from change events",title:"Column Exclude List",required:!1,deprecated:!1},columnIncludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to include in change events",title:"Column Include List",required:!1,deprecated:!1},columnPropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching fully-qualified names of columns that adds the columns original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Column Propagate Source Type",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},databaseHostname:{kind:"parameter",type:"string",description:"Resolvable hostname or IP address of the database server.",title:"Database Hostname",required:!1,deprecated:!1},databaseInstance:{kind:"parameter",type:"string",description:"The SQL Server instance name",title:"Database Instance",required:!1,deprecated:!1},databaseNames:{kind:"parameter",type:"string",description:"The names of the databases from which the connector should capture changes",title:"Database Names",required:!1,deprecated:!1},databasePassword:{kind:"parameter",type:"string",description:"Password of the database user to be used when connecting to the database.",title:"Database Password",required:!0,deprecated:!1},databasePort:{kind:"parameter",type:"integer",defaultValue:"1433",description:"Port of the database server.",title:"Database Port",required:!1,deprecated:!1},databaseUser:{kind:"parameter",type:"string",description:"Name of the database user to be used when connecting to the database.",title:"Database User",required:!1,deprecated:!1},datatypePropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Datatype Propagate Source Type",required:!1,deprecated:!1},decimalHandlingMode:{kind:"parameter",type:"string",defaultValue:"precise",description:"Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to represent values; 'double' represents values using Java's 'double', which may not offer the precision but will be far easier to use in consumers.",title:"Decimal Handling Mode",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},heartbeatActionQuery:{kind:"parameter",type:"string",description:"The query executed with every heartbeat.",title:"Heartbeat Action Query",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},includeSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the connector should publish changes in the database schema to a Kafka topic with the same name as the database server ID. Each schema change will be recorded using a key that contains the database name and whose value include logical description of the new schema and optionally the DDL statement(s). The default is 'true'. This is independent of how the connector internally records database schema history.",title:"Include Schema Changes",required:!1,deprecated:!1},includeSchemaComments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the connector parse table and column's comment to metadata object. Note: Enable this option will bring the implications on memory usage. The number and size of ColumnImpl objects is what largely impacts how much memory is consumed by the Debezium connectors, and adding a String to each of them can potentially be quite heavy. The default is 'false'.",title:"Include Schema Comments",required:!1,deprecated:!1},incrementalSnapshotAllowSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Detect schema change during an incremental snapshot and re-select a current chunk to avoid locking DDLs. Note that changes to a primary key are not supported and can cause incorrect results if performed during an incremental snapshot. Another limitation is that if a schema change affects only columns' default values, then the change won't be detected until the DDL is processed from the binlog stream. This doesn't affect the snapshot events' values, but the schema of snapshot events may have outdated defaults.",title:"Incremental Snapshot Allow Schema Changes",required:!1,deprecated:!1},incrementalSnapshotChunkSize:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum size of chunk (number of documents/rows) for incremental snapshotting",title:"Incremental Snapshot Chunk Size",required:!1,deprecated:!1},incrementalSnapshotOptionRecompile:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Add OPTION(RECOMPILE) on each SELECT statement during the incremental snapshot process. This prevents parameter sniffing but can cause CPU pressure on the source database.",title:"Incremental Snapshot Option Recompile",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxIterationTransactions:{kind:"parameter",type:"integer",defaultValue:"0",description:"This property can be used to reduce the connector memory usage footprint when changes are streamed from multiple tables per database.",title:"Max Iteration Transactions",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},messageKeyColumns:{kind:"parameter",type:"string",description:"A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Each expression must match the pattern ':', where the table names could be defined as (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connector, and the key columns are a comma-separated list of columns representing the custom key. For any table without an explicit key configuration the table's primary key column(s) will be used as message key. Example: dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id",title:"Message Key Columns",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size.",title:"Query Fetch Size",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaHistoryInternal:{kind:"parameter",type:"string",defaultValue:"io.debezium.storage.kafka.history.KafkaSchemaHistory",description:"The name of the SchemaHistory class that should be used to store and recover database schema changes. The configuration properties for the history are prefixed with the 'schema.history.internal.' string.",title:"Schema History Internal",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaHistoryInternalSkipUnparseableDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls the action Debezium will take when it meets a DDL statement in binlog, that it cannot parse.By default the connector will stop operating but by changing the setting it can ignore the statements which it cannot parse. If skipping is enabled then Debezium can miss metadata changes.",title:"Schema History Internal Skip Unparseable Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedDatabasesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (true) only DDL that manipulates a table from captured schema/database will be stored. If set to false, then Debezium will store all incoming DDL statements.",title:"Schema History Internal Store Only Captured Databases Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedTablesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (false) Debezium will store all incoming DDL statements. If set to true, then only DDL that manipulates a captured table will be stored.",title:"Schema History Internal Store Only Captured Tables Ddl",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotIsolationMode:{kind:"parameter",type:"string",defaultValue:"repeatable_read",description:"Controls which transaction isolation level is used and how long the connector locks the captured tables. The default is 'repeatable_read', which means that repeatable read isolation level is used. In addition, exclusive locks are taken only during schema snapshot. Using a value of 'exclusive' ensures that the connector holds the exclusive lock (and thus prevents any reads and updates) for all captured tables during the entire snapshot duration. When 'snapshot' is specified, connector runs the initial snapshot in SNAPSHOT isolation level, which guarantees snapshot consistency. In addition, neither table nor row-level locks are held. When 'read_committed' is specified, connector runs the initial snapshot in READ COMMITTED isolation level. No long-running locks are taken, so that initial snapshot does not prevent other transactions from updating table rows. Snapshot consistency is not guaranteed.In 'read_uncommitted' mode neither table nor row-level locks are acquired, but connector does not guarantee snapshot consistency.",title:"Snapshot Isolation Mode",required:!1,deprecated:!1},snapshotLockTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this time frame, the snapshot will be aborted. Defaults to 10 seconds",title:"Snapshot Lock Timeout Ms",required:!1,deprecated:!1},snapshotMaxThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The maximum number of threads used to perform the snapshot. Defaults to 1.",title:"Snapshot Max Threads",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'initial' (default): If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures the current full state of the configured tables. After the snapshot completes, the connector begins to stream changes from the transaction log.; 'initial_only': The connector performs a snapshot as it does for the 'initial' option, but after the connector completes the snapshot, it stops, and does not stream changes from the transaction log.; 'schema_only': If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures only the schema (table structures), but not any table data. After the snapshot completes, the connector begins to stream changes from the transaction log.",title:"Snapshot Mode",required:!1,deprecated:!1},snapshotSelectStatementOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connectors. Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.",title:"Snapshot Select Statement Overrides",required:!1,deprecated:!1},snapshotTablesOrderByRowCount:{kind:"parameter",type:"string",defaultValue:"disabled",description:"Controls the order in which tables are processed in the initial snapshot. A descending value will order the tables by row count descending. A ascending value will order the tables by row count ascending. A value of disabled (the default) will disable ordering by row count.",title:"Snapshot Tables Order By Row Count",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.sqlserver.SqlServerSourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},tableExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring",title:"Table Exclude List",required:!1,deprecated:!1},tableIgnoreBuiltin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Flag specifying whether built-in tables should be ignored.",title:"Table Ignore Builtin",required:!1,deprecated:!1},tableIncludeList:{kind:"parameter",type:"string",description:"The tables for which changes are to be captured",title:"Table Include List",required:!1,deprecated:!1},timePrecisionMode:{kind:"parameter",type:"string",defaultValue:"adaptive",description:"Time, date, and timestamps can be represented with different kinds of precisions, including: 'adaptive' (the default) bases the precision of time, date, and timestamp values on the database column's precision; 'adaptive_time_microseconds' like 'adaptive' mode, but TIME fields always use microseconds precision; 'connect' always represents time, date, and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision.",title:"Time Precision Mode",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1}}},dhis2:{type:"object",title:"DHIS2",group:"api",icon:"generic24.png",description:"Leverages the DHIS2 Java SDK to integrate Apache Camel with the DHIS2 Web API.",properties:{apiName:{kind:"path",type:"object",enum:["POST","RESOURCE_TABLES","GET","DELETE","PUT"],description:"API operation (e.g., get)",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"Subject of the API operation (e.g., resource)",title:"Method Name",required:!0,deprecated:!1},baseApiUrl:{kind:"parameter",type:"string",description:"DHIS2 server base API URL (e.g., https://play.dhis2.org/2.39.1.1/api)",title:"Base Api Url",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"References a user-defined org.hisp.dhis.integration.sdk.api.Dhis2Client",title:"Client",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"DHIS2 account password for accessing the DHIS2 API",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"DHIS2 account username for accessing the DHIS2 API",title:"Username",required:!1,deprecated:!1}}},digitalocean:{type:"object",title:"DigitalOcean",group:"cloud,management",icon:"generic24.png",description:"Manage Droplets and resources within the DigitalOcean cloud.",properties:{operation:{kind:"path",type:"object",enum:["create","update","delete","list","ownList","get","listBackups","listActions","listNeighbors","listSnapshots","listKernels","listAllNeighbors","enableBackups","disableBackups","reboot","powerCycle","shutdown","powerOn","powerOff","restore","resetPassword","resize","rebuild","rename","changeKernel","enableIpv6","enablePrivateNetworking","takeSnapshot","transfer","convert","attach","detach","assign","unassign","tag","untag"],description:"The operation to perform to the given resource.",title:"Operation",required:!1,deprecated:!1},page:{kind:"parameter",type:"integer",defaultValue:"1",description:"Use for pagination. Force the page number.",title:"Page",required:!1,deprecated:!1},perPage:{kind:"parameter",type:"integer",defaultValue:"25",description:"Use for pagination. Set the number of item per request. The maximum number of results per page is 200.",title:"Per Page",required:!1,deprecated:!1},resource:{kind:"parameter",type:"object",enum:["account","actions","blockStorages","droplets","mages","snapshots","keys","regions","sizes","floatingIPs","tags"],description:"The DigitalOcean resource type on which perform the operation.",title:"Resource",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},digitalOceanClient:{kind:"parameter",type:"object",description:"To use a existing configured DigitalOceanClient as client",title:"Digital Ocean Client",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"Set a proxy host if needed",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"Set a proxy password if needed",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",description:"Set a proxy port if needed",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUser:{kind:"parameter",type:"string",description:"Set a proxy host if needed",title:"Http Proxy User",required:!1,deprecated:!1},oAuthToken:{kind:"parameter",type:"string",description:"DigitalOcean OAuth Token",title:"OAuth Token",required:!1,deprecated:!1}}},direct:{type:"object",title:"Direct",group:"core,messaging",icon:"generic24.png",description:"Call another endpoint from the same Camel Context synchronously.",properties:{name:{kind:"path",type:"string",description:"Name of direct endpoint",title:"Name",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},block:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If sending a message to a direct endpoint which has no active consumer, then we can tell the producer to block and wait for the consumer to become active.",title:"Block",required:!1,deprecated:!1},failIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the producer should fail by throwing an exception, when sending to a DIRECT endpoint with no active consumers.",title:"Fail If No Consumers",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The timeout value to use if block is enabled.",title:"Timeout",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether synchronous processing is forced. If enabled then the producer thread, will be forced to wait until the message has been completed before the same thread will continue processing. If disabled (default) then the producer thread may be freed and can do other work while the message is continued processed by other threads (reactive).",title:"Synchronous",required:!1,deprecated:!1}}},disruptor:{type:"object",title:"Disruptor",group:"messaging",icon:"generic24.png",description:"Provides asynchronous SEDA behavior using LMAX Disruptor.",properties:{name:{kind:"path",type:"string",description:"Name of queue",title:"Name",required:!0,deprecated:!1},size:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum capacity of the Disruptors ringbuffer Will be effectively increased to the nearest power of two. Notice: Mind if you use this option, then its the first endpoint being created with the queue name, that determines the size. To make sure all endpoints use same size, then configure the size option on all of them, or the first endpoint being created.",title:"Size",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of concurrent threads processing exchanges.",title:"Concurrent Consumers",required:!1,deprecated:!1},multipleConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether multiple consumers are allowed. If enabled, you can use Disruptor for Publish-Subscribe messaging. That is, you can send a message to the queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint.",title:"Multiple Consumers",required:!1,deprecated:!1},waitStrategy:{kind:"parameter",type:"object",defaultValue:"Blocking",enum:["Blocking","Sleeping","BusySpin","Yielding"],description:"Defines the strategy used by consumer threads to wait on new exchanges to be published. The options allowed are:Blocking, Sleeping, BusySpin and Yielding.",title:"Wait Strategy",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},blockWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full Disruptor will block until the ringbuffer's capacity is no longer exhausted. By default, the calling thread will block and wait until the message can be accepted. By disabling this option, an exception will be thrown stating that the queue is full.",title:"Block When Full",required:!1,deprecated:!1},producerType:{kind:"parameter",type:"object",defaultValue:"Multi",enum:["Single","Multi"],description:"Defines the producers allowed on the Disruptor. The options allowed are: Multi to allow multiple producers and Single to enable certain optimizations only allowed when one concurrent producer (on one thread or otherwise synchronized) is active.",title:"Producer Type",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Timeout (in milliseconds) before a producer will stop waiting for an asynchronous task to complete. You can disable timeout by using 0 or a negative value.",title:"Timeout",required:!1,deprecated:!1},waitForTaskToComplete:{kind:"parameter",type:"object",defaultValue:"IfReplyExpected",enum:["Never","IfReplyExpected","Always"],description:"Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: Always, Never or IfReplyExpected. The first two values are self-explanatory. The last value, IfReplyExpected, will only wait if the message is Request Reply based.",title:"Wait For Task To Complete",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"disruptor-vm":{type:"object",title:"Disruptor VM",group:"messaging",icon:"generic24.png",description:"Provides asynchronous SEDA behavior using LMAX Disruptor.",properties:{name:{kind:"path",type:"string",description:"Name of queue",title:"Name",required:!0,deprecated:!1},size:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum capacity of the Disruptors ringbuffer Will be effectively increased to the nearest power of two. Notice: Mind if you use this option, then its the first endpoint being created with the queue name, that determines the size. To make sure all endpoints use same size, then configure the size option on all of them, or the first endpoint being created.",title:"Size",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of concurrent threads processing exchanges.",title:"Concurrent Consumers",required:!1,deprecated:!1},multipleConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether multiple consumers are allowed. If enabled, you can use Disruptor for Publish-Subscribe messaging. That is, you can send a message to the queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint.",title:"Multiple Consumers",required:!1,deprecated:!1},waitStrategy:{kind:"parameter",type:"object",defaultValue:"Blocking",enum:["Blocking","Sleeping","BusySpin","Yielding"],description:"Defines the strategy used by consumer threads to wait on new exchanges to be published. The options allowed are:Blocking, Sleeping, BusySpin and Yielding.",title:"Wait Strategy",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},blockWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full Disruptor will block until the ringbuffer's capacity is no longer exhausted. By default, the calling thread will block and wait until the message can be accepted. By disabling this option, an exception will be thrown stating that the queue is full.",title:"Block When Full",required:!1,deprecated:!1},producerType:{kind:"parameter",type:"object",defaultValue:"Multi",enum:["Single","Multi"],description:"Defines the producers allowed on the Disruptor. The options allowed are: Multi to allow multiple producers and Single to enable certain optimizations only allowed when one concurrent producer (on one thread or otherwise synchronized) is active.",title:"Producer Type",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Timeout (in milliseconds) before a producer will stop waiting for an asynchronous task to complete. You can disable timeout by using 0 or a negative value.",title:"Timeout",required:!1,deprecated:!1},waitForTaskToComplete:{kind:"parameter",type:"object",defaultValue:"IfReplyExpected",enum:["Never","IfReplyExpected","Always"],description:"Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: Always, Never or IfReplyExpected. The first two values are self-explanatory. The last value, IfReplyExpected, will only wait if the message is Request Reply based.",title:"Wait For Task To Complete",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},djl:{type:"object",title:"Deep Java Library",group:"ai",icon:"generic24.png",description:"Infer Deep Learning models from message exchanges data using Deep Java Library (DJL).",properties:{application:{kind:"path",type:"string",description:"Application name",title:"Application",required:!0,deprecated:!1},artifactId:{kind:"parameter",type:"string",description:"Model Artifact",title:"Artifact Id",required:!1,deprecated:!1},model:{kind:"parameter",type:"string",description:"Model",title:"Model",required:!1,deprecated:!1},translator:{kind:"parameter",type:"string",description:"Translator",title:"Translator",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},dns:{type:"object",title:"DNS",group:"networking",icon:"generic24.png",description:"Perform DNS queries using DNSJava.",properties:{dnsType:{kind:"path",type:"object",enum:["dig","ip","lookup","wikipedia"],description:"The type of the lookup.",title:"Dns Type",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},docker:{type:"object",title:"Docker",group:"cloud,container",icon:"generic24.png",description:"Manage Docker containers.",properties:{operation:{kind:"path",type:"object",enum:["events","stats","auth","info","ping","version","imagebuild","imagecreate","imageinspect","imagelist","imagepull","imagepush","imageremove","imagesearch","imagetag","containerattach","containercommit","containercopyfile","containercreate","containerdiff","inspectcontainer","containerkill","containerlist","containerlog","containerpause","containerrestart","containerremove","containerstart","containerstop","containertop","containerunpause","containerwait","execcreate","execstart","networkconnect","networkcreate","networkremove"],description:"Which operation to use",title:"Operation",required:!0,deprecated:!1},email:{kind:"parameter",type:"string",description:"Email address associated with the user",title:"Email",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",defaultValue:"localhost",description:"Docker host",title:"Host",required:!0,deprecated:!1},port:{kind:"parameter",type:"integer",defaultValue:"2375",description:"Docker port",title:"Port",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"integer",description:"Request timeout for response (in seconds)",title:"Request Timeout",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cmdExecFactory:{kind:"parameter",type:"string",defaultValue:"com.github.dockerjava.netty.NettyDockerCmdExecFactory",description:"The fully qualified class name of the DockerCmdExecFactory implementation to use",title:"Cmd Exec Factory",required:!1,deprecated:!1},followRedirectFilter:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to follow redirect filter",title:"Follow Redirect Filter",required:!1,deprecated:!1},loggingFilter:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use logging filter",title:"Logging Filter",required:!1,deprecated:!1},maxPerRouteConnections:{kind:"parameter",type:"integer",defaultValue:"100",description:"Maximum route connections",title:"Max Per Route Connections",required:!1,deprecated:!1},maxTotalConnections:{kind:"parameter",type:"integer",defaultValue:"100",description:"Maximum total connections",title:"Max Total Connections",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Additional configuration parameters as key/value pairs",title:"Parameters",required:!1,deprecated:!1},serverAddress:{kind:"parameter",type:"string",defaultValue:"https://index.docker.io/v1/",description:"Server address for docker registry.",title:"Server Address",required:!1,deprecated:!1},socket:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Socket connection mode",title:"Socket",required:!1,deprecated:!1},certPath:{kind:"parameter",type:"string",description:"Location containing the SSL certificate chain",title:"Cert Path",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to authenticate with",title:"Password",required:!1,deprecated:!1},secure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use HTTPS communication",title:"Secure",required:!1,deprecated:!1},tlsVerify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Check TLS",title:"Tls Verify",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"User name to authenticate with",title:"Username",required:!1,deprecated:!1}}},drill:{type:"object",title:"Drill",group:"database,bigdata",icon:"generic24.png",description:"Perform queries against an Apache Drill cluster.",properties:{host:{kind:"path",type:"string",description:"Host name or IP address",title:"Host",required:!0,deprecated:!1},clusterId:{kind:"parameter",type:"string",description:"Cluster ID https://drill.apache.org/docs/using-the-jdbc-driver/#determining-the-cluster-id",title:"Cluster Id",required:!1,deprecated:!1},directory:{kind:"parameter",type:"string",description:"Drill directory",title:"Directory",required:!1,deprecated:!1},mode:{kind:"parameter",type:"object",defaultValue:"ZK",enum:["ZK","DRILLBIT"],description:"Connection mode: zk: Zookeeper drillbit: Drillbit direct connection https://drill.apache.org/docs/using-the-jdbc-driver/",title:"Mode",required:!1,deprecated:!1},port:{kind:"parameter",type:"integer",defaultValue:"2181",description:"Port number",title:"Port",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},dropbox:{type:"object",title:"Dropbox",group:"cloud,file,api",icon:"generic24.png",description:"Upload, download and manage files, folders, groups, collaborations, etc on Dropbox.",properties:{operation:{kind:"path",type:"object",enum:["put","del","search","get","move"],description:"The specific action (typically is a CRUD action) to perform on Dropbox remote folder.",title:"Operation",required:!0,deprecated:!1},clientIdentifier:{kind:"parameter",type:"string",description:"Name of the app registered to make API requests",title:"Client Identifier",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"A space-separated list of sub-strings to search for. A file matches only if it contains all the sub-strings. If this option is not set, all files will be matched.",title:"Query",required:!1,deprecated:!1},remotePath:{kind:"parameter",type:"string",description:"Original file or folder to move",title:"Remote Path",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},localPath:{kind:"parameter",type:"string",description:"Optional folder or file to upload on Dropbox from the local filesystem. If this option has not been configured then the message body is used as the content to upload.",title:"Local Path",required:!1,deprecated:!1},newRemotePath:{kind:"parameter",type:"string",description:"Destination file or folder",title:"New Remote Path",required:!1,deprecated:!1},uploadMode:{kind:"parameter",type:"object",enum:["add","force"],description:"Which mode to upload. in case of add the new file will be renamed if a file with the same name already exists on dropbox. in case of force if a file with the same name already exists on dropbox, this will be overwritten.",title:"Upload Mode",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"To use an existing DbxClient instance as Dropbox client.",title:"Client",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token to make API requests for a specific Dropbox user",title:"Access Token",required:!0,deprecated:!1},apiKey:{kind:"parameter",type:"string",description:"The apiKey to make API requests for a specific Dropbox user",title:"Api Key",required:!0,deprecated:!1},apiSecret:{kind:"parameter",type:"string",description:"The apiSecret to make API requests for a specific Dropbox user",title:"Api Secret",required:!0,deprecated:!1},expireIn:{kind:"parameter",type:"integer",description:"The expire time to access token for a specific Dropbox user",title:"Expire In",required:!0,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"The refresh token to refresh the access token for a specific Dropbox user",title:"Refresh Token",required:!0,deprecated:!1}}},"dynamic-router":{type:"object",title:"Dynamic Router",group:"messaging,core",icon:"generic24.png",description:"The Dynamic Router component routes exchanges to recipients, and the recipients (and their rules) may change at runtime.",properties:{channel:{kind:"path",type:"string",description:"Channel of the Dynamic Router",title:"Channel",required:!0,deprecated:!1},controlAction:{kind:"path",type:"string",enum:["subscribe","unsubscribe"],description:"Control channel action: subscribe or unsubscribe",title:"Control Action",required:!1,deprecated:!1},subscribeChannel:{kind:"path",type:"string",description:"The channel to subscribe to",title:"Subscribe Channel",required:!1,deprecated:!1},recipientMode:{kind:"parameter",type:"string",defaultValue:"firstMatch",enum:["firstMatch","allMatch"],description:"Recipient mode: firstMatch or allMatch",title:"Recipient Mode",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flag to ensure synchronous processing.",title:"Synchronous",required:!1,deprecated:!1},warnDroppedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flag to log a warning if no predicates match for an exchange.",title:"Warn Dropped Message",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},destinationUri:{kind:"parameter",type:"string",description:"The destination URI for exchanges that match.",title:"Destination Uri",required:!1,deprecated:!1},expressionLanguage:{kind:"parameter",type:"string",defaultValue:"simple",description:"The subscription predicate language.",title:"Expression Language",required:!1,deprecated:!1},predicate:{kind:"parameter",type:"string",description:"The subscription predicate.",title:"Predicate",required:!1,deprecated:!1},predicateBean:{kind:"parameter",type:"object",description:"A Predicate instance in the registry.",title:"Predicate Bean",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",description:"The subscription priority.",title:"Priority",required:!1,deprecated:!1},subscriptionId:{kind:"parameter",type:"string",description:"The subscription ID; if unspecified, one will be assigned and returned.",title:"Subscription Id",required:!1,deprecated:!1}}},ehcache:{type:"object",title:"Ehcache",group:"cache,clustering",icon:"generic24.png",description:"Perform caching operations using Ehcache.",properties:{cacheName:{kind:"path",type:"string",description:"the cache name",title:"Cache Name",required:!0,deprecated:!1},cacheManager:{kind:"parameter",type:"object",description:"The cache manager",title:"Cache Manager",required:!1,deprecated:!1},cacheManagerConfiguration:{kind:"parameter",type:"object",description:"The cache manager configuration",title:"Cache Manager Configuration",required:!1,deprecated:!1},configurationUri:{kind:"parameter",type:"string",description:"URI pointing to the Ehcache XML configuration file's location",title:"Configuration Uri",required:!1,deprecated:!1},createCacheIfNotExist:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Configure if a cache need to be created if it does exist or can't be pre-configured.",title:"Create Cache If Not Exist",required:!1,deprecated:!1},eventFiring:{kind:"parameter",type:"object",defaultValue:"ASYNCHRONOUS",enum:["ASYNCHRONOUS","SYNCHRONOUS"],description:"Set the delivery mode (synchronous, asynchronous)",title:"Event Firing",required:!1,deprecated:!1},eventOrdering:{kind:"parameter",type:"object",defaultValue:"ORDERED",enum:["UNORDERED","ORDERED"],description:"Set the delivery mode (ordered, unordered)",title:"Event Ordering",required:!1,deprecated:!1},eventTypes:{kind:"parameter",type:"string",enum:["EVICTED","EXPIRED","REMOVED","CREATED","UPDATED"],description:"Set the type of events to listen for (EVICTED,EXPIRED,REMOVED,CREATED,UPDATED). You can specify multiple entries separated by comma.",title:"Event Types",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},action:{kind:"parameter",type:"string",description:"To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence.",title:"Action",required:!1,deprecated:!1},key:{kind:"parameter",type:"object",description:"To configure the default action key. If a key is set in the message header, then the key from the header takes precedence.",title:"Key",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"The default cache configuration to be used to create caches.",title:"Configuration",required:!1,deprecated:!1},configurations:{kind:"parameter",type:"object",description:"A map of cache configuration to be used to create caches.",title:"Configurations",required:!1,deprecated:!1},keyType:{kind:"parameter",type:"string",description:"The cache key type, default java.lang.Object",title:"Key Type",required:!1,deprecated:!1},valueType:{kind:"parameter",type:"string",description:"The cache value type, default java.lang.Object",title:"Value Type",required:!1,deprecated:!1}}},elasticsearch:{type:"object",title:"Elasticsearch",group:"search,monitoring",icon:"generic24.png",description:"Send requests to ElasticSearch via Java Client API.",properties:{clusterName:{kind:"path",type:"string",description:"Name of the cluster",title:"Cluster Name",required:!0,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The time in ms to wait before connection will timeout.",title:"Connection Timeout",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Disconnect after it finish calling the producer",title:"Disconnect",required:!1,deprecated:!1},enableDocumentOnlyMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicates whether the body of the message contains only documents. By default, it is set to false to be able to do the same requests as what the Document API supports (see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html for more details). To ease the migration of routes based on the legacy component camel-elasticsearch-rest, you should consider enabling the mode especially if your routes do update operations.",title:"Enable Document Only Mode",required:!1,deprecated:!1},from:{kind:"parameter",type:"integer",description:"Starting index of the response.",title:"From",required:!1,deprecated:!1},hostAddresses:{kind:"parameter",type:"string",description:"Comma separated list with ip:port formatted remote transport addresses to use.",title:"Host Addresses",required:!1,deprecated:!1},indexName:{kind:"parameter",type:"string",description:"The name of the index to act against",title:"Index Name",required:!1,deprecated:!1},maxRetryTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The time in ms before retry",title:"Max Retry Timeout",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["Index","Update","Bulk","GetById","MultiGet","MultiSearch","Delete","DeleteIndex","Search","Exists","Ping"],description:"What operation to perform",title:"Operation",required:!1,deprecated:!1},scrollKeepAliveMs:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Time in ms during which elasticsearch will keep search context alive",title:"Scroll Keep Alive Ms",required:!1,deprecated:!1},size:{kind:"parameter",type:"integer",description:"Size of the response.",title:"Size",required:!1,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The timeout in ms to wait before the socket will timeout.",title:"Socket Timeout",required:!1,deprecated:!1},useScroll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable scroll usage",title:"Use Scroll",required:!1,deprecated:!1},waitForActiveShards:{kind:"parameter",type:"integer",defaultValue:"1",description:"Index creation waits for the write consistency number of shards to be available",title:"Wait For Active Shards",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},documentClass:{kind:"parameter",type:"string",defaultValue:"ObjectNode",description:"The class to use when deserializing the documents.",title:"Document Class",required:!1,deprecated:!1},enableSniffer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable automatically discover nodes from a running Elasticsearch cluster. If this option is used in conjunction with Spring Boot then it's managed by the Spring Boot configuration (see: Disable Sniffer in Spring Boot).",title:"Enable Sniffer",required:!1,deprecated:!1},sniffAfterFailureDelay:{kind:"parameter",type:"integer",defaultValue:"60000",description:"The delay of a sniff execution scheduled after a failure (in milliseconds)",title:"Sniff After Failure Delay",required:!1,deprecated:!1},snifferInterval:{kind:"parameter",type:"integer",defaultValue:"300000",description:"The interval between consecutive ordinary sniff executions in milliseconds. Will be honoured when sniffOnFailure is disabled or when there are no failures between consecutive sniff executions",title:"Sniffer Interval",required:!1,deprecated:!1},certificatePath:{kind:"parameter",type:"string",description:"The certificate that can be used to access the ES Cluster. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Certificate Path",required:!1,deprecated:!1},enableSSL:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable SSL",title:"Enable SSL",required:!1,deprecated:!1}}},etcd3:{type:"object",title:"Etcd v3",group:"clustering,database",icon:"generic24.png",description:"Get, set, delete or watch keys in etcd key-value store.",properties:{path:{kind:"path",type:"string",description:"The path the endpoint refers to",title:"Path",required:!1,deprecated:!1},endpoints:{kind:"parameter",type:"array",defaultValue:"Etcd3Constants.ETCD_DEFAULT_ENDPOINTS",description:"Configure etcd server endpoints using the IPNameResolver.",title:"Endpoints",required:!1,deprecated:!1},keyCharset:{kind:"parameter",type:"string",defaultValue:"UTF-8",description:"Configure the charset to use for the keys.",title:"Key Charset",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"Configure the namespace of keys used. / will be treated as no namespace.",title:"Namespace",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To apply an action on all the key-value pairs whose key that starts with the target path.",title:"Prefix",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},fromIndex:{kind:"parameter",type:"integer",defaultValue:"0",description:"The index to watch from",title:"From Index",required:!1,deprecated:!1},valueCharset:{kind:"parameter",type:"string",defaultValue:"UTF-8",description:"Configure the charset to use for the values.",title:"Value Charset",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},authHeaders:{kind:"parameter",type:"object",description:"Configure the headers to be added to auth request headers.",title:"Auth Headers",required:!1,deprecated:!1},authority:{kind:"parameter",type:"string",description:"Configure the authority used to authenticate connections to servers.",title:"Authority",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"object",description:"Configure the connection timeout.",title:"Connection Timeout",required:!1,deprecated:!1},headers:{kind:"parameter",type:"object",description:"Configure the headers to be added to http request headers.",title:"Headers",required:!1,deprecated:!1},keepAliveTime:{kind:"parameter",type:"object",defaultValue:"30 seconds",description:"Configure the interval for gRPC keepalives. The current minimum allowed by gRPC is 10 seconds.",title:"Keep Alive Time",required:!1,deprecated:!1},keepAliveTimeout:{kind:"parameter",type:"object",defaultValue:"10 seconds",description:"Configure the timeout for gRPC keepalives.",title:"Keep Alive Timeout",required:!1,deprecated:!1},loadBalancerPolicy:{kind:"parameter",type:"string",description:"Configure etcd load balancer policy.",title:"Load Balancer Policy",required:!1,deprecated:!1},maxInboundMessageSize:{kind:"parameter",type:"integer",description:"Configure the maximum message size allowed for a single gRPC frame.",title:"Max Inbound Message Size",required:!1,deprecated:!1},retryDelay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Configure the delay between retries in milliseconds.",title:"Retry Delay",required:!1,deprecated:!1},retryMaxDelay:{kind:"parameter",type:"integer",defaultValue:"2500",description:"Configure the max backing off delay between retries in milliseconds.",title:"Retry Max Delay",required:!1,deprecated:!1},retryMaxDuration:{kind:"parameter",type:"object",description:"Configure the retries max duration.",title:"Retry Max Duration",required:!1,deprecated:!1},servicePath:{kind:"parameter",type:"string",defaultValue:"/services/",description:"The path to look for service discovery.",title:"Service Path",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Configure etcd auth password.",title:"Password",required:!1,deprecated:!1},sslContext:{kind:"parameter",type:"object",description:"Configure SSL/TLS context to use instead of the system default.",title:"Ssl Context",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"Configure etcd auth user.",title:"User Name",required:!1,deprecated:!1}}},exec:{type:"object",title:"Exec",group:"core",icon:"generic24.png",description:"Execute commands on the underlying operating system.",properties:{executable:{kind:"path",type:"string",description:"Sets the executable to be executed. The executable must not be empty or null.",title:"Executable",required:!0,deprecated:!1},args:{kind:"parameter",type:"string",description:"The arguments may be one or many whitespace-separated tokens.",title:"Args",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"A reference to a org.apache.commons.exec.ExecBinding in the Registry.",title:"Binding",required:!1,deprecated:!1},commandExecutor:{kind:"parameter",type:"object",description:"A reference to a org.apache.commons.exec.ExecCommandExecutor in the Registry that customizes the command execution. The default command executor utilizes the commons-exec library, which adds a shutdown hook for every executed command.",title:"Command Executor",required:!1,deprecated:!1},commandLogLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to be used for commands during execution. The default value is DEBUG. Possible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF. (Values of ExecCommandLogLevelType enum)",title:"Command Log Level",required:!1,deprecated:!1},exitValues:{kind:"parameter",type:"string",description:"The exit values of successful executions. If the process exits with another value, an exception is raised. Comma-separated list of exit values. And empty list (the default) sets no expected exit values and disables the check.",title:"Exit Values",required:!1,deprecated:!1},outFile:{kind:"parameter",type:"string",description:"The name of a file, created by the executable, that should be considered as its output. If no outFile is set, the standard output (stdout) of the executable will be used instead.",title:"Out File",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",description:"The timeout, in milliseconds, after which the executable should be terminated. If execution has not completed within the timeout, the component will send a termination request.",title:"Timeout",required:!1,deprecated:!1},useStderrOnEmptyStdout:{kind:"parameter",type:"boolean",defaultValue:"false",description:"A boolean indicating that when stdout is empty, this component will populate the Camel Message Body with stderr. This behavior is disabled (false) by default.",title:"Use Stderr On Empty Stdout",required:!1,deprecated:!1},workingDir:{kind:"parameter",type:"string",description:"The directory in which the command should be executed. If null, the working directory of the current process will be used.",title:"Working Dir",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},facebook:{type:"object",title:"Facebook",group:"social",icon:"generic24.png",description:"Send requests to Facebook APIs supported by Facebook4J.",properties:{methodName:{kind:"path",type:"string",description:"What operation to perform",title:"Method Name",required:!0,deprecated:!1},achievementURL:{kind:"parameter",type:"string",description:"The unique URL of the achievement",title:"Achievement URL",required:!1,deprecated:!1},albumId:{kind:"parameter",type:"string",description:"The album ID",title:"Album Id",required:!1,deprecated:!1},albumUpdate:{kind:"parameter",type:"object",description:"The facebook Album to be created or updated",title:"Album Update",required:!1,deprecated:!1},appId:{kind:"parameter",type:"string",description:"The ID of the Facebook Application",title:"App Id",required:!1,deprecated:!1},center:{kind:"parameter",type:"object",description:"Location latitude and longitude",title:"Center",required:!1,deprecated:!1},checkinId:{kind:"parameter",type:"string",description:"The checkin ID",title:"Checkin Id",required:!1,deprecated:!1},checkinUpdate:{kind:"parameter",type:"object",description:"The checkin to be created. Deprecated, instead create a Post with an attached location",title:"Checkin Update",required:!1,deprecated:!0},clientURL:{kind:"parameter",type:"string",description:"Facebook4J API client URL",title:"Client URL",required:!1,deprecated:!1},clientVersion:{kind:"parameter",type:"string",description:"Facebook4J client API version",title:"Client Version",required:!1,deprecated:!1},commentId:{kind:"parameter",type:"string",description:"The comment ID",title:"Comment Id",required:!1,deprecated:!1},commentUpdate:{kind:"parameter",type:"object",description:"The facebook Comment to be created or updated",title:"Comment Update",required:!1,deprecated:!1},debugEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables deubg output. Effective only with the embedded logger",title:"Debug Enabled",required:!1,deprecated:!1},description:{kind:"parameter",type:"string",description:"The description text",title:"Description",required:!1,deprecated:!1},distance:{kind:"parameter",type:"integer",description:"Distance in meters",title:"Distance",required:!1,deprecated:!1},domainId:{kind:"parameter",type:"string",description:"The domain ID",title:"Domain Id",required:!1,deprecated:!1},domainName:{kind:"parameter",type:"string",description:"The domain name",title:"Domain Name",required:!1,deprecated:!1},domainNames:{kind:"parameter",type:"array",description:"The domain names",title:"Domain Names",required:!1,deprecated:!1},eventId:{kind:"parameter",type:"string",description:"The event ID",title:"Event Id",required:!1,deprecated:!1},eventUpdate:{kind:"parameter",type:"object",description:"The event to be created or updated",title:"Event Update",required:!1,deprecated:!1},friendId:{kind:"parameter",type:"string",description:"The friend ID",title:"Friend Id",required:!1,deprecated:!1},friendlistId:{kind:"parameter",type:"string",description:"The friend list ID",title:"Friendlist Id",required:!1,deprecated:!1},friendlistName:{kind:"parameter",type:"string",description:"The friend list Name",title:"Friendlist Name",required:!1,deprecated:!1},friendUserId:{kind:"parameter",type:"string",description:"The friend user ID",title:"Friend User Id",required:!1,deprecated:!1},groupId:{kind:"parameter",type:"string",description:"The group ID",title:"Group Id",required:!1,deprecated:!1},gzipEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Use Facebook GZIP encoding",title:"Gzip Enabled",required:!1,deprecated:!1},httpConnectionTimeout:{kind:"parameter",type:"integer",defaultValue:"20000",description:"Http connection timeout in milliseconds",title:"Http Connection Timeout",required:!1,deprecated:!1},httpDefaultMaxPerRoute:{kind:"parameter",type:"integer",defaultValue:"2",description:"HTTP maximum connections per route",title:"Http Default Max Per Route",required:!1,deprecated:!1},httpMaxTotalConnections:{kind:"parameter",type:"integer",defaultValue:"20",description:"HTTP maximum total connections",title:"Http Max Total Connections",required:!1,deprecated:!1},httpReadTimeout:{kind:"parameter",type:"integer",defaultValue:"120000",description:"Http read timeout in milliseconds",title:"Http Read Timeout",required:!1,deprecated:!1},httpRetryCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Number of HTTP retries",title:"Http Retry Count",required:!1,deprecated:!1},httpRetryIntervalSeconds:{kind:"parameter",type:"integer",defaultValue:"5",description:"HTTP retry interval in seconds",title:"Http Retry Interval Seconds",required:!1,deprecated:!1},httpStreamingReadTimeout:{kind:"parameter",type:"integer",defaultValue:"40000",description:"HTTP streaming read timeout in milliseconds",title:"Http Streaming Read Timeout",required:!1,deprecated:!1},ids:{kind:"parameter",type:"array",description:"The ids of users",title:"Ids",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},includeRead:{kind:"parameter",type:"boolean",description:"Enables notifications that the user has already read in addition to unread ones",title:"Include Read",required:!1,deprecated:!1},isHidden:{kind:"parameter",type:"boolean",description:"Whether hidden",title:"Is Hidden",required:!1,deprecated:!1},jsonStoreEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, raw JSON forms will be stored in DataObjectFactory",title:"Json Store Enabled",required:!1,deprecated:!1},link:{kind:"parameter",type:"string",description:"Link URL",title:"Link",required:!1,deprecated:!1},linkId:{kind:"parameter",type:"string",description:"Link ID",title:"Link Id",required:!1,deprecated:!1},locale:{kind:"parameter",type:"object",description:"Desired FQL locale",title:"Locale",required:!1,deprecated:!1},mbeanEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, Facebook4J mbean will be registerd",title:"Mbean Enabled",required:!1,deprecated:!1},message:{kind:"parameter",type:"string",description:"The message text",title:"Message",required:!1,deprecated:!1},messageId:{kind:"parameter",type:"string",description:"The message ID",title:"Message Id",required:!1,deprecated:!1},metric:{kind:"parameter",type:"string",description:"The metric name",title:"Metric",required:!1,deprecated:!1},milestoneId:{kind:"parameter",type:"string",description:"The milestone id",title:"Milestone Id",required:!1,deprecated:!1},name:{kind:"parameter",type:"string",description:"Test user name, must be of the form 'first last'",title:"Name",required:!1,deprecated:!1},noteId:{kind:"parameter",type:"string",description:"The note ID",title:"Note Id",required:!1,deprecated:!1},notificationId:{kind:"parameter",type:"string",description:"The notification ID",title:"Notification Id",required:!1,deprecated:!1},objectId:{kind:"parameter",type:"string",description:"The insight object ID",title:"Object Id",required:!1,deprecated:!1},offerId:{kind:"parameter",type:"string",description:"The offer id",title:"Offer Id",required:!1,deprecated:!1},optionDescription:{kind:"parameter",type:"string",description:"The question's answer option description",title:"Option Description",required:!1,deprecated:!1},pageId:{kind:"parameter",type:"string",description:"The page id",title:"Page Id",required:!1,deprecated:!1},permissionName:{kind:"parameter",type:"string",description:"The permission name",title:"Permission Name",required:!1,deprecated:!1},permissions:{kind:"parameter",type:"string",description:"Test user permissions in the format perm1,perm2,...",title:"Permissions",required:!1,deprecated:!1},photoId:{kind:"parameter",type:"string",description:"The photo ID",title:"Photo Id",required:!1,deprecated:!1},pictureId:{kind:"parameter",type:"integer",description:"The picture id",title:"Picture Id",required:!1,deprecated:!1},pictureId2:{kind:"parameter",type:"integer",description:"The picture2 id",title:"Picture Id2",required:!1,deprecated:!1},pictureSize:{kind:"parameter",type:"object",enum:["square","small","normal","large","thumbnail","album"],description:"The picture size",title:"Picture Size",required:!1,deprecated:!1},placeId:{kind:"parameter",type:"string",description:"The place ID",title:"Place Id",required:!1,deprecated:!1},postId:{kind:"parameter",type:"string",description:"The post ID",title:"Post Id",required:!1,deprecated:!1},postUpdate:{kind:"parameter",type:"object",description:"The post to create or update",title:"Post Update",required:!1,deprecated:!1},prettyDebugEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Prettify JSON debug output if set to true",title:"Pretty Debug Enabled",required:!1,deprecated:!1},queries:{kind:"parameter",type:"object",description:"FQL queries",title:"Queries",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"FQL query or search terms for search endpoints",title:"Query",required:!1,deprecated:!1},questionId:{kind:"parameter",type:"string",description:"The question id",title:"Question Id",required:!1,deprecated:!1},reading:{kind:"parameter",type:"object",description:"Optional reading parameters. See Reading Options(#reading)",title:"Reading",required:!1,deprecated:!1},readingOptions:{kind:"parameter",type:"object",description:"To configure Reading using key/value pairs from the Map.",title:"Reading Options",required:!1,deprecated:!1},restBaseURL:{kind:"parameter",type:"string",defaultValue:"https://graph.facebook.com/",description:"API base URL",title:"Rest Base URL",required:!1,deprecated:!1},scoreValue:{kind:"parameter",type:"integer",description:"The numeric score with value",title:"Score Value",required:!1,deprecated:!1},size:{kind:"parameter",type:"object",enum:["square","small","normal","large","thumbnail","album"],description:"The picture size, one of large, normal, small or square",title:"Size",required:!1,deprecated:!1},source:{kind:"parameter",type:"object",description:"The media content from either a java.io.File or java.io.Inputstream",title:"Source",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The note of the subject",title:"Subject",required:!1,deprecated:!1},tabId:{kind:"parameter",type:"string",description:"The tab id",title:"Tab Id",required:!1,deprecated:!1},tagUpdate:{kind:"parameter",type:"object",description:"Photo tag information",title:"Tag Update",required:!1,deprecated:!1},testUser1:{kind:"parameter",type:"object",description:"Test user 1",title:"Test User1",required:!1,deprecated:!1},testUser2:{kind:"parameter",type:"object",description:"Test user 2",title:"Test User2",required:!1,deprecated:!1},testUserId:{kind:"parameter",type:"string",description:"The ID of the test user",title:"Test User Id",required:!1,deprecated:!1},title:{kind:"parameter",type:"string",description:"The title text",title:"Title",required:!1,deprecated:!1},toUserId:{kind:"parameter",type:"string",description:"The ID of the user to tag",title:"To User Id",required:!1,deprecated:!1},toUserIds:{kind:"parameter",type:"array",description:"The IDs of the users to tag",title:"To User Ids",required:!1,deprecated:!1},userId:{kind:"parameter",type:"string",description:"The Facebook user ID",title:"User Id",required:!1,deprecated:!1},userId1:{kind:"parameter",type:"string",description:"The ID of a user 1",title:"User Id1",required:!1,deprecated:!1},userId2:{kind:"parameter",type:"string",description:"The ID of a user 2",title:"User Id2",required:!1,deprecated:!1},userIds:{kind:"parameter",type:"array",description:"The IDs of users to invite to event",title:"User Ids",required:!1,deprecated:!1},userLocale:{kind:"parameter",type:"string",description:"The test user locale",title:"User Locale",required:!1,deprecated:!1},useSSL:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Use SSL",title:"Use SSL",required:!1,deprecated:!1},videoBaseURL:{kind:"parameter",type:"string",defaultValue:"https://graph-video.facebook.com/",description:"Video API base URL",title:"Video Base URL",required:!1,deprecated:!1},videoId:{kind:"parameter",type:"string",description:"The video ID",title:"Video Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"HTTP proxy server host name",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"HTTP proxy server password",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",description:"HTTP proxy server port",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUser:{kind:"parameter",type:"string",description:"HTTP proxy server user name",title:"Http Proxy User",required:!1,deprecated:!1},oAuthAccessToken:{kind:"parameter",type:"string",description:"The user access token",title:"OAuth Access Token",required:!1,deprecated:!1},oAuthAccessTokenURL:{kind:"parameter",type:"string",defaultValue:"https://graph.facebook.com/oauth/access_token",description:"OAuth access token URL",title:"OAuth Access Token URL",required:!1,deprecated:!1},oAuthAppId:{kind:"parameter",type:"string",description:"The application Id",title:"OAuth App Id",required:!1,deprecated:!1},oAuthAppSecret:{kind:"parameter",type:"string",description:"The application Secret",title:"OAuth App Secret",required:!1,deprecated:!1},oAuthAuthorizationURL:{kind:"parameter",type:"string",defaultValue:"https://www.facebook.com/dialog/oauth",description:"OAuth authorization URL",title:"OAuth Authorization URL",required:!1,deprecated:!1},oAuthPermissions:{kind:"parameter",type:"string",description:"Default OAuth permissions. Comma separated permission names. See https://developers.facebook.com/docs/reference/login/#permissions for the detail",title:"OAuth Permissions",required:!1,deprecated:!1}}},fhir:{type:"object",title:"FHIR",group:"api",icon:"generic24.png",description:"Exchange information in the healthcare domain using the FHIR (Fast Healthcare Interoperability Resources) standard.",properties:{apiName:{kind:"path",type:"object",enum:["CAPABILITIES","CREATE","DELETE","HISTORY","LOAD_PAGE","META","OPERATION","PATCH","READ","SEARCH","TRANSACTION","UPDATE","VALIDATE"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},encoding:{kind:"parameter",type:"string",enum:["JSON","XML"],description:"Encoding to use for all request",title:"Encoding",required:!1,deprecated:!1},fhirVersion:{kind:"parameter",type:"string",defaultValue:"R4",enum:["DSTU2","DSTU2_HL7ORG","DSTU2_1","DSTU3","R4","R4B","R5"],description:"The FHIR Version to use",title:"Fhir Version",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},log:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will log every requests and responses",title:"Log",required:!1,deprecated:!1},prettyPrint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Pretty print all request",title:"Pretty Print",required:!1,deprecated:!1},serverUrl:{kind:"parameter",type:"string",description:"The FHIR server base URL",title:"Server Url",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"To use the custom client",title:"Client",required:!1,deprecated:!1},clientFactory:{kind:"parameter",type:"object",description:"To use the custom client factory",title:"Client Factory",required:!1,deprecated:!1},compress:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Compresses outgoing (POST/PUT) contents to the GZIP format",title:"Compress",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"How long to try and establish the initial TCP connection (in ms)",title:"Connection Timeout",required:!1,deprecated:!1},deferModelScanning:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When this option is set, model classes will not be scanned for children until the child list for the given type is actually accessed.",title:"Defer Model Scanning",required:!1,deprecated:!1},fhirContext:{kind:"parameter",type:"object",description:"FhirContext is an expensive object to create. To avoid creating multiple instances, it can be set directly.",title:"Fhir Context",required:!1,deprecated:!1},forceConformanceCheck:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Force conformance check",title:"Force Conformance Check",required:!1,deprecated:!1},sessionCookie:{kind:"parameter",type:"string",description:"HTTP session cookie to add to every request",title:"Session Cookie",required:!1,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"How long to block for individual read/write operations (in ms)",title:"Socket Timeout",required:!1,deprecated:!1},summary:{kind:"parameter",type:"string",enum:["COUNT","TEXT","DATA","TRUE","FALSE"],description:"Request that the server modify the response using the _summary param",title:"Summary",required:!1,deprecated:!1},validationMode:{kind:"parameter",type:"string",defaultValue:"ONCE",enum:["NEVER","ONCE"],description:"When should Camel validate the FHIR Server's conformance statement",title:"Validation Mode",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"The proxy host",title:"Proxy Host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"The proxy password",title:"Proxy Password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"The proxy port",title:"Proxy Port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"The proxy username",title:"Proxy User",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth access token",title:"Access Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use for basic authentication",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use for basic authentication",title:"Username",required:!1,deprecated:!1}}},file:{type:"object",title:"File",group:"file,core",icon:"generic24.png",description:"Read and write files.",properties:{directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!0,deprecated:!1},charset:{kind:"parameter",type:"string",description:"This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the data into the configured charset, so do not use this if you have big messages.",title:"Charset",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file will be deleted after it is processed successfully.",title:"Delete",required:!1,deprecated:!1},moveFailed:{kind:"parameter",type:"string",description:"Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",title:"Move Failed",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",title:"Noop",required:!1,deprecated:!1},preMove:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",title:"Pre Move",required:!1,deprecated:!1},preSort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",title:"Pre Sort",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If a directory, will look for files in all the sub-directories as well.",title:"Recursive",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},directoryMustExist:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Similar to the startingDirectoryMustExist option but this applies during polling (after starting the consumer).",title:"Directory Must Exist",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},extendedAttributes:{kind:"parameter",type:"string",description:"To define which file attributes of interest. Like posix:permissions,posix:owner,basic:lastAccessTime, it supports basic wildcard like posix:, basic:lastAccessTime",title:"Extended Attributes",required:!1,deprecated:!1},includeHiddenFiles:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to accept hidden files. Files which names starts with dot is regarded as a hidden file, and by default not included. Set this option to true to include hidden files in the file consumer.",title:"Include Hidden Files",required:!1,deprecated:!1},inProgressRepository:{kind:"parameter",type:"object",description:"A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",title:"In Progress Repository",required:!1,deprecated:!1},localWorkDirectory:{kind:"parameter",type:"string",description:"When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",title:"Local Work Directory",required:!1,deprecated:!1},onCompletionExceptionHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",title:"On Completion Exception Handler",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},probeContentType:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to enable probing of the content type. If enable then the consumer uses Files#probeContentType(java.nio.file.Path) to determine the content-type of the file, and store that as a header with key Exchange#FILE_CONTENT_TYPE on the Message.",title:"Probe Content Type",required:!1,deprecated:!1},processStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",title:"Process Strategy",required:!1,deprecated:!1},startingDirectoryMustExist:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the starting directory must exist. Mind that the autoCreate option is default enabled, which means the starting directory is normally auto created if it doesn't exist. You can disable autoCreate and enable this to ensure the starting directory must exist. Will thrown an exception if the directory doesn't exist.",title:"Starting Directory Must Exist",required:!1,deprecated:!1},startingDirectoryMustHaveAccess:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the starting directory has access permissions. Mind that the startingDirectoryMustExist parameter must be set to true in order to verify that the directory exists. Will thrown an exception if the directory doesn't have read and write permissions.",title:"Starting Directory Must Have Access",required:!1,deprecated:!1},appendChars:{kind:"parameter",type:"string",description:"Used to append characters (text) after writing files. This can for example be used to add new lines or other separators when writing and appending new files or existing files. To specify new-line (slash-n or slash-r) or tab (slash-t) characters then escape with an extra slash, eg slash-slash-n.",title:"Append Chars",required:!1,deprecated:!1},fileExist:{kind:"parameter",type:"object",defaultValue:"Override",enum:["Override","Append","Fail","Ignore","Move","TryRename"],description:"What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. The option eagerDeleteTargetFile can be used to control what to do if an moving the file, and there exists already an existing file, otherwise causing the move operation to fail. The Move option will move any existing files, before writing the target file. - TryRename is only applicable if tempFileName option is in use. This allows to try renaming the file from the temporary name to the actual name, without doing any exists check. This check may be faster on some file systems and especially FTP servers.",title:"File Exist",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},moveExisting:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language tokens: file:name, file:name.ext, file:name.noext, file:onlyname, file:onlyname.noext, file:ext, and file:parent. Notice the file:parent is not supported by the FTP component, as the FTP component can only move any existing files to a relative directory based on current dir as base.",title:"Move Existing",required:!1,deprecated:!1},tempFileName:{kind:"parameter",type:"string",description:"The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the option 'fileName', not the target directory in the base uri. For example if option fileName includes a directory prefix: dir/finalFilename then tempFileName is relative to that subdirectory dir.",title:"Temp File Name",required:!1,deprecated:!1},tempPrefix:{kind:"parameter",type:"string",description:"This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read locks) reading in progress files. Is often used by FTP when uploading big files.",title:"Temp Prefix",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},chmod:{kind:"parameter",type:"string",description:"Specify the file permissions which is sent by the producer, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it.",title:"Chmod",required:!1,deprecated:!1},chmodDirectory:{kind:"parameter",type:"string",description:"Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it.",title:"Chmod Directory",required:!1,deprecated:!1},eagerDeleteTargetFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before the temp file is being renamed to the target filename. This option is also used to control whether to delete any existing files when fileExist=Move is enabled, and an existing file exists. If this option copyAndDeleteOnRenameFails false, then an exception will be thrown if an existing file existed, if its true, then the existing file is deleted before the move operation.",title:"Eager Delete Target File",required:!1,deprecated:!1},forceWrites:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs / audit logs etc; this would yield better performance.",title:"Force Writes",required:!1,deprecated:!1},keepLastModified:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers.",title:"Keep Last Modified",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",title:"Auto Create",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"131072",description:"Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files).",title:"Buffer Size",required:!1,deprecated:!1},copyAndDeleteOnRenameFail:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to fallback and do a copy and delete file, in case the file could not be renamed directly. This option is not available for the FTP component.",title:"Copy And Delete On Rename Fail",required:!1,deprecated:!1},renameUsingCopy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Perform rename operations using a copy and delete strategy. This is primarily used in environments where the regular rename operation is unreliable (e.g. across different file systems or networks). This option takes precedence over the copyAndDeleteOnRenameFail parameter that will automatically fall back to the copy and delete strategy, but only after additional delays.",title:"Rename Using Copy",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},antExclude:{kind:"parameter",type:"string",description:"Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",title:"Ant Exclude",required:!1,deprecated:!1},antFilterCaseSensitive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets case sensitive flag on ant filter.",title:"Ant Filter Case Sensitive",required:!1,deprecated:!1},antInclude:{kind:"parameter",type:"string",description:"Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",title:"Ant Include",required:!1,deprecated:!1},eagerMaxMessagesPerPoll:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",title:"Eager Max Messages Per Poll",required:!1,deprecated:!1},exclude:{kind:"parameter",type:"string",description:"Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Exclude",required:!1,deprecated:!1},excludeExt:{kind:"parameter",type:"string",description:"Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Exclude Ext",required:!1,deprecated:!1},filter:{kind:"parameter",type:"object",description:"Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",title:"Filter",required:!1,deprecated:!1},filterDirectory:{kind:"parameter",type:"string",description:"Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",title:"Filter Directory",required:!1,deprecated:!1},filterFile:{kind:"parameter",type:"string",description:"Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",title:"Filter File",required:!1,deprecated:!1},idempotent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",title:"Idempotent",required:!1,deprecated:!1},idempotentKey:{kind:"parameter",type:"string",description:"To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",title:"Idempotent Key",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",title:"Idempotent Repository",required:!1,deprecated:!1},include:{kind:"parameter",type:"string",description:"Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Include",required:!1,deprecated:!1},includeExt:{kind:"parameter",type:"string",description:"Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Include Ext",required:!1,deprecated:!1},maxDepth:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum depth to traverse when recursively processing a directory.",title:"Max Depth",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",title:"Max Messages Per Poll",required:!1,deprecated:!1},minDepth:{kind:"parameter",type:"integer",description:"The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",title:"Min Depth",required:!1,deprecated:!1},move:{kind:"parameter",type:"string",description:"Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",title:"Move",required:!1,deprecated:!1},exclusiveReadLockStrategy:{kind:"parameter",type:"object",description:"Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",title:"Exclusive Read Lock Strategy",required:!1,deprecated:!1},readLock:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","markerFile","fileLock","rename","changed","idempotent","idempotent-changed","idempotent-rename"],description:"Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan.",title:"Read Lock",required:!1,deprecated:!1},readLockCheckInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Check Interval",required:!1,deprecated:!1},readLockDeleteOrphanLockFiles:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",title:"Read Lock Delete Orphan Lock Files",required:!1,deprecated:!1},readLockIdempotentReleaseAsync:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Async",required:!1,deprecated:!1},readLockIdempotentReleaseAsyncPoolSize:{kind:"parameter",type:"integer",description:"The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Async Pool Size",required:!1,deprecated:!1},readLockIdempotentReleaseDelay:{kind:"parameter",type:"integer",description:"Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if you have configured readLockRemoveOnCommit to true.",title:"Read Lock Idempotent Release Delay",required:!1,deprecated:!1},readLockIdempotentReleaseExecutorService:{kind:"parameter",type:"object",description:"To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Executor Service",required:!1,deprecated:!1},readLockLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename.",title:"Read Lock Logging Level",required:!1,deprecated:!1},readLockMarkerFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",title:"Read Lock Marker File",required:!1,deprecated:!1},readLockMinAge:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",title:"Read Lock Min Age",required:!1,deprecated:!1},readLockMinLength:{kind:"parameter",type:"integer",defaultValue:"1",description:"This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",title:"Read Lock Min Length",required:!1,deprecated:!1},readLockRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Remove On Commit",required:!1,deprecated:!1},readLockRemoveOnRollback:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",title:"Read Lock Remove On Rollback",required:!1,deprecated:!1},readLockTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},shuffle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To shuffle the list of files (sort in random order)",title:"Shuffle",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",description:"Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",title:"Sort By",required:!1,deprecated:!1},sorter:{kind:"parameter",type:"object",description:"Pluggable sorter as a java.util.Comparator class.",title:"Sorter",required:!1,deprecated:!1}}},"file-watch":{type:"object",title:"File Watch",group:"file",icon:"generic24.png",description:"Get notified about file events in a directory using java.nio.file.WatchService.",properties:{path:{kind:"path",type:"string",description:"Path of directory to consume events from.",title:"Path",required:!0,deprecated:!1},antInclude:{kind:"parameter",type:"string",defaultValue:"**",description:"ANT style pattern to match files. The file is matched against path relative to endpoint path. Pattern must be also relative (not starting with slash)",title:"Ant Include",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Auto create directory if does not exists.",title:"Auto Create",required:!1,deprecated:!1},events:{kind:"parameter",type:"string",defaultValue:"CREATE,MODIFY,DELETE",description:"Comma separated list of events to watch. Possible values: CREATE,MODIFY,DELETE",title:"Events",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Watch recursive in current and child directories (including newly created directories).",title:"Recursive",required:!1,deprecated:!1},useFileHashing:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enables or disables file hashing to detect duplicate events. If you disable this, you can get some events multiple times on some platforms and JDKs. Check java.nio.file.WatchService limitations for your target platform.",title:"Use File Hashing",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of concurrent consumers. Increase this value, if your route is slow to prevent buffering in queue.",title:"Concurrent Consumers",required:!1,deprecated:!1},fileHasher:{kind:"parameter",type:"object",defaultValue:"#murmur3FFileHasher",description:"Reference to io.methvin.watcher.hashing.FileHasher. This prevents emitting duplicate events on some platforms. For working with large files and if you dont need detect multiple modifications per second per file, use #lastModifiedTimeFileHasher. You can also provide custom implementation in registry.",title:"File Hasher",required:!1,deprecated:!1},pollThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of threads polling WatchService. Increase this value, if you see OVERFLOW messages in log.",title:"Poll Threads",required:!1,deprecated:!1},queueSize:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"Maximum size of queue between WatchService and consumer. Unbounded by default.",title:"Queue Size",required:!1,deprecated:!1}}},flatpack:{type:"object",title:"Flatpack",group:"transformation",icon:"generic24.png",description:"Parse fixed width and delimited files using the FlatPack library.",properties:{type:{kind:"path",type:"object",defaultValue:"delim",enum:["fixed","delim"],description:"Whether to use fixed or delimiter",title:"Type",required:!1,deprecated:!1},resourceUri:{kind:"path",type:"string",description:"URL for loading the flatpack mapping file from classpath or file system",title:"Resource Uri",required:!0,deprecated:!1},allowShortLines:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for lines to be shorter than expected and ignores the extra characters",title:"Allow Short Lines",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"string",defaultValue:",",description:"The default character delimiter for delimited files.",title:"Delimiter",required:!1,deprecated:!1},ignoreExtraColumns:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for lines to be longer than expected and ignores the extra characters",title:"Ignore Extra Columns",required:!1,deprecated:!1},ignoreFirstRecord:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the first line is ignored for delimited files (for the column headers).",title:"Ignore First Record",required:!1,deprecated:!1},splitRows:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets the Component to send each row as a separate exchange once parsed",title:"Split Rows",required:!1,deprecated:!1},textQualifier:{kind:"parameter",type:"string",description:"The text qualifier for delimited files.",title:"Text Qualifier",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},flink:{type:"object",title:"Flink",group:"transformation,bigdata",icon:"generic24.png",description:"Send DataSet jobs to an Apache Flink cluster.",properties:{endpointType:{kind:"path",type:"object",enum:["dataset","datastream"],description:"Type of the endpoint (dataset, datastream).",title:"Endpoint Type",required:!0,deprecated:!1},collect:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Indicates if results should be collected or counted.",title:"Collect",required:!1,deprecated:!1},dataSet:{kind:"parameter",type:"object",description:"DataSet to compute against.",title:"Data Set",required:!1,deprecated:!1},dataSetCallback:{kind:"parameter",type:"object",description:"Function performing action against a DataSet.",title:"Data Set Callback",required:!1,deprecated:!1},dataStream:{kind:"parameter",type:"object",description:"DataStream to compute against.",title:"Data Stream",required:!1,deprecated:!1},dataStreamCallback:{kind:"parameter",type:"object",description:"Function performing action against a DataStream.",title:"Data Stream Callback",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},fop:{type:"object",title:"FOP",group:"file,transformation",icon:"generic24.png",description:"Render messages into PDF and other output formats supported by Apache FOP.",properties:{outputType:{kind:"path",type:"object",enum:["pdf","ps","pcl","png","jpeg","svg","xml","mif","rtf","txt"],description:"The primary output format is PDF but other output formats are also supported.",title:"Output Type",required:!0,deprecated:!1},fopFactory:{kind:"parameter",type:"object",description:"Allows to use a custom configured or implementation of org.apache.fop.apps.FopFactory.",title:"Fop Factory",required:!1,deprecated:!1},userConfigURL:{kind:"parameter",type:"string",description:"The location of a configuration file which can be loaded from classpath or file system.",title:"User Config URL",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},freemarker:{type:"object",title:"Freemarker",group:"transformation",icon:"generic24.png",description:"Transform messages using FreeMarker templates.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"Sets the Freemarker configuration to use",title:"Configuration",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"Sets the encoding to be used for loading the template file.",title:"Encoding",required:!1,deprecated:!1},templateUpdateDelay:{kind:"parameter",type:"integer",description:"Number of seconds the loaded template resource will remain in the cache.",title:"Template Update Delay",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},ftp:{type:"object",title:"FTP",group:"file",icon:"generic24.png",description:"Upload and download files to/from FTP servers.",properties:{host:{kind:"path",type:"string",description:"Hostname of the FTP server",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port of the FTP server",title:"Port",required:!1,deprecated:!1},directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!1,deprecated:!1},binary:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false).",title:"Binary",required:!1,deprecated:!1},charset:{kind:"parameter",type:"string",description:"This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the data into the configured charset, so do not use this if you have big messages.",title:"Charset",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.",title:"Disconnect",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},passiveMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets passive mode connections. Default is active mode connections.",title:"Passive Mode",required:!1,deprecated:!1},separator:{kind:"parameter",type:"object",defaultValue:"UNIX",enum:["UNIX","Windows","Auto"],description:"Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name",title:"Separator",required:!1,deprecated:!1},transferLoggingIntervalSeconds:{kind:"parameter",type:"integer",defaultValue:"5",description:"Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time.",title:"Transfer Logging Interval Seconds",required:!1,deprecated:!1},transferLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Configure the logging level to use when logging the progress of upload and download operations.",title:"Transfer Logging Level",required:!1,deprecated:!1},transferLoggingVerbose:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations.",title:"Transfer Logging Verbose",required:!1,deprecated:!1},fastExistsCheck:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has a lot of files.",title:"Fast Exists Check",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file will be deleted after it is processed successfully.",title:"Delete",required:!1,deprecated:!1},moveFailed:{kind:"parameter",type:"string",description:"Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",title:"Move Failed",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",title:"Noop",required:!1,deprecated:!1},preMove:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",title:"Pre Move",required:!1,deprecated:!1},preSort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",title:"Pre Sort",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If a directory, will look for files in all the sub-directories as well.",title:"Recursive",required:!1,deprecated:!1},resumeDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether resume download is enabled. This must be supported by the FTP server (almost all FTP servers support it). In addition the options localWorkDirectory must be configured so downloaded files are stored in a local directory, and the option binary must be enabled, which is required to support resuming of downloads.",title:"Resume Download",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time.",title:"Stream Download",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},download:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded.",title:"Download",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},handleDirectoryParserAbsoluteResult:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows you to set how the consumer will handle subfolders and files in the path if the directory parser results in with absolute paths The reason for this is that some FTP servers may return file names with absolute paths, and if so then the FTP component needs to handle this by converting the returned path into a relative path.",title:"Handle Directory Parser Absolute Result",required:!1,deprecated:!1},ignoreFileNotFoundOrPermissionError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead.",title:"Ignore File Not Found Or Permission Error",required:!1,deprecated:!1},inProgressRepository:{kind:"parameter",type:"object",description:"A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",title:"In Progress Repository",required:!1,deprecated:!1},localWorkDirectory:{kind:"parameter",type:"string",description:"When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",title:"Local Work Directory",required:!1,deprecated:!1},onCompletionExceptionHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",title:"On Completion Exception Handler",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",title:"Process Strategy",required:!1,deprecated:!1},useList:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using LIST command when downloading a file. Default is true. In some use cases you may want to download a specific file and are not allowed to use the LIST command, and therefore you can set this option to false. Notice when using this option, then the specific file to download does not include meta-data information such as file size, timestamp, permissions etc, because those information is only possible to retrieve when LIST command is in use.",title:"Use List",required:!1,deprecated:!1},fileExist:{kind:"parameter",type:"object",defaultValue:"Override",enum:["Override","Append","Fail","Ignore","Move","TryRename"],description:"What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. The option eagerDeleteTargetFile can be used to control what to do if an moving the file, and there exists already an existing file, otherwise causing the move operation to fail. The Move option will move any existing files, before writing the target file. - TryRename is only applicable if tempFileName option is in use. This allows to try renaming the file from the temporary name to the actual name, without doing any exists check. This check may be faster on some file systems and especially FTP servers.",title:"File Exist",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},moveExisting:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language tokens: file:name, file:name.ext, file:name.noext, file:onlyname, file:onlyname.noext, file:ext, and file:parent. Notice the file:parent is not supported by the FTP component, as the FTP component can only move any existing files to a relative directory based on current dir as base.",title:"Move Existing",required:!1,deprecated:!1},tempFileName:{kind:"parameter",type:"string",description:"The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the option 'fileName', not the target directory in the base uri. For example if option fileName includes a directory prefix: dir/finalFilename then tempFileName is relative to that subdirectory dir.",title:"Temp File Name",required:!1,deprecated:!1},tempPrefix:{kind:"parameter",type:"string",description:"This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read locks) reading in progress files. Is often used by FTP when uploading big files.",title:"Temp Prefix",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},chmod:{kind:"parameter",type:"string",description:"Allows you to set chmod on the stored file. For example chmod=640.",title:"Chmod",required:!1,deprecated:!1},disconnectOnBatchComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.",title:"Disconnect On Batch Complete",required:!1,deprecated:!1},eagerDeleteTargetFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before the temp file is being renamed to the target filename. This option is also used to control whether to delete any existing files when fileExist=Move is enabled, and an existing file exists. If this option copyAndDeleteOnRenameFails false, then an exception will be thrown if an existing file existed, if its true, then the existing file is deleted before the move operation.",title:"Eager Delete Target File",required:!1,deprecated:!1},keepLastModified:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers.",title:"Keep Last Modified",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},sendNoop:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off.",title:"Send Noop",required:!1,deprecated:!1},activePortRange:{kind:"parameter",type:"string",description:"Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports.",title:"Active Port Range",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",title:"Auto Create",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"131072",description:"Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files).",title:"Buffer Size",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH",title:"Connect Timeout",required:!1,deprecated:!1},ftpClient:{kind:"parameter",type:"object",description:"To use a custom instance of FTPClient",title:"Ftp Client",required:!1,deprecated:!1},ftpClientConfig:{kind:"parameter",type:"object",description:"To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use.",title:"Ftp Client Config",required:!1,deprecated:!1},ftpClientConfigParameters:{kind:"parameter",type:"object",description:"Used by FtpComponent to provide additional parameters for the FTPClientConfig",title:"Ftp Client Config Parameters",required:!1,deprecated:!1},ftpClientParameters:{kind:"parameter",type:"object",description:"Used by FtpComponent to provide additional parameters for the FTPClient",title:"Ftp Client Parameters",required:!1,deprecated:!1},maximumReconnectAttempts:{kind:"parameter",type:"integer",description:"Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.",title:"Maximum Reconnect Attempts",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Delay in millis Camel will wait before performing a reconnect attempt.",title:"Reconnect Delay",required:!1,deprecated:!1},siteCommand:{kind:"parameter",type:"string",description:"Sets optional site command(s) to be executed after successful login. Multiple site commands can be separated using a new line character.",title:"Site Command",required:!1,deprecated:!1},soTimeout:{kind:"parameter",type:"duration",defaultValue:"300000",description:"Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended option is to set this to 300000 so as not have a hanged connection. On SFTP this option is set as timeout on the JSCH Session instance.",title:"So Timeout",required:!1,deprecated:!1},stepwise:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether we should stepwise change directories while traversing file structures when downloading files, or as well when uploading a file to a directory. You can disable this if you for example are in a situation where you cannot change directory on the FTP server due security reasons. Stepwise cannot be used together with streamDownload.",title:"Stepwise",required:!1,deprecated:!1},throwExceptionOnConnectFailed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should an exception be thrown if connection failed (exhausted)By default exception is not thrown and a WARN is logged. You can use this to enable exception being thrown and handle the thrown exception from the org.apache.camel.spi.PollingConsumerPollStrategy rollback method.",title:"Throw Exception On Connect Failed",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Sets the data timeout for waiting for reply Used only by FTPClient",title:"Timeout",required:!1,deprecated:!1},antExclude:{kind:"parameter",type:"string",description:"Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",title:"Ant Exclude",required:!1,deprecated:!1},antFilterCaseSensitive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets case sensitive flag on ant filter.",title:"Ant Filter Case Sensitive",required:!1,deprecated:!1},antInclude:{kind:"parameter",type:"string",description:"Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",title:"Ant Include",required:!1,deprecated:!1},eagerMaxMessagesPerPoll:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",title:"Eager Max Messages Per Poll",required:!1,deprecated:!1},exclude:{kind:"parameter",type:"string",description:"Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Exclude",required:!1,deprecated:!1},excludeExt:{kind:"parameter",type:"string",description:"Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Exclude Ext",required:!1,deprecated:!1},filter:{kind:"parameter",type:"object",description:"Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",title:"Filter",required:!1,deprecated:!1},filterDirectory:{kind:"parameter",type:"string",description:"Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",title:"Filter Directory",required:!1,deprecated:!1},filterFile:{kind:"parameter",type:"string",description:"Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",title:"Filter File",required:!1,deprecated:!1},idempotent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",title:"Idempotent",required:!1,deprecated:!1},idempotentKey:{kind:"parameter",type:"string",description:"To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",title:"Idempotent Key",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",title:"Idempotent Repository",required:!1,deprecated:!1},include:{kind:"parameter",type:"string",description:"Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Include",required:!1,deprecated:!1},includeExt:{kind:"parameter",type:"string",description:"Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Include Ext",required:!1,deprecated:!1},maxDepth:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum depth to traverse when recursively processing a directory.",title:"Max Depth",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",title:"Max Messages Per Poll",required:!1,deprecated:!1},minDepth:{kind:"parameter",type:"integer",description:"The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",title:"Min Depth",required:!1,deprecated:!1},move:{kind:"parameter",type:"string",description:"Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",title:"Move",required:!1,deprecated:!1},exclusiveReadLockStrategy:{kind:"parameter",type:"object",description:"Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",title:"Exclusive Read Lock Strategy",required:!1,deprecated:!1},readLock:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","markerFile","fileLock","rename","changed","idempotent","idempotent-changed","idempotent-rename"],description:"Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan.",title:"Read Lock",required:!1,deprecated:!1},readLockCheckInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Check Interval",required:!1,deprecated:!1},readLockDeleteOrphanLockFiles:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",title:"Read Lock Delete Orphan Lock Files",required:!1,deprecated:!1},readLockLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename.",title:"Read Lock Logging Level",required:!1,deprecated:!1},readLockMarkerFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",title:"Read Lock Marker File",required:!1,deprecated:!1},readLockMinAge:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",title:"Read Lock Min Age",required:!1,deprecated:!1},readLockMinLength:{kind:"parameter",type:"integer",defaultValue:"1",description:"This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",title:"Read Lock Min Length",required:!1,deprecated:!1},readLockRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Remove On Commit",required:!1,deprecated:!1},readLockRemoveOnRollback:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",title:"Read Lock Remove On Rollback",required:!1,deprecated:!1},readLockTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},account:{kind:"parameter",type:"string",description:"Account to use for login",title:"Account",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use for login",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use for login",title:"Username",required:!1,deprecated:!1},shuffle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To shuffle the list of files (sort in random order)",title:"Shuffle",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",description:"Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",title:"Sort By",required:!1,deprecated:!1},sorter:{kind:"parameter",type:"object",description:"Pluggable sorter as a java.util.Comparator class.",title:"Sorter",required:!1,deprecated:!1}}},ftps:{type:"object",title:"FTPS",group:"file",icon:"generic24.png",description:"Upload and download files to/from FTP servers supporting the FTPS protocol.",properties:{host:{kind:"path",type:"string",description:"Hostname of the FTP server",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port of the FTP server",title:"Port",required:!1,deprecated:!1},directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!1,deprecated:!1},binary:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false).",title:"Binary",required:!1,deprecated:!1},charset:{kind:"parameter",type:"string",description:"This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the data into the configured charset, so do not use this if you have big messages.",title:"Charset",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.",title:"Disconnect",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},passiveMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets passive mode connections. Default is active mode connections.",title:"Passive Mode",required:!1,deprecated:!1},separator:{kind:"parameter",type:"object",defaultValue:"UNIX",enum:["UNIX","Windows","Auto"],description:"Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name",title:"Separator",required:!1,deprecated:!1},transferLoggingIntervalSeconds:{kind:"parameter",type:"integer",defaultValue:"5",description:"Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time.",title:"Transfer Logging Interval Seconds",required:!1,deprecated:!1},transferLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Configure the logging level to use when logging the progress of upload and download operations.",title:"Transfer Logging Level",required:!1,deprecated:!1},transferLoggingVerbose:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations.",title:"Transfer Logging Verbose",required:!1,deprecated:!1},fastExistsCheck:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has a lot of files.",title:"Fast Exists Check",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file will be deleted after it is processed successfully.",title:"Delete",required:!1,deprecated:!1},moveFailed:{kind:"parameter",type:"string",description:"Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",title:"Move Failed",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",title:"Noop",required:!1,deprecated:!1},preMove:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",title:"Pre Move",required:!1,deprecated:!1},preSort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",title:"Pre Sort",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If a directory, will look for files in all the sub-directories as well.",title:"Recursive",required:!1,deprecated:!1},resumeDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether resume download is enabled. This must be supported by the FTP server (almost all FTP servers support it). In addition the options localWorkDirectory must be configured so downloaded files are stored in a local directory, and the option binary must be enabled, which is required to support resuming of downloads.",title:"Resume Download",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time.",title:"Stream Download",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},download:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded.",title:"Download",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},handleDirectoryParserAbsoluteResult:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows you to set how the consumer will handle subfolders and files in the path if the directory parser results in with absolute paths The reason for this is that some FTP servers may return file names with absolute paths, and if so then the FTP component needs to handle this by converting the returned path into a relative path.",title:"Handle Directory Parser Absolute Result",required:!1,deprecated:!1},ignoreFileNotFoundOrPermissionError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead.",title:"Ignore File Not Found Or Permission Error",required:!1,deprecated:!1},inProgressRepository:{kind:"parameter",type:"object",description:"A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",title:"In Progress Repository",required:!1,deprecated:!1},localWorkDirectory:{kind:"parameter",type:"string",description:"When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",title:"Local Work Directory",required:!1,deprecated:!1},onCompletionExceptionHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",title:"On Completion Exception Handler",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",title:"Process Strategy",required:!1,deprecated:!1},useList:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using LIST command when downloading a file. Default is true. In some use cases you may want to download a specific file and are not allowed to use the LIST command, and therefore you can set this option to false. Notice when using this option, then the specific file to download does not include meta-data information such as file size, timestamp, permissions etc, because those information is only possible to retrieve when LIST command is in use.",title:"Use List",required:!1,deprecated:!1},fileExist:{kind:"parameter",type:"object",defaultValue:"Override",enum:["Override","Append","Fail","Ignore","Move","TryRename"],description:"What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. The option eagerDeleteTargetFile can be used to control what to do if an moving the file, and there exists already an existing file, otherwise causing the move operation to fail. The Move option will move any existing files, before writing the target file. - TryRename is only applicable if tempFileName option is in use. This allows to try renaming the file from the temporary name to the actual name, without doing any exists check. This check may be faster on some file systems and especially FTP servers.",title:"File Exist",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},moveExisting:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language tokens: file:name, file:name.ext, file:name.noext, file:onlyname, file:onlyname.noext, file:ext, and file:parent. Notice the file:parent is not supported by the FTP component, as the FTP component can only move any existing files to a relative directory based on current dir as base.",title:"Move Existing",required:!1,deprecated:!1},tempFileName:{kind:"parameter",type:"string",description:"The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the option 'fileName', not the target directory in the base uri. For example if option fileName includes a directory prefix: dir/finalFilename then tempFileName is relative to that subdirectory dir.",title:"Temp File Name",required:!1,deprecated:!1},tempPrefix:{kind:"parameter",type:"string",description:"This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read locks) reading in progress files. Is often used by FTP when uploading big files.",title:"Temp Prefix",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},chmod:{kind:"parameter",type:"string",description:"Allows you to set chmod on the stored file. For example chmod=640.",title:"Chmod",required:!1,deprecated:!1},disconnectOnBatchComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.",title:"Disconnect On Batch Complete",required:!1,deprecated:!1},eagerDeleteTargetFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before the temp file is being renamed to the target filename. This option is also used to control whether to delete any existing files when fileExist=Move is enabled, and an existing file exists. If this option copyAndDeleteOnRenameFails false, then an exception will be thrown if an existing file existed, if its true, then the existing file is deleted before the move operation.",title:"Eager Delete Target File",required:!1,deprecated:!1},keepLastModified:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers.",title:"Keep Last Modified",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},sendNoop:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off.",title:"Send Noop",required:!1,deprecated:!1},activePortRange:{kind:"parameter",type:"string",description:"Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports.",title:"Active Port Range",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",title:"Auto Create",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"131072",description:"Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files).",title:"Buffer Size",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH",title:"Connect Timeout",required:!1,deprecated:!1},ftpClient:{kind:"parameter",type:"object",description:"To use a custom instance of FTPClient",title:"Ftp Client",required:!1,deprecated:!1},ftpClientConfig:{kind:"parameter",type:"object",description:"To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use.",title:"Ftp Client Config",required:!1,deprecated:!1},ftpClientConfigParameters:{kind:"parameter",type:"object",description:"Used by FtpComponent to provide additional parameters for the FTPClientConfig",title:"Ftp Client Config Parameters",required:!1,deprecated:!1},ftpClientParameters:{kind:"parameter",type:"object",description:"Used by FtpComponent to provide additional parameters for the FTPClient",title:"Ftp Client Parameters",required:!1,deprecated:!1},maximumReconnectAttempts:{kind:"parameter",type:"integer",description:"Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.",title:"Maximum Reconnect Attempts",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Delay in millis Camel will wait before performing a reconnect attempt.",title:"Reconnect Delay",required:!1,deprecated:!1},siteCommand:{kind:"parameter",type:"string",description:"Sets optional site command(s) to be executed after successful login. Multiple site commands can be separated using a new line character.",title:"Site Command",required:!1,deprecated:!1},soTimeout:{kind:"parameter",type:"duration",defaultValue:"300000",description:"Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended option is to set this to 300000 so as not have a hanged connection. On SFTP this option is set as timeout on the JSCH Session instance.",title:"So Timeout",required:!1,deprecated:!1},stepwise:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether we should stepwise change directories while traversing file structures when downloading files, or as well when uploading a file to a directory. You can disable this if you for example are in a situation where you cannot change directory on the FTP server due security reasons. Stepwise cannot be used together with streamDownload.",title:"Stepwise",required:!1,deprecated:!1},throwExceptionOnConnectFailed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should an exception be thrown if connection failed (exhausted)By default exception is not thrown and a WARN is logged. You can use this to enable exception being thrown and handle the thrown exception from the org.apache.camel.spi.PollingConsumerPollStrategy rollback method.",title:"Throw Exception On Connect Failed",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Sets the data timeout for waiting for reply Used only by FTPClient",title:"Timeout",required:!1,deprecated:!1},antExclude:{kind:"parameter",type:"string",description:"Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",title:"Ant Exclude",required:!1,deprecated:!1},antFilterCaseSensitive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets case sensitive flag on ant filter.",title:"Ant Filter Case Sensitive",required:!1,deprecated:!1},antInclude:{kind:"parameter",type:"string",description:"Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",title:"Ant Include",required:!1,deprecated:!1},eagerMaxMessagesPerPoll:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",title:"Eager Max Messages Per Poll",required:!1,deprecated:!1},exclude:{kind:"parameter",type:"string",description:"Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Exclude",required:!1,deprecated:!1},excludeExt:{kind:"parameter",type:"string",description:"Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Exclude Ext",required:!1,deprecated:!1},filter:{kind:"parameter",type:"object",description:"Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",title:"Filter",required:!1,deprecated:!1},filterDirectory:{kind:"parameter",type:"string",description:"Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",title:"Filter Directory",required:!1,deprecated:!1},filterFile:{kind:"parameter",type:"string",description:"Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",title:"Filter File",required:!1,deprecated:!1},idempotent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",title:"Idempotent",required:!1,deprecated:!1},idempotentKey:{kind:"parameter",type:"string",description:"To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",title:"Idempotent Key",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",title:"Idempotent Repository",required:!1,deprecated:!1},include:{kind:"parameter",type:"string",description:"Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Include",required:!1,deprecated:!1},includeExt:{kind:"parameter",type:"string",description:"Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Include Ext",required:!1,deprecated:!1},maxDepth:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum depth to traverse when recursively processing a directory.",title:"Max Depth",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",title:"Max Messages Per Poll",required:!1,deprecated:!1},minDepth:{kind:"parameter",type:"integer",description:"The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",title:"Min Depth",required:!1,deprecated:!1},move:{kind:"parameter",type:"string",description:"Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",title:"Move",required:!1,deprecated:!1},exclusiveReadLockStrategy:{kind:"parameter",type:"object",description:"Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",title:"Exclusive Read Lock Strategy",required:!1,deprecated:!1},readLock:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","markerFile","fileLock","rename","changed","idempotent","idempotent-changed","idempotent-rename"],description:"Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan.",title:"Read Lock",required:!1,deprecated:!1},readLockCheckInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Check Interval",required:!1,deprecated:!1},readLockDeleteOrphanLockFiles:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",title:"Read Lock Delete Orphan Lock Files",required:!1,deprecated:!1},readLockLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename.",title:"Read Lock Logging Level",required:!1,deprecated:!1},readLockMarkerFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",title:"Read Lock Marker File",required:!1,deprecated:!1},readLockMinAge:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",title:"Read Lock Min Age",required:!1,deprecated:!1},readLockMinLength:{kind:"parameter",type:"integer",defaultValue:"1",description:"This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",title:"Read Lock Min Length",required:!1,deprecated:!1},readLockRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Remove On Commit",required:!1,deprecated:!1},readLockRemoveOnRollback:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",title:"Read Lock Remove On Rollback",required:!1,deprecated:!1},readLockTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},account:{kind:"parameter",type:"string",description:"Account to use for login",title:"Account",required:!1,deprecated:!1},disableSecureDataChannelDefaults:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to disable default options when using secure data channel. This allows you to be in full control what the execPbsz and execProt setting should be used. Default is false",title:"Disable Secure Data Channel Defaults",required:!1,deprecated:!1},execPbsz:{kind:"parameter",type:"integer",description:"When using secure data channel you can set the exec protection buffer size",title:"Exec Pbsz",required:!1,deprecated:!1},execProt:{kind:"parameter",type:"string",description:"The exec protection level PROT command. C - Clear S - Safe(SSL protocol only) E - Confidential(SSL protocol only) P - Private",title:"Exec Prot",required:!1,deprecated:!1},ftpClientKeyStoreParameters:{kind:"parameter",type:"object",description:"Set the key store parameters",title:"Ftp Client Key Store Parameters",required:!1,deprecated:!1},ftpClientTrustStoreParameters:{kind:"parameter",type:"object",description:"Set the trust store parameters",title:"Ftp Client Trust Store Parameters",required:!1,deprecated:!1},implicit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the security mode (Implicit/Explicit). true - Implicit Mode / False - Explicit Mode",title:"Implicit",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use for login",title:"Password",required:!1,deprecated:!1},securityProtocol:{kind:"parameter",type:"string",defaultValue:"TLSv1.3",description:"Set the underlying security protocol.",title:"Security Protocol",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol().",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use for login",title:"Username",required:!1,deprecated:!1},shuffle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To shuffle the list of files (sort in random order)",title:"Shuffle",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",description:"Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",title:"Sort By",required:!1,deprecated:!1},sorter:{kind:"parameter",type:"object",description:"Pluggable sorter as a java.util.Comparator class.",title:"Sorter",required:!1,deprecated:!1}}},geocoder:{type:"object",title:"Geocoder",group:"api,search",icon:"generic24.png",description:"Find geocodes (latitude and longitude) for a given address or the other way round.",properties:{address:{kind:"path",type:"string",description:"The geo address which should be prefixed with address:",title:"Address",required:!1,deprecated:!1},latlng:{kind:"path",type:"string",description:"The geo latitude and longitude which should be prefixed with latlng:",title:"Latlng",required:!1,deprecated:!1},headersOnly:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to only enrich the Exchange with headers, and leave the body as-is.",title:"Headers Only",required:!1,deprecated:!1},language:{kind:"parameter",type:"string",defaultValue:"en",description:"The language to use.",title:"Language",required:!1,deprecated:!1},serverUrl:{kind:"parameter",type:"string",description:"URL to the geocoder server. Mandatory for Nominatim server.",title:"Server URL",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",enum:["NOMINATIM","GOOGLE"],description:"Type of GeoCoding server. Supported Nominatim and Google.",title:"GeoCoding Type",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyAuthDomain:{kind:"parameter",type:"string",description:"Proxy Authentication Domain to access Google GeoCoding server.",title:"Proxy Auth Domain",required:!1,deprecated:!1},proxyAuthHost:{kind:"parameter",type:"string",description:"Proxy Authentication Host to access Google GeoCoding server.",title:"Proxy Auth Host",required:!1,deprecated:!1},proxyAuthMethod:{kind:"parameter",type:"string",description:"Authentication Method to Google GeoCoding server.",title:"Proxy Auth Method",required:!1,deprecated:!1},proxyAuthPassword:{kind:"parameter",type:"string",description:"Proxy Password to access GeoCoding server.",title:"Proxy Auth Password",required:!1,deprecated:!1},proxyAuthUsername:{kind:"parameter",type:"string",description:"Proxy Username to access GeoCoding server.",title:"Proxy Auth Username",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy Host to access GeoCoding server.",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy Port to access GeoCoding server.",title:"Proxy Port",required:!1,deprecated:!1},apiKey:{kind:"parameter",type:"string",description:"API Key to access Google. Mandatory for Google GeoCoding server.",title:"Api Key",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID to access Google GeoCoding server.",title:"Client Id",required:!1,deprecated:!1},clientKey:{kind:"parameter",type:"string",description:"Client Key to access Google GeoCoding server.",title:"Client Key",required:!1,deprecated:!1}}},git:{type:"object",title:"Git",group:"file",icon:"generic24.png",description:"Perform operations on git repositories.",properties:{localPath:{kind:"path",type:"string",description:"Local repository path",title:"Local Path",required:!0,deprecated:!1},branchName:{kind:"parameter",type:"string",description:"The branch name to work on",title:"Branch Name",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",enum:["commit","tag","branch"],description:"The consumer type",title:"Type",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},allowEmpty:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The flag to manage empty git commits",title:"Allow Empty",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",enum:["clone","init","add","remove","commit","commitAll","createBranch","deleteBranch","createTag","deleteTag","status","log","push","pull","showBranches","cherryPick","remoteAdd","remoteList"],description:"The operation to do on the repository",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Remote repository password",title:"Password",required:!1,deprecated:!1},remoteName:{kind:"parameter",type:"string",description:"The remote repository name to use in particular operation like pull",title:"Remote Name",required:!1,deprecated:!1},remotePath:{kind:"parameter",type:"string",description:"The remote repository path",title:"Remote Path",required:!1,deprecated:!1},tagName:{kind:"parameter",type:"string",description:"The tag name to work on",title:"Tag Name",required:!1,deprecated:!1},targetBranchName:{kind:"parameter",type:"string",defaultValue:"master",description:"Name of target branch in merge operation. If not supplied will try to use init.defaultBranch git configs. If not configured will use default value",title:"Target Branch Name",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Remote repository username",title:"Username",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},gitConfigFile:{kind:"parameter",type:"string",description:"A String with path to a .gitconfig file",title:"Git Config File",required:!1,deprecated:!1}}},github:{type:"object",title:"GitHub",group:"file,cloud,api",icon:"generic24.png",description:"Interact with the GitHub API.",properties:{type:{kind:"path",type:"object",enum:["CLOSEPULLREQUEST","PULLREQUESTCOMMENT","COMMIT","PULLREQUEST","TAG","PULLREQUESTSTATE","PULLREQUESTFILES","GETCOMMITFILE","CREATEISSUE","EVENT"],description:"What git operation to execute",title:"Type",required:!0,deprecated:!1},branchName:{kind:"path",type:"string",description:"Name of branch",title:"Branch Name",required:!1,deprecated:!1},repoName:{kind:"parameter",type:"string",description:"GitHub repository name",title:"Repo Name",required:!0,deprecated:!1},repoOwner:{kind:"parameter",type:"string",description:"GitHub repository owner (organization)",title:"Repo Owner",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},startingSha:{kind:"parameter",type:"string",defaultValue:"last",description:"The starting sha to use for polling commits with the commit consumer. The value can either be a sha for the sha to start from, or use beginning to start from the beginning, or last to start from the last commit.",title:"Starting Sha",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eventFetchStrategy:{kind:"parameter",type:"object",description:"To specify a custom strategy that configures how the EventsConsumer fetches events.",title:"Event Fetch Strategy",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"To use the given encoding when getting a git commit file",title:"Encoding",required:!1,deprecated:!1},state:{kind:"parameter",type:"string",enum:["error","failure","pending","success"],description:"To set git commit status state",title:"State",required:!1,deprecated:!1},targetUrl:{kind:"parameter",type:"string",description:"To set git commit status target url",title:"Target Url",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"GitHub OAuth token. Must be configured on either component or endpoint.",title:"Oauth Token",required:!1,deprecated:!1}}},"google-bigquery":{type:"object",title:"Google BigQuery",group:"cloud,bigdata",icon:"generic24.png",description:"Google BigQuery data warehouse for analytics.",properties:{projectId:{kind:"path",type:"string",description:"Google Cloud Project Id",title:"Project Id",required:!0,deprecated:!1},datasetId:{kind:"path",type:"string",description:"BigQuery Dataset Id",title:"Dataset Id",required:!0,deprecated:!1},tableId:{kind:"path",type:"string",description:"BigQuery table id",title:"Table Id",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"ConnectionFactory to obtain connection to Bigquery Service. If not provided the default one will be used",title:"Connection Factory",required:!1,deprecated:!1},useAsInsertId:{kind:"parameter",type:"string",description:"Field name to use as insert id",title:"Use As Insert Id",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account to google cloud platform",title:"Service Account Key",required:!1,deprecated:!1}}},"google-bigquery-sql":{type:"object",title:"Google BigQuery Standard SQL",group:"cloud,messaging",icon:"generic24.png",description:"Access Google Cloud BigQuery service using SQL queries.",properties:{projectId:{kind:"path",type:"string",description:"Google Cloud Project Id",title:"Project Id",required:!0,deprecated:!1},queryString:{kind:"path",type:"string",description:"BigQuery standard SQL query",title:"Query String",required:!0,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"ConnectionFactory to obtain connection to Bigquery Service. If not provided the default one will be used",title:"Connection Factory",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account to google cloud platform",title:"Service Account Key",required:!1,deprecated:!1}}},"google-calendar":{type:"object",title:"Google Calendar",group:"api,cloud",icon:"generic24.png",description:"Perform various operations on a Google Calendar.",properties:{apiName:{kind:"path",type:"object",enum:["ACL","LIST","CALENDARS","CHANNELS","COLORS","FREEBUSY","EVENTS","SETTINGS"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["calendarImport","clear","delete","get","insert","instances","list","move","patch","query","quickAdd","stop","update","watch"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google calendar application name. Example would be camel-google-calendar/1.0",title:"Application Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the calendar application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",defaultValue:"https://www.googleapis.com/auth/calendar",description:"Specifies the level of permissions you want a calendar application to have to a user account. You can separate multiple scopes by comma. See https://developers.google.com/google-apps/calendar/auth for more info.",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the calendar application",title:"Client Secret",required:!1,deprecated:!1},emailAddress:{kind:"parameter",type:"string",description:"The emailAddress of the Google Service Account.",title:"Email Address",required:!1,deprecated:!1},p12FileName:{kind:"parameter",type:"string",description:"The name of the p12 file which has the private key to use with the Google Service Account.",title:"P12 File Name",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account. Accept base64 adding the prefix base64:",title:"Service Account Key",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"The email address of the user the application is trying to impersonate in the service account flow",title:"User",required:!1,deprecated:!1}}},"google-calendar-stream":{type:"object",title:"Google Calendar Stream",group:"cloud",icon:"generic24.png",description:"Poll for changes in a Google Calendar.",properties:{index:{kind:"path",type:"string",description:"Specifies an index for the endpoint",title:"Index",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google Calendar application name. Example would be camel-google-calendar/1.0",title:"Application Name",required:!1,deprecated:!1},calendarId:{kind:"parameter",type:"string",defaultValue:"primary",description:"The calendarId to be used",title:"Calendar Id",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the calendar application",title:"Client Id",required:!1,deprecated:!1},considerLastUpdate:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Take into account the lastUpdate of the last event polled as start date for the next poll",title:"Consider Last Update",required:!1,deprecated:!1},consumeFromNow:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Consume events in the selected calendar from now on",title:"Consume From Now",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",defaultValue:"10",description:"Max results to be returned",title:"Max Results",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"The query to execute on calendar",title:"Query",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"Specifies the level of permissions you want a calendar application to have to a user account. See https://developers.google.com/calendar/auth for more info.",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},syncFlow:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sync events, see https://developers.google.com/calendar/v3/sync Note: not compatible with: 'query' and 'considerLastUpdate' parameters",title:"Sync Flow",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the calendar application",title:"Client Secret",required:!1,deprecated:!1},emailAddress:{kind:"parameter",type:"string",description:"The emailAddress of the Google Service Account.",title:"Email Address",required:!1,deprecated:!1},p12FileName:{kind:"parameter",type:"string",description:"The name of the p12 file which has the private key to use with the Google Service Account.",title:"P12 File Name",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account. Accept base64 adding the prefix base64:",title:"Service Account Key",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"The email address of the user the application is trying to impersonate in the service account flow.",title:"User",required:!1,deprecated:!1}}},"google-drive":{type:"object",title:"Google Drive",group:"file,cloud,api",icon:"generic24.png",description:"Manage files in Google Drive.",properties:{apiName:{kind:"path",type:"object",enum:["DRIVE_ABOUT","DRIVE_CHANGES","DRIVE_CHANNELS","DRIVE_COMMENTS","DRIVE_DRIVES","DRIVE_FILES","DRIVE_PERMISSIONS","DRIVE_REPLIES","DRIVE_REVISIONS","DRIVE_TEAMDRIVES"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["copy","delete","get","getIdForEmail","insert","list","patch","stop","touch","trash","untrash","update","watch"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google drive application name. Example would be camel-google-drive/1.0",title:"Application Name",required:!1,deprecated:!1},clientFactory:{kind:"parameter",type:"object",description:"To use the GoogleCalendarClientFactory as factory for creating the client. Will by default use BatchGoogleDriveClientFactory",title:"Client Factory",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the drive application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"Specifies the level of permissions you want a drive application to have to a user account. See https://developers.google.com/drive/web/scopes for more info.",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the drive application",title:"Client Secret",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account. Accept base64 adding the prefix base64:",title:"Service Account Key",required:!1,deprecated:!1}}},"google-functions":{type:"object",title:"Google Cloud Functions",group:"cloud",icon:"generic24.png",description:"Manage and invoke Google Cloud Functions",properties:{functionName:{kind:"path",type:"string",description:"The user-defined name of the function",title:"Function Name",required:!0,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key to authenticate an application as a service account",title:"Service Account Key",required:!1,deprecated:!1},location:{kind:"parameter",type:"string",description:"The Google Cloud Location (Region) where the Function is located",title:"Location",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listFunctions","getFunction","callFunction","generateDownloadUrl","generateUploadUrl","createFunction","updateFunction","deleteFunction"],description:"The operation to perform on the producer.",title:"Operation",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies if the request is a pojo request",title:"Pojo Request",required:!1,deprecated:!1},project:{kind:"parameter",type:"string",description:"The Google Cloud Project name where the Function is located",title:"Project",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"The client to use during service invocation.",title:"Client",required:!1,deprecated:!1}}},"google-mail":{type:"object",title:"Google Mail",group:"cloud,api,mail",icon:"generic24.png",description:"Manage messages in Google Mail.",properties:{apiName:{kind:"path",type:"object",enum:["THREADS","MESSAGES","ATTACHMENTS","LABELS","HISTORY","DRAFTS","USERS"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["attachments","create","delete","get","getProfile","gmailImport","insert","list","modify","patch","send","stop","trash","untrash","update","watch"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google mail application name. Example would be camel-google-mail/1.0",title:"Application Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the mail application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"GMail scopes",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the mail application",title:"Client Secret",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account. Accept base64 adding the prefix base64:",title:"Service Account Key",required:!1,deprecated:!1}}},"google-mail-stream":{type:"object",title:"Google Mail Stream",group:"cloud,mail",icon:"generic24.png",description:"Poll for incoming messages in Google Mail.",properties:{index:{kind:"path",type:"string",description:"Currently not in use",title:"Index",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google mail application name. Example would be camel-google-mail/1.0",title:"Application Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the mail application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},labels:{kind:"parameter",type:"string",description:"Comma separated list of labels to take into account",title:"Labels",required:!1,deprecated:!1},markAsRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Mark the message as read once it has been consumed",title:"Mark As Read",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",defaultValue:"10",description:"Max results to be returned",title:"Max Results",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",defaultValue:"is:unread",description:"The query to execute on gmail box",title:"Query",required:!1,deprecated:!1},raw:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to store the entire email message in an RFC 2822 formatted and base64url encoded string (in JSon format), in the Camel message body.",title:"Raw",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"GMail scopes",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the mail application",title:"Client Secret",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Sets .json file with credentials for Service account",title:"Service Account Key",required:!1,deprecated:!1}}},"google-pubsub":{type:"object",title:"Google Pubsub",group:"cloud,messaging",icon:"generic24.png",description:"Send and receive messages to/from Google Cloud Platform PubSub Service.",properties:{projectId:{kind:"path",type:"string",description:"The Google Cloud PubSub Project Id",title:"Project Id",required:!0,deprecated:!1},destinationName:{kind:"path",type:"string",description:"The Destination Name. For the consumer this will be the subscription name, while for the producer this will be the topic name.",title:"Destination Name",required:!0,deprecated:!1},authenticate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Use Credentials when interacting with PubSub service (no authentication is required when using emulator).",title:"Authenticate",required:!1,deprecated:!1},loggerId:{kind:"parameter",type:"string",description:"Logger ID to use when a match to the parent route required",title:"Logger Id",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"The Service account key that can be used as credentials for the PubSub publisher/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Service Account Key",required:!1,deprecated:!1},ackMode:{kind:"parameter",type:"object",defaultValue:"AUTO",enum:["AUTO","NONE"],description:"AUTO = exchange gets ack'ed/nack'ed on completion. NONE = downstream process has to ack/nack explicitly",title:"Ack Mode",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of parallel streams consuming from the subscription",title:"Concurrent Consumers",required:!1,deprecated:!1},maxAckExtensionPeriod:{kind:"parameter",type:"integer",defaultValue:"3600",description:"Set the maximum period a message ack deadline will be extended. Value in seconds",title:"Max Ack Extension Period",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"1",description:"The max number of messages to receive from the server in a single API call",title:"Max Messages Per Poll",required:!1,deprecated:!1},synchronousPull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Synchronously pull batches of messages",title:"Synchronous Pull",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},messageOrderingEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should message ordering be enabled",title:"Message Ordering Enabled",required:!1,deprecated:!1},pubsubEndpoint:{kind:"parameter",type:"string",description:"Pub/Sub endpoint to use. Required when using message ordering, and ensures that messages are received in order even when multiple publishers are used",title:"Pubsub Endpoint",required:!1,deprecated:!1},serializer:{kind:"parameter",type:"object",description:"A custom GooglePubsubSerializer to use for serializing message payloads in the producer",title:"Serializer",required:!1,deprecated:!1}}},"google-secret-manager":{type:"object",title:"Google Secret Manager",group:"cloud",icon:"generic24.png",description:"Manage Google Secret Manager Secrets",properties:{project:{kind:"path",type:"string",description:"The Google Cloud Project Id name related to the Secret Manager",title:"Project",required:!0,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key to authenticate an application as a service account",title:"Service Account Key",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["createSecret"],description:"The operation to perform on the producer.",title:"Operation",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies if the request is a pojo request",title:"Pojo Request",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"The client to use during service invocation.",title:"Client",required:!1,deprecated:!1}}},"google-sheets":{type:"object",title:"Google Sheets",group:"cloud,document",icon:"generic24.png",description:"Manage spreadsheets in Google Sheets.",properties:{apiName:{kind:"path",type:"object",enum:["SPREADSHEETS","DATA"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["create","get","update","append","batchUpdate","clear"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google Sheets application name. Example would be camel-google-sheets/1.0",title:"Application Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the sheets application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"Specifies the level of permissions you want a sheets application to have to a user account. See https://developers.google.com/identity/protocols/googlescopes for more info.",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},splitResult:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When consumer return an array or collection this will generate one exchange per element, and their routes will be executed once for each exchange. Set this value to false to use a single exchange for the entire list or array.",title:"Split Result",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the sheets application",title:"Client Secret",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Sets .json file with credentials for Service account",title:"Service Account Key",required:!1,deprecated:!1}}},"google-sheets-stream":{type:"object",title:"Google Sheets Stream",group:"cloud,document",icon:"generic24.png",description:"Poll for changes in Google Sheets.",properties:{spreadsheetId:{kind:"path",type:"string",description:"Specifies the spreadsheet identifier that is used to identify the target to obtain.",title:"Spreadsheet Id",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google Sheets application name. Example would be camel-google-sheets/1.0",title:"Application Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the sheets application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},includeGridData:{kind:"parameter",type:"boolean",defaultValue:"false",description:"True if grid data should be returned.",title:"Include Grid Data",required:!1,deprecated:!1},majorDimension:{kind:"parameter",type:"string",defaultValue:"ROWS",enum:["ROWS","COLUMNS","DIMENSION_UNSPECIFIED"],description:"Specifies the major dimension that results should use..",title:"Major Dimension",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",description:"Specify the maximum number of returned results. This will limit the number of rows in a returned value range data set or the number of returned value ranges in a batch request.",title:"Max Results",required:!1,deprecated:!1},range:{kind:"parameter",type:"string",description:"Specifies the range of rows and columns in a sheet to get data from.",title:"Range",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"Specifies the level of permissions you want a sheets application to have to a user account. See https://developers.google.com/identity/protocols/googlescopes for more info.",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},splitResults:{kind:"parameter",type:"boolean",defaultValue:"false",description:"True if value range result should be split into rows or columns to process each of them individually. When true each row or column is represented with a separate exchange in batch processing. Otherwise value range object is used as exchange junk size.",title:"Split Results",required:!1,deprecated:!1},valueRenderOption:{kind:"parameter",type:"string",defaultValue:"FORMATTED_VALUE",enum:["FORMATTED_VALUE","UNFORMATTED_VALUE","FORMULA"],description:"Determines how values should be rendered in the output.",title:"Value Render Option",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the sheets application",title:"Client Secret",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Sets .json file with credentials for Service account",title:"Service Account Key",required:!1,deprecated:!1}}},"google-storage":{type:"object",title:"Google Storage",group:"cloud",icon:"generic24.png",description:"Store and retrieve objects from Google Cloud Storage Service using the google-cloud-storage library.",properties:{bucketName:{kind:"path",type:"string",description:"Bucket name or ARN",title:"Bucket Name",required:!0,deprecated:!1},autoCreateBucket:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting the autocreation of the bucket bucketName.",title:"Auto Create Bucket",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Service Account Key",required:!1,deprecated:!1},storageClass:{kind:"parameter",type:"object",defaultValue:"STANDARD",description:"The Cloud Storage class to use when creating the new buckets",title:"Storage Class",required:!1,deprecated:!1},storageClient:{kind:"parameter",type:"object",description:"The storage client",title:"Storage Client",required:!1,deprecated:!1},storageLocation:{kind:"parameter",type:"string",defaultValue:"US-EAST1",description:"The Cloud Storage location to use when creating the new buckets",title:"Storage Location",required:!1,deprecated:!1},deleteAfterRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Delete objects from the bucket after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls.",title:"Delete After Read",required:!1,deprecated:!1},destinationBucket:{kind:"parameter",type:"string",description:"Define the destination bucket where an object must be moved when moveAfterRead is set to true.",title:"Destination Bucket",required:!1,deprecated:!1},downloadFileName:{kind:"parameter",type:"string",description:"The folder or filename to use when downloading the blob. By default, this specifies the folder name, and the name of the file is the blob name. For example, setting this to mydownload will be the same as setting mydownload/${file:name}. You can use dynamic expressions for fine-grained control. For example, you can specify ${date:now:yyyyMMdd}/${file:name} to store the blob in sub folders based on today's day. Only ${file:name} and ${file:name.noext} is supported as dynamic tokens for the blob name.",title:"Download File Name",required:!1,deprecated:!1},filter:{kind:"parameter",type:"string",description:"A regular expression to include only blobs with name matching it.",title:"Filter",required:!1,deprecated:!1},includeBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata.",title:"Include Body",required:!1,deprecated:!1},includeFolders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those",title:"Include Folders",required:!1,deprecated:!1},moveAfterRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Move objects from the origin bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved.",title:"Move After Read",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},objectName:{kind:"parameter",type:"string",description:"The Object name inside the bucket",title:"Object Name",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["copyObject","listObjects","deleteObject","deleteBucket","listBuckets","getObject","createDownloadLink"],description:"Set the operation for the producer",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},grape:{type:"object",title:"Grape",group:"management",icon:"generic24.png",description:"Fetch, load and manage additional jars dynamically after Camel Context was started.",properties:{defaultCoordinates:{kind:"path",type:"string",description:"Maven coordinates to use as default to grab if the message body is empty.",title:"Default Coordinates",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},graphql:{type:"object",title:"GraphQL",group:"api",icon:"generic24.png",description:"Send GraphQL queries and mutations to external systems.",properties:{httpUri:{kind:"path",type:"string",description:"The GraphQL server URI.",title:"Http Uri",required:!0,deprecated:!1},operationName:{kind:"parameter",type:"string",description:"The query or mutation name.",title:"Operation Name",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"The proxy host in the format hostname:port.",title:"Proxy Host",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"The query text.",title:"Query",required:!1,deprecated:!1},queryFile:{kind:"parameter",type:"string",description:"The query file name located in the classpath.",title:"Query File",required:!1,deprecated:!1},queryHeader:{kind:"parameter",type:"string",description:"The name of a header containing the GraphQL query.",title:"Query Header",required:!1,deprecated:!1},variables:{kind:"parameter",type:"object",description:"The JsonObject instance containing the operation variables.",title:"Variables",required:!1,deprecated:!1},variablesHeader:{kind:"parameter",type:"string",description:"The name of a header containing a JsonObject instance containing the operation variables.",title:"Variables Header",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token sent in the Authorization header.",title:"Access Token",required:!1,deprecated:!1},jwtAuthorizationType:{kind:"parameter",type:"string",defaultValue:"Bearer",description:"The JWT Authorization type. Default is Bearer.",title:"Jwt Authorization Type",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for Basic authentication.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for Basic authentication.",title:"Username",required:!1,deprecated:!1}}},grpc:{type:"object",title:"gRPC",group:"rpc",icon:"generic24.png",description:"Expose gRPC endpoints and access external gRPC endpoints.",properties:{host:{kind:"path",type:"string",description:"The gRPC server host name. This is localhost or 0.0.0.0 when being a consumer or remote server host name when using producer.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The gRPC local or remote server port",title:"Port",required:!0,deprecated:!1},service:{kind:"path",type:"string",description:"Fully qualified service name from the protocol buffer descriptor file (package dot service definition name)",title:"Service",required:!0,deprecated:!1},flowControlWindow:{kind:"parameter",type:"integer",defaultValue:"1048576",description:"The HTTP/2 flow control window size (MiB)",title:"Flow Control Window",required:!1,deprecated:!1},maxMessageSize:{kind:"parameter",type:"integer",defaultValue:"4194304",description:"The maximum message size allowed to be received/sent (MiB)",title:"Max Message Size",required:!1,deprecated:!1},autoDiscoverServerInterceptors:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting the autoDiscoverServerInterceptors mechanism, if true, the component will look for a ServerInterceptor instance in the registry automatically otherwise it will skip that checking.",title:"Auto Discover Server Interceptors",required:!1,deprecated:!1},consumerStrategy:{kind:"parameter",type:"object",defaultValue:"PROPAGATION",enum:["AGGREGATION","PROPAGATION"],description:"This option specifies the top-level strategy for processing service requests and responses in streaming mode. If an aggregation strategy is selected, all requests will be accumulated in the list, then transferred to the flow, and the accumulated responses will be sent to the sender. If a propagation strategy is selected, request is sent to the stream, and the response will be immediately sent back to the sender.",title:"Consumer Strategy",required:!1,deprecated:!1},forwardOnCompleted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines if onCompleted events should be pushed to the Camel route.",title:"Forward On Completed",required:!1,deprecated:!1},forwardOnError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines if onError events should be pushed to the Camel route. Exceptions will be set as message body.",title:"Forward On Error",required:!1,deprecated:!1},maxConcurrentCallsPerConnection:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum number of concurrent calls permitted for each incoming server connection",title:"Max Concurrent Calls Per Connection",required:!1,deprecated:!1},routeControlledStreamObserver:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Lets the route to take control over stream observer. If this value is set to true, then the response observer of gRPC call will be set with the name GrpcConstants.GRPC_RESPONSE_OBSERVER in the Exchange object. Please note that the stream observer's onNext(), onError(), onCompleted() methods should be called in the route.",title:"Route Controlled Stream Observer",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},autoDiscoverClientInterceptors:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting the autoDiscoverClientInterceptors mechanism, if true, the component will look for a ClientInterceptor instance in the registry automatically otherwise it will skip that checking.",title:"Auto Discover Client Interceptors",required:!1,deprecated:!1},method:{kind:"parameter",type:"string",description:"gRPC method name",title:"Method",required:!1,deprecated:!1},producerStrategy:{kind:"parameter",type:"object",defaultValue:"SIMPLE",enum:["SIMPLE","STREAMING"],description:"The mode used to communicate with a remote gRPC server. In SIMPLE mode a single exchange is translated into a remote procedure call. In STREAMING mode all exchanges will be sent within the same request (input and output of the recipient gRPC service must be of type 'stream').",title:"Producer Strategy",required:!1,deprecated:!1},streamRepliesTo:{kind:"parameter",type:"string",description:"When using STREAMING client mode, it indicates the endpoint where responses should be forwarded.",title:"Stream Replies To",required:!1,deprecated:!1},userAgent:{kind:"parameter",type:"string",description:"The user agent header passed to the server",title:"User Agent",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},authenticationType:{kind:"parameter",type:"object",defaultValue:"NONE",enum:["NONE","GOOGLE","JWT"],description:"Authentication method type in advance to the SSL/TLS negotiation",title:"Authentication Type",required:!1,deprecated:!1},jwtAlgorithm:{kind:"parameter",type:"object",defaultValue:"HMAC256",enum:["HMAC256","HMAC384","HMAC512"],description:"JSON Web Token sign algorithm",title:"Jwt Algorithm",required:!1,deprecated:!1},jwtIssuer:{kind:"parameter",type:"string",description:"JSON Web Token issuer",title:"Jwt Issuer",required:!1,deprecated:!1},jwtSecret:{kind:"parameter",type:"string",description:"JSON Web Token secret",title:"Jwt Secret",required:!1,deprecated:!1},jwtSubject:{kind:"parameter",type:"string",description:"JSON Web Token subject",title:"Jwt Subject",required:!1,deprecated:!1},keyCertChainResource:{kind:"parameter",type:"string",description:"The X.509 certificate chain file resource in PEM format link",title:"Key Cert Chain Resource",required:!1,deprecated:!1},keyPassword:{kind:"parameter",type:"string",description:"The PKCS#8 private key file password",title:"Key Password",required:!1,deprecated:!1},keyResource:{kind:"parameter",type:"string",description:"The PKCS#8 private key file resource in PEM format link",title:"Key Resource",required:!1,deprecated:!1},negotiationType:{kind:"parameter",type:"object",defaultValue:"PLAINTEXT",enum:["TLS","PLAINTEXT_UPGRADE","PLAINTEXT"],description:"Identifies the security negotiation type used for HTTP/2 communication",title:"Negotiation Type",required:!1,deprecated:!1},serviceAccountResource:{kind:"parameter",type:"string",description:"Service Account key file in JSON format resource link supported by the Google Cloud SDK",title:"Service Account Resource",required:!1,deprecated:!1},trustCertCollectionResource:{kind:"parameter",type:"string",description:"The trusted certificates collection file resource in PEM format for verifying the remote endpoint's certificate",title:"Trust Cert Collection Resource",required:!1,deprecated:!1}}},"guava-eventbus":{type:"object",title:"Guava EventBus",group:"messaging",icon:"generic24.png",description:"Send and receive messages to/from Guava EventBus.",properties:{eventBusRef:{kind:"path",type:"string",description:"To lookup the Guava EventBus from the registry with the given name",title:"Event Bus Ref",required:!1,deprecated:!1},eventClass:{kind:"parameter",type:"string",description:"If used on the consumer side of the route, will filter events received from the EventBus to the instances of the class and superclasses of eventClass. Null value of this option is equal to setting it to the java.lang.Object i.e. the consumer will capture all messages incoming to the event bus. This option cannot be used together with listenerInterface option.",title:"Event Class",required:!1,deprecated:!1},listenerInterface:{kind:"parameter",type:"string",description:"The interface with method(s) marked with the Subscribe annotation. Dynamic proxy will be created over the interface so it could be registered as the EventBus listener. Particularly useful when creating multi-event listeners and for handling DeadEvent properly. This option cannot be used together with eventClass option.",title:"Listener Interface",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hashicorp-vault":{type:"object",title:"Hashicorp Vault",group:"cloud,cloud",icon:"generic24.png",description:"Manage secrets in Hashicorp Vault Service",properties:{secretsEngine:{kind:"path",type:"string",description:"Vault Name to be used",title:"Secrets Engine",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"Hashicorp Vault instance host to be used",title:"Host",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["createSecret","getSecret","deleteSecret","listSecrets"],description:"Operation to be performed",title:"Operation",required:!1,deprecated:!1},port:{kind:"parameter",type:"string",defaultValue:"8200",description:"Hashicorp Vault instance port to be used",title:"Port",required:!1,deprecated:!1},scheme:{kind:"parameter",type:"string",defaultValue:"https",description:"Hashicorp Vault instance scheme to be used",title:"Scheme",required:!1,deprecated:!1},secretPath:{kind:"parameter",type:"string",description:"Hashicorp Vault instance secret Path to be used",title:"Secret Path",required:!1,deprecated:!1},vaultTemplate:{kind:"parameter",type:"object",description:"Instance of Vault template",title:"Vault Template",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"Token to be used",title:"Token",required:!1,deprecated:!1}}},"hazelcast-atomicvalue":{type:"object",title:"Hazelcast Atomic Number",group:"cache,clustering",icon:"generic24.png",description:"Increment, decrement, set, etc. Hazelcast atomic number (a grid wide number).",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-instance":{type:"object",title:"Hazelcast Instance",group:"cache,clustering",icon:"generic24.png",description:"Consume join/leave events of a cache instance in a Hazelcast cluster.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},"hazelcast-list":{type:"object",title:"Hazelcast List",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast distributed list.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-map":{type:"object",title:"Hazelcast Map",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast distributed map.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-multimap":{type:"object",title:"Hazelcast Multimap",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast distributed multimap.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-queue":{type:"object",title:"Hazelcast Queue",group:"cache,clustering,messaging",icon:"generic24.png",description:"Perform operations on Hazelcast distributed queue.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},pollingTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Define the polling timeout of the Queue consumer in Poll mode",title:"Polling Timeout",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"Define the Pool size for Queue Consumer Executor",title:"Pool Size",required:!1,deprecated:!1},queueConsumerMode:{kind:"parameter",type:"object",defaultValue:"Listen",enum:["listen","poll"],description:"Define the Queue Consumer mode: Listen or Poll",title:"Queue Consumer Mode",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-replicatedmap":{type:"object",title:"Hazelcast Replicated Map",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast replicated map.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-ringbuffer":{type:"object",title:"Hazelcast Ringbuffer",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast distributed ringbuffer.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-seda":{type:"object",title:"Hazelcast SEDA",group:"cache,clustering",icon:"generic24.png",description:"Asynchronously send/receive Exchanges between Camel routes running on potentially distinct JVMs/hosts backed by Hazelcast BlockingQueue.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"To use concurrent consumers polling from the SEDA queue.",title:"Concurrent Consumers",required:!1,deprecated:!1},onErrorDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before consumer continues polling after an error has occurred.",title:"On Error Delay",required:!1,deprecated:!1},pollTimeout:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The timeout used when consuming from the SEDA queue. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown.",title:"Poll Timeout",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true then the consumer runs in transaction mode, where the messages in the seda queue will only be removed if the transaction commits, which happens when the processing is complete.",title:"Transacted",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true the whole Exchange will be transfered. If header or body contains not serializable objects, they will be skipped.",title:"Transfer Exchange",required:!1,deprecated:!1}}},"hazelcast-set":{type:"object",title:"Hazelcast Set",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast distributed set.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-topic":{type:"object",title:"Hazelcast Topic",group:"cache,clustering",icon:"generic24.png",description:"Send and receive messages to/from Hazelcast distributed topic.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},reliable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if the endpoint will use a reliable Topic struct or not.",title:"Reliable",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},hdfs:{type:"object",title:"HDFS",group:"bigdata,file",icon:"generic24.png",description:"Read and write from/to an HDFS filesystem using Hadoop 2.x.",properties:{hostName:{kind:"path",type:"string",description:"HDFS host to use",title:"Host Name",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"8020",description:"HDFS port to use",title:"Port",required:!1,deprecated:!1},path:{kind:"path",type:"string",description:"The directory path to use",title:"Path",required:!0,deprecated:!1},connectOnStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to connect to the HDFS file system on starting the producer/consumer. If false then the connection is created on-demand. Notice that HDFS may take up till 15 minutes to establish a connection, as it has hardcoded 45 x 20 sec redelivery. By setting this option to false allows your application to startup, and not block for up till 15 minutes.",title:"Connect On Startup",required:!1,deprecated:!1},fileSystemType:{kind:"parameter",type:"object",defaultValue:"HDFS",enum:["LOCAL","HDFS"],description:"Set to LOCAL to not use HDFS but local java.io.File instead.",title:"File System Type",required:!1,deprecated:!1},fileType:{kind:"parameter",type:"object",defaultValue:"NORMAL_FILE",enum:["NORMAL_FILE","SEQUENCE_FILE","MAP_FILE","BLOOMMAP_FILE","ARRAY_FILE"],description:"The file type to use. For more details see Hadoop HDFS documentation about the various files types.",title:"File Type",required:!1,deprecated:!1},keyType:{kind:"parameter",type:"object",defaultValue:"NULL",enum:["NULL","BOOLEAN","BYTE","SHORT","INT","FLOAT","LONG","DOUBLE","TEXT","BYTES"],description:"The type for the key in case of sequence or map files.",title:"Key Type",required:!1,deprecated:!1},namedNodes:{kind:"parameter",type:"string",description:"A comma separated list of named nodes (e.g. srv11.example.com:8020,srv12.example.com:8020)",title:"Named Nodes",required:!1,deprecated:!1},owner:{kind:"parameter",type:"string",description:"The file owner must match this owner for the consumer to pickup the file. Otherwise the file is skipped.",title:"Owner",required:!1,deprecated:!1},valueType:{kind:"parameter",type:"object",defaultValue:"BYTES",enum:["NULL","BOOLEAN","BYTE","SHORT","INT","FLOAT","LONG","DOUBLE","TEXT","BYTES"],description:"The type for the key in case of sequence or map files",title:"Value Type",required:!1,deprecated:!1},pattern:{kind:"parameter",type:"string",defaultValue:"*",description:"The pattern used for scanning the directory",title:"Pattern",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route.",title:"Stream Download",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},append:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Append to existing file. Notice that not all HDFS file systems support the append option.",title:"Append",required:!1,deprecated:!1},overwrite:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to overwrite existing files with the same name",title:"Overwrite",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},blockSize:{kind:"parameter",type:"integer",defaultValue:"67108864",description:"The size of the HDFS blocks",title:"Block Size",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"4096",description:"The buffer size used by HDFS",title:"Buffer Size",required:!1,deprecated:!1},checkIdleInterval:{kind:"parameter",type:"integer",defaultValue:"500",description:"How often (time in millis) in to run the idle checker background task. This option is only in use if the splitter strategy is IDLE.",title:"Check Idle Interval",required:!1,deprecated:!1},chunkSize:{kind:"parameter",type:"integer",defaultValue:"4096",description:"When reading a normal file, this is split into chunks producing a message per chunk.",title:"Chunk Size",required:!1,deprecated:!1},compressionCodec:{kind:"parameter",type:"object",defaultValue:"DEFAULT",enum:["DEFAULT","GZIP","BZIP2","SNAPPY","LZ4","ZSTANDARD"],description:"The compression codec to use",title:"Compression Codec",required:!1,deprecated:!1},compressionType:{kind:"parameter",type:"object",defaultValue:"NONE",enum:["NONE","RECORD","BLOCK"],description:"The compression type to use (is default not in use)",title:"Compression Type",required:!1,deprecated:!1},openedSuffix:{kind:"parameter",type:"string",defaultValue:"opened",description:"When a file is opened for reading/writing the file is renamed with this suffix to avoid to read it during the writing phase.",title:"Opened Suffix",required:!1,deprecated:!1},readSuffix:{kind:"parameter",type:"string",defaultValue:"read",description:"Once the file has been read is renamed with this suffix to avoid to read it again.",title:"Read Suffix",required:!1,deprecated:!1},replication:{kind:"parameter",type:"integer",defaultValue:"3",description:"The HDFS replication factor",title:"Replication",required:!1,deprecated:!1},splitStrategy:{kind:"parameter",type:"string",description:"In the current version of Hadoop opening a file in append mode is disabled since it's not very reliable. So, for the moment, it's only possible to create new files. The Camel HDFS endpoint tries to solve this problem in this way: If the split strategy option has been defined, the hdfs path will be used as a directory and files will be created using the configured UuidGenerator. Every time a splitting condition is met, a new file is created. The splitStrategy option is defined as a string with the following syntax: splitStrategy=ST:value,ST:value,... where ST can be: BYTES a new file is created, and the old is closed when the number of written bytes is more than value MESSAGES a new file is created, and the old is closed when the number of written messages is more than value IDLE a new file is created, and the old is closed when no writing happened in the last value milliseconds",title:"Split Strategy",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"100",description:"To define a maximum messages to gather per poll. By default a limit of 100 is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Values can only be greater than 0. Notice: If this option is in use then the limit will be applied on the valid files. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up.",title:"Max Messages Per Poll",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},kerberosConfigFileLocation:{kind:"parameter",type:"string",description:"The location of the kerb5.conf file (https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html)",title:"Kerberos Config File Location",required:!1,deprecated:!1},kerberosKeytabLocation:{kind:"parameter",type:"string",description:"The location of the keytab file used to authenticate with the kerberos nodes (contains pairs of kerberos principals and encrypted keys (which are derived from the Kerberos password))",title:"Kerberos Keytab Location",required:!1,deprecated:!1},kerberosUsername:{kind:"parameter",type:"string",description:"The username used to authenticate with the kerberos nodes",title:"Kerberos Username",required:!1,deprecated:!1}}},http:{type:"object",title:"HTTP",group:"http",icon:"generic24.png",description:"Send requests to external HTTP servers using Apache HTTP Client 5.x.",properties:{httpUri:{kind:"path",type:"string",description:"The url of the HTTP endpoint to call.",title:"Http Uri",required:!0,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",title:"Disable Stream Cache",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},bridgeEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let the HttpProducer send all the fault response back.",title:"Bridge Endpoint",required:!1,deprecated:!1},connectionClose:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether a Connection Close header must be added to HTTP Request. By default connectionClose is false.",title:"Connection Close",required:!1,deprecated:!1},followRedirects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to the HTTP request should follow redirects. By default the HTTP request does not follow redirects",title:"Follow Redirects",required:!1,deprecated:!1},httpMethod:{kind:"parameter",type:"object",enum:["GET","POST","PUT","DELETE","HEAD","OPTIONS","TRACE","PATCH"],description:"Configure the HTTP method to use. The HttpMethod header cannot override this option if set.",title:"Http Method",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code.",title:"Throw Exception On Failure",required:!1,deprecated:!1},clearExpiredCookies:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to clear expired cookies before sending the HTTP request. This ensures the cookies store does not keep growing by adding new cookies which is newer removed when they are expired. If the component has disabled cookie management then this option is disabled too.",title:"Clear Expired Cookies",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},cookieStore:{kind:"parameter",type:"object",description:"To use a custom CookieStore. By default the BasicCookieStore is used which is an in-memory only cookie store. Notice if bridgeEndpoint=true then the cookie store is forced to be a noop cookie store as cookie shouldn't be stored as we are just bridging (eg acting as a proxy). If a cookieHandler is set then the cookie store is also forced to be a noop cookie store as cookie handling is then performed by the cookieHandler.",title:"Cookie Store",required:!1,deprecated:!1},copyHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy. Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers).",title:"Copy Headers",required:!1,deprecated:!1},customHostHeader:{kind:"parameter",type:"string",description:"To use custom host header for producer. When not set in query will be ignored. When set will override host header derived from url.",title:"Custom Host Header",required:!1,deprecated:!1},deleteWithBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the HTTP DELETE should include the message body or not. By default HTTP DELETE do not include any HTTP body. However in some rare cases users may need to be able to include the message body.",title:"Delete With Body",required:!1,deprecated:!1},getWithBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the HTTP GET should include the message body or not. By default HTTP GET do not include any HTTP body. However in some rare cases users may need to be able to include the message body.",title:"Get With Body",required:!1,deprecated:!1},ignoreResponseBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is true, The http producer won't read response body and cache the input stream",title:"Ignore Response Body",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},okStatusCodeRange:{kind:"parameter",type:"string",defaultValue:"200-299",description:"The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included.",title:"Ok Status Code Range",required:!1,deprecated:!1},preserveHostHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, HttpProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server to reflect the URL called by the upstream client, this allows applications which use the Host header to generate accurate URL's for a proxied service",title:"Preserve Host Header",required:!1,deprecated:!1},skipRequestHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to skip mapping all the Camel headers as HTTP request headers. If there are no data from Camel headers needed to be included in the HTTP request then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",title:"Skip Request Headers",required:!1,deprecated:!1},skipResponseHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to skip mapping all the HTTP response headers to Camel headers. If there are no data needed from HTTP headers then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",title:"Skip Response Headers",required:!1,deprecated:!1},userAgent:{kind:"parameter",type:"string",description:"To set a custom HTTP User-Agent request header",title:"User Agent",required:!1,deprecated:!1},clientBuilder:{kind:"parameter",type:"object",description:"Provide access to the http client request parameters used on new RequestConfig instances used by producers or consumers of this endpoint.",title:"Client Builder",required:!1,deprecated:!1},clientConnectionManager:{kind:"parameter",type:"object",description:"To use a custom HttpClientConnectionManager to manage connections",title:"Client Connection Manager",required:!1,deprecated:!1},connectionsPerRoute:{kind:"parameter",type:"integer",defaultValue:"20",description:"The maximum number of connections per route.",title:"Connections Per Route",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"Sets a custom HttpClient to be used by the producer",title:"Http Client",required:!1,deprecated:!1},httpClientConfigurer:{kind:"parameter",type:"object",description:"Register a custom configuration strategy for new HttpClient instances created by producers or consumers such as to configure authentication mechanisms etc.",title:"Http Client Configurer",required:!1,deprecated:!1},httpClientOptions:{kind:"parameter",type:"object",description:"To configure the HttpClient using the key/values from the Map.",title:"Http Client Options",required:!1,deprecated:!1},httpConnectionOptions:{kind:"parameter",type:"object",description:"To configure the connection and the socket using the key/values from the Map.",title:"Http Connection Options",required:!1,deprecated:!1},httpContext:{kind:"parameter",type:"object",description:"To use a custom HttpContext instance",title:"Http Context",required:!1,deprecated:!1},maxTotalConnections:{kind:"parameter",type:"integer",defaultValue:"200",description:"The maximum number of connections.",title:"Max Total Connections",required:!1,deprecated:!1},useSystemProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To use System Properties as fallback for configuration",title:"Use System Properties",required:!1,deprecated:!1},proxyAuthDomain:{kind:"parameter",type:"string",description:"Proxy authentication domain to use with NTML",title:"Proxy Auth Domain",required:!1,deprecated:!1},proxyAuthHost:{kind:"parameter",type:"string",description:"Proxy authentication host",title:"Proxy Auth Host",required:!1,deprecated:!1},proxyAuthMethod:{kind:"parameter",type:"string",enum:["Basic","Digest","NTLM"],description:"Proxy authentication method to use",title:"Proxy Auth Method",required:!1,deprecated:!1},proxyAuthNtHost:{kind:"parameter",type:"string",description:"Proxy authentication domain (workstation name) to use with NTML",title:"Proxy Auth Nt Host",required:!1,deprecated:!1},proxyAuthPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy Auth Password",required:!1,deprecated:!1},proxyAuthPort:{kind:"parameter",type:"integer",description:"Proxy authentication port",title:"Proxy Auth Port",required:!1,deprecated:!1},proxyAuthScheme:{kind:"parameter",type:"string",enum:["http","https"],description:"Proxy authentication scheme to use",title:"Proxy Auth Scheme",required:!1,deprecated:!1},proxyAuthUsername:{kind:"parameter",type:"string",description:"Proxy authentication username",title:"Proxy Auth Username",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy hostname to use",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy port to use",title:"Proxy Port",required:!1,deprecated:!1},authDomain:{kind:"parameter",type:"string",description:"Authentication domain to use with NTML",title:"Auth Domain",required:!1,deprecated:!1},authenticationPreemptive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is true, camel-http sends preemptive basic authentication to the server.",title:"Authentication Preemptive",required:!1,deprecated:!1},authHost:{kind:"parameter",type:"string",description:"Authentication host to use with NTML",title:"Auth Host",required:!1,deprecated:!1},authMethod:{kind:"parameter",type:"string",description:"Authentication methods allowed to use as a comma separated list of values Basic, Digest or NTLM.",title:"Auth Method",required:!1,deprecated:!1},authMethodPriority:{kind:"parameter",type:"string",enum:["Basic","Digest","NTLM"],description:"Which authentication method to prioritize to use, either as Basic, Digest or NTLM.",title:"Auth Method Priority",required:!1,deprecated:!1},authPassword:{kind:"parameter",type:"string",description:"Authentication password",title:"Auth Password",required:!1,deprecated:!1},authUsername:{kind:"parameter",type:"string",description:"Authentication username",title:"Auth Username",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more different instances, you need to define a new HttpComponent per instance you need.",title:"Ssl Context Parameters",required:!1,deprecated:!1},x509HostnameVerifier:{kind:"parameter",type:"object",description:"To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier",title:"X509 Hostname Verifier",required:!1,deprecated:!1}}},https:{type:"object",title:"HTTPS (Secure)",group:"http",icon:"generic24.png",description:"Send requests to external HTTP servers using Apache HTTP Client 5.x.",properties:{httpUri:{kind:"path",type:"string",description:"The url of the HTTP endpoint to call.",title:"Http Uri",required:!0,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",title:"Disable Stream Cache",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},bridgeEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let the HttpProducer send all the fault response back.",title:"Bridge Endpoint",required:!1,deprecated:!1},connectionClose:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether a Connection Close header must be added to HTTP Request. By default connectionClose is false.",title:"Connection Close",required:!1,deprecated:!1},followRedirects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to the HTTP request should follow redirects. By default the HTTP request does not follow redirects",title:"Follow Redirects",required:!1,deprecated:!1},httpMethod:{kind:"parameter",type:"object",enum:["GET","POST","PUT","DELETE","HEAD","OPTIONS","TRACE","PATCH"],description:"Configure the HTTP method to use. The HttpMethod header cannot override this option if set.",title:"Http Method",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code.",title:"Throw Exception On Failure",required:!1,deprecated:!1},clearExpiredCookies:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to clear expired cookies before sending the HTTP request. This ensures the cookies store does not keep growing by adding new cookies which is newer removed when they are expired. If the component has disabled cookie management then this option is disabled too.",title:"Clear Expired Cookies",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},cookieStore:{kind:"parameter",type:"object",description:"To use a custom CookieStore. By default the BasicCookieStore is used which is an in-memory only cookie store. Notice if bridgeEndpoint=true then the cookie store is forced to be a noop cookie store as cookie shouldn't be stored as we are just bridging (eg acting as a proxy). If a cookieHandler is set then the cookie store is also forced to be a noop cookie store as cookie handling is then performed by the cookieHandler.",title:"Cookie Store",required:!1,deprecated:!1},copyHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy. Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers).",title:"Copy Headers",required:!1,deprecated:!1},customHostHeader:{kind:"parameter",type:"string",description:"To use custom host header for producer. When not set in query will be ignored. When set will override host header derived from url.",title:"Custom Host Header",required:!1,deprecated:!1},deleteWithBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the HTTP DELETE should include the message body or not. By default HTTP DELETE do not include any HTTP body. However in some rare cases users may need to be able to include the message body.",title:"Delete With Body",required:!1,deprecated:!1},getWithBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the HTTP GET should include the message body or not. By default HTTP GET do not include any HTTP body. However in some rare cases users may need to be able to include the message body.",title:"Get With Body",required:!1,deprecated:!1},ignoreResponseBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is true, The http producer won't read response body and cache the input stream",title:"Ignore Response Body",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},okStatusCodeRange:{kind:"parameter",type:"string",defaultValue:"200-299",description:"The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included.",title:"Ok Status Code Range",required:!1,deprecated:!1},preserveHostHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, HttpProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server to reflect the URL called by the upstream client, this allows applications which use the Host header to generate accurate URL's for a proxied service",title:"Preserve Host Header",required:!1,deprecated:!1},skipRequestHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to skip mapping all the Camel headers as HTTP request headers. If there are no data from Camel headers needed to be included in the HTTP request then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",title:"Skip Request Headers",required:!1,deprecated:!1},skipResponseHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to skip mapping all the HTTP response headers to Camel headers. If there are no data needed from HTTP headers then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",title:"Skip Response Headers",required:!1,deprecated:!1},userAgent:{kind:"parameter",type:"string",description:"To set a custom HTTP User-Agent request header",title:"User Agent",required:!1,deprecated:!1},clientBuilder:{kind:"parameter",type:"object",description:"Provide access to the http client request parameters used on new RequestConfig instances used by producers or consumers of this endpoint.",title:"Client Builder",required:!1,deprecated:!1},clientConnectionManager:{kind:"parameter",type:"object",description:"To use a custom HttpClientConnectionManager to manage connections",title:"Client Connection Manager",required:!1,deprecated:!1},connectionsPerRoute:{kind:"parameter",type:"integer",defaultValue:"20",description:"The maximum number of connections per route.",title:"Connections Per Route",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"Sets a custom HttpClient to be used by the producer",title:"Http Client",required:!1,deprecated:!1},httpClientConfigurer:{kind:"parameter",type:"object",description:"Register a custom configuration strategy for new HttpClient instances created by producers or consumers such as to configure authentication mechanisms etc.",title:"Http Client Configurer",required:!1,deprecated:!1},httpClientOptions:{kind:"parameter",type:"object",description:"To configure the HttpClient using the key/values from the Map.",title:"Http Client Options",required:!1,deprecated:!1},httpConnectionOptions:{kind:"parameter",type:"object",description:"To configure the connection and the socket using the key/values from the Map.",title:"Http Connection Options",required:!1,deprecated:!1},httpContext:{kind:"parameter",type:"object",description:"To use a custom HttpContext instance",title:"Http Context",required:!1,deprecated:!1},maxTotalConnections:{kind:"parameter",type:"integer",defaultValue:"200",description:"The maximum number of connections.",title:"Max Total Connections",required:!1,deprecated:!1},useSystemProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To use System Properties as fallback for configuration",title:"Use System Properties",required:!1,deprecated:!1},proxyAuthDomain:{kind:"parameter",type:"string",description:"Proxy authentication domain to use with NTML",title:"Proxy Auth Domain",required:!1,deprecated:!1},proxyAuthHost:{kind:"parameter",type:"string",description:"Proxy authentication host",title:"Proxy Auth Host",required:!1,deprecated:!1},proxyAuthMethod:{kind:"parameter",type:"string",enum:["Basic","Digest","NTLM"],description:"Proxy authentication method to use",title:"Proxy Auth Method",required:!1,deprecated:!1},proxyAuthNtHost:{kind:"parameter",type:"string",description:"Proxy authentication domain (workstation name) to use with NTML",title:"Proxy Auth Nt Host",required:!1,deprecated:!1},proxyAuthPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy Auth Password",required:!1,deprecated:!1},proxyAuthPort:{kind:"parameter",type:"integer",description:"Proxy authentication port",title:"Proxy Auth Port",required:!1,deprecated:!1},proxyAuthScheme:{kind:"parameter",type:"string",enum:["http","https"],description:"Proxy authentication scheme to use",title:"Proxy Auth Scheme",required:!1,deprecated:!1},proxyAuthUsername:{kind:"parameter",type:"string",description:"Proxy authentication username",title:"Proxy Auth Username",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy hostname to use",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy port to use",title:"Proxy Port",required:!1,deprecated:!1},authDomain:{kind:"parameter",type:"string",description:"Authentication domain to use with NTML",title:"Auth Domain",required:!1,deprecated:!1},authenticationPreemptive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is true, camel-http sends preemptive basic authentication to the server.",title:"Authentication Preemptive",required:!1,deprecated:!1},authHost:{kind:"parameter",type:"string",description:"Authentication host to use with NTML",title:"Auth Host",required:!1,deprecated:!1},authMethod:{kind:"parameter",type:"string",description:"Authentication methods allowed to use as a comma separated list of values Basic, Digest or NTLM.",title:"Auth Method",required:!1,deprecated:!1},authMethodPriority:{kind:"parameter",type:"string",enum:["Basic","Digest","NTLM"],description:"Which authentication method to prioritize to use, either as Basic, Digest or NTLM.",title:"Auth Method Priority",required:!1,deprecated:!1},authPassword:{kind:"parameter",type:"string",description:"Authentication password",title:"Auth Password",required:!1,deprecated:!1},authUsername:{kind:"parameter",type:"string",description:"Authentication username",title:"Auth Username",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more different instances, you need to define a new HttpComponent per instance you need.",title:"Ssl Context Parameters",required:!1,deprecated:!1},x509HostnameVerifier:{kind:"parameter",type:"object",description:"To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier",title:"X509 Hostname Verifier",required:!1,deprecated:!1}}},"hwcloud-dms":{type:"object",title:"Huawei Distributed Message Service (DMS)",group:"cloud",icon:"generic24.png",description:"To integrate with a fully managed, high-performance message queuing service on Huawei Cloud",properties:{operation:{kind:"path",type:"string",description:"Operation to be performed",title:"Operation",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"API access key (AK)",required:!0,deprecated:!1},accessUser:{kind:"parameter",type:"string",description:"The username of a RabbitMQ instance. This option is mandatory when creating a RabbitMQ instance.",title:"Access user",required:!1,deprecated:!1},availableZones:{kind:"parameter",type:"array",description:"The ID of an available zone. This option is mandatory when creating an instance and it cannot be an empty array.",title:"Available zones",required:!1,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"DMS url. Carries higher precedence than region parameter based client initialization",title:"Service endpoint",required:!1,deprecated:!1},engine:{kind:"parameter",type:"string",enum:["kafka","rabbitmq"],description:"The message engine. Either kafka or rabbitmq. If the parameter is not specified, all instances will be queried",title:"Engine type",required:!1,deprecated:!1},engineVersion:{kind:"parameter",type:"string",description:"The version of the message engine. This option is mandatory when creating an instance.",title:"Engine version",required:!1,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1},instanceId:{kind:"parameter",type:"string",description:"The id of the instance. This option is mandatory when deleting or querying an instance",title:"Instance id",required:!1,deprecated:!1},kafkaManagerPassword:{kind:"parameter",type:"string",description:"The password for logging in to the Kafka Manager. This option is mandatory when creating a Kafka instance.",title:"Kafka manager password",required:!1,deprecated:!1},kafkaManagerUser:{kind:"parameter",type:"string",description:"The username for logging in to the Kafka Manager. This option is mandatory when creating a Kafka instance.",title:"Kafka manager username",required:!1,deprecated:!1},name:{kind:"parameter",type:"string",description:"The name of the instance for creating and updating an instance. This option is mandatory when creating an instance",title:"Name",required:!1,deprecated:!1},partitionNum:{kind:"parameter",type:"integer",description:"The maximum number of partitions in a Kafka instance. This option is mandatory when creating a Kafka instance.",title:"Partition Number",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password of a RabbitMQ instance. This option is mandatory when creating a RabbitMQ instance.",title:"Password",required:!1,deprecated:!1},productId:{kind:"parameter",type:"string",description:"The product ID. This option is mandatory when creating an instance.",title:"Product ID",required:!1,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"Cloud project ID",title:"Project ID",required:!0,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"DMS service region",title:"Service region",required:!0,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"API secret key (SK)",required:!0,deprecated:!1},securityGroupId:{kind:"parameter",type:"string",description:"The security group which the instance belongs to. This option is mandatory when creating an instance.",title:"Security group ID",required:!1,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},specification:{kind:"parameter",type:"string",description:"The baseline bandwidth of a Kafka instance. This option is mandatory when creating a Kafka instance.",title:"Engine version",required:!1,deprecated:!1},storageSpace:{kind:"parameter",type:"integer",description:"The message storage space. This option is mandatory when creating an instance.",title:"Storage space",required:!1,deprecated:!1},storageSpecCode:{kind:"parameter",type:"string",description:"The storage I/O specification. This option is mandatory when creating an instance.",title:"Storage specification code",required:!1,deprecated:!1},subnetId:{kind:"parameter",type:"string",description:"The subnet ID. This option is mandatory when creating an instance.",title:"Subnet ID",required:!1,deprecated:!1},vpcId:{kind:"parameter",type:"string",description:"The VPC ID. This option is mandatory when creating an instance.",title:"VPC ID",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hwcloud-frs":{type:"object",title:"Huawei Cloud Face Recognition Service (FRS)",group:"cloud,messaging",icon:"generic24.png",description:"Face Recognition Service (FRS) is an intelligent service that uses computers to process, analyze, and understand facial images based on human facial features.",properties:{operation:{kind:"path",type:"string",description:"Name of Face Recognition operation to perform, including faceDetection, faceVerification and faceLiveDetection",title:"Operation name",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"Account access key (AK)",required:!0,deprecated:!1},actions:{kind:"parameter",type:"string",description:"This param is mandatory when the operation is faceLiveDetection, indicating the action code sequence list. Actions are separated by commas (,). Currently, the following actions are supported: 1: Shake the head to the left. 2: Shake the head to the right. 3: Nod the head. 4: Mouth movement.",title:"Actions",required:!1,deprecated:!1},actionTimes:{kind:"parameter",type:"string",description:"This param can be used when the operation is faceLiveDetection, indicating the action time array. The length of the array is the same as the number of actions. Each item contains the start time and end time of the action in the corresponding sequence. The unit is the milliseconds from the video start time.",title:"Action Time",required:!1,deprecated:!1},anotherImageBase64:{kind:"parameter",type:"string",description:"This param can be used when operation is faceVerification, indicating the Base64 character string converted from the other image. It needs to be configured if imageBase64 is set. The image size cannot exceed 10 MB. The image resolution of the narrow sides must be greater than 15 pixels, and that of the wide sides cannot exceed 4096 pixels. The supported image formats include JPG, PNG, and BMP.",title:"Another Image in Base64",required:!1,deprecated:!1},anotherImageFilePath:{kind:"parameter",type:"string",description:"This param can be used when operation is faceVerification, indicating the local file path of the other image. It needs to be configured if imageFilePath is set. Image size cannot exceed 8 MB, and it is recommended that the image size be less than 1 MB.",title:"Another Image File Path",required:!1,deprecated:!1},anotherImageUrl:{kind:"parameter",type:"string",description:"This param can be used when operation is faceVerification, indicating the URL of the other image. It needs to be configured if imageUrl is set. The options are as follows: 1.HTTP/HTTPS URLs on the public network 2.OBS URLs. To use OBS data, authorization is required, including service authorization, temporary authorization, and anonymous public authorization. For details, see Configuring the Access Permission of OBS.",title:"Another Image Url",required:!1,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"Fully qualified Face Recognition service url. Carries higher precedence than region based configuration.",title:"Service endpoint",required:!1,deprecated:!1},imageBase64:{kind:"parameter",type:"string",description:"This param can be used when operation is faceDetection or faceVerification, indicating the Base64 character string converted from an image. Any one of imageBase64, imageUrl and imageFilePath needs to be set, and the priority is imageBase64 imageUrl imageFilePath. The Image size cannot exceed 10 MB. The image resolution of the narrow sides must be greater than 15 pixels, and that of the wide sides cannot exceed 4096 pixels. The supported image formats include JPG, PNG, and BMP.",title:"Image in Base64",required:!1,deprecated:!1},imageFilePath:{kind:"parameter",type:"string",description:"This param can be used when operation is faceDetection or faceVerification, indicating the local image file path. Any one of imageBase64, imageUrl and imageFilePath needs to be set, and the priority is imageBase64 imageUrl imageFilePath. Image size cannot exceed 8 MB, and it is recommended that the image size be less than 1 MB.",title:"Image File Path",required:!1,deprecated:!1},imageUrl:{kind:"parameter",type:"string",description:"This param can be used when operation is faceDetection or faceVerification, indicating the URL of an image. Any one of imageBase64, imageUrl and imageFilePath needs to be set, and the priority is imageBase64 imageUrl imageFilePath. The options are as follows: 1.HTTP/HTTPS URLs on the public network 2.OBS URLs. To use OBS data, authorization is required, including service authorization, temporary authorization, and anonymous public authorization. For details, see Configuring the Access Permission of OBS.",title:"Image Url",required:!1,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"Cloud project ID",title:"Project ID",required:!0,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"Face Recognition service region. Currently only cn-north-1 and cn-north-4 are supported. This is lower precedence than endpoint based configuration.",title:"Service region",required:!0,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"Account secret key (SK)",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},videoBase64:{kind:"parameter",type:"string",description:"This param can be used when operation is faceLiveDetection, indicating the Base64 character string converted from a video. Any one of videoBase64, videoUrl and videoFilePath needs to be set, and the priority is videoBase64 videoUrl videoFilePath. Requirements are as follows: 1.The video size after Base64 encoding cannot exceed 8 MB. It is recommended that the video file be compressed to 200 KB to 2 MB on the client. 2.The video duration must be 1 to 15 seconds. 3.The recommended frame rate is 10 fps to 30 fps. 4.The encapsulation format can be MP4, AVI, FLV, WEBM, ASF, or MOV. 5.The video encoding format can be H.261, H.263, H.264, HEVC, VC-1, VP8, VP9, or WMV3.",title:"Video in Base64",required:!1,deprecated:!1},videoFilePath:{kind:"parameter",type:"string",description:"This param can be used when operation is faceLiveDetection, indicating the local video file path. Any one of videoBase64, videoUrl and videoFilePath needs to be set, and the priority is videoBase64 videoUrl videoFilePath. The video requirements are as follows: 1.The size of a video file cannot exceed 8 MB. It is recommended that the video file be compressed to 200 KB to 2 MB on the client. 2.The video duration must be 1 to 15 seconds. 3.The recommended frame rate is 10 fps to 30 fps. 4.The encapsulation format can be MP4, AVI, FLV, WEBM, ASF, or MOV. 5.The video encoding format can be H.261, H.263, H.264, HEVC, VC-1, VP8, VP9, or WMV3.",title:"Video File Path",required:!1,deprecated:!1},videoUrl:{kind:"parameter",type:"string",description:"This param can be used when operation is faceLiveDetection, indicating the URL of a video. Any one of videoBase64, videoUrl and videoFilePath needs to be set, and the priority is videoBase64 videoUrl videoFilePath. Currently, only the URL of an OBS bucket on HUAWEI CLOUD is supported and FRS must have the permission to read data in the OBS bucket. For details about how to enable the read permission, see Service Authorization. The video requirements are as follows: 1.The video size after Base64 encoding cannot exceed 8 MB. 2.The video duration must be 1 to 15 seconds. 3.The recommended frame rate is 10 fps to 30 fps. 4.The encapsulation format can be MP4, AVI, FLV, WEBM, ASF, or MOV. 5.The video encoding format can be H.261, H.263, H.264, HEVC, VC-1, VP8, VP9, or WMV3.",title:"Video Url",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1}}},"hwcloud-functiongraph":{type:"object",title:"Huawei FunctionGraph",group:"cloud,serverless",icon:"generic24.png",description:"To call serverless functions on Huawei Cloud",properties:{operation:{kind:"path",type:"string",description:"Operation to be performed",title:"Operation",required:!0,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"FunctionGraph url. Carries higher precedence than region parameter based client initialization",title:"Service endpoint",required:!1,deprecated:!1},functionName:{kind:"parameter",type:"string",description:"Name of the function to invoke",title:"Function name",required:!1,deprecated:!1},functionPackage:{kind:"parameter",type:"string",defaultValue:"default",description:"Functions that can be logically grouped together",title:"Function package",required:!1,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"Cloud project ID",title:"Project ID",required:!0,deprecated:!1},region:{kind:"parameter",type:"string",description:"FunctionGraph service region. This is lower precedence than endpoint based configuration",title:"Service region",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"API access key (AK)",required:!0,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"API secret key (SK)",required:!0,deprecated:!1}}},"hwcloud-iam":{type:"object",title:"Huawei Identity and Access Management (IAM)",group:"cloud",icon:"generic24.png",description:"To securely manage users on Huawei Cloud",properties:{operation:{kind:"path",type:"string",description:"Operation to be performed",title:"Operation",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"API access key (AK)",required:!0,deprecated:!1},groupId:{kind:"parameter",type:"string",description:"Group ID to perform operation with",title:"Group ID",required:!1,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"IAM service region",title:"Service region",required:!0,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"API secret key (SK)",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},userId:{kind:"parameter",type:"string",description:"User ID to perform operation with",title:"User ID",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hwcloud-imagerecognition":{type:"object",title:"Huawei Cloud Image Recognition",group:"cloud,messaging",icon:"generic24.png",description:"To identify objects, scenes, and concepts in images on Huawei Cloud",properties:{operation:{kind:"path",type:"string",description:"Name of Image Recognition operation to perform, including celebrityRecognition and tagRecognition",title:"Operation name",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"Account access key (AK)",required:!0,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"Fully qualified Image Recognition service url. Carries higher precedence than region based configuration.",title:"Service endpoint",required:!1,deprecated:!1},imageContent:{kind:"parameter",type:"string",description:"Indicates the Base64 character string converted from the image. The size cannot exceed 10 MB. The image resolution of the narrow sides must be greater than 15 pixels, and that of the wide sides cannot exceed 4096 pixels.The supported image formats include JPG, PNG, and BMP. Configure either this parameter or imageUrl, and this one carries higher precedence than imageUrl.",title:"Image in Base64",required:!1,deprecated:!1},imageUrl:{kind:"parameter",type:"string",description:"Indicates the URL of an image. The options are as follows: HTTP/HTTPS URLs on the public network OBS URLs. To use OBS data, authorization is required, including service authorization, temporary authorization, and anonymous public authorization. For details, see Configuring the Access Permission of OBS. Configure either this parameter or imageContent, and this one carries lower precedence than imageContent.",title:"Image Url",required:!1,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"Cloud project ID",title:"Project ID",required:!0,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"Image Recognition service region. Currently only cn-north-1 and cn-north-4 are supported. This is lower precedence than endpoint based configuration.",title:"Service region",required:!0,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"Account secret key (SK)",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},tagLanguage:{kind:"parameter",type:"string",defaultValue:"zh",description:"Indicates the language of the returned tags when the operation is tagRecognition, including zh and en.",title:"Tag Language",required:!1,deprecated:!1},tagLimit:{kind:"parameter",type:"integer",defaultValue:"50",description:"Indicates the maximum number of the returned tags when the operation is tagRecognition.",title:"Tag Limit",required:!1,deprecated:!1},threshold:{kind:"parameter",type:"number",description:"Indicates the threshold of confidence. When the operation is tagRecognition, this parameter ranges from 0 to 100. Tags whose confidence score is lower than the threshold will not be returned. The default value is 60. When the operation is celebrityRecognition, this parameter ranges from 0 to 1. Labels whose confidence score is lower than the threshold will not be returned. The default value is 0.48.",title:"Threshold of confidence",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1}}},"hwcloud-obs":{type:"object",title:"Huawei Object Storage Service (OBS)",group:"cloud",icon:"generic24.png",description:"To provide stable, secure, efficient, and easy-to-use cloud storage service on Huawei Cloud",properties:{operation:{kind:"path",type:"string",description:"Operation to be performed",title:"Operation",required:!0,deprecated:!1},bucketName:{kind:"parameter",type:"string",description:"Name of bucket to perform operation on",title:"Bucket Name",required:!1,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"OBS url. Carries higher precedence than region parameter based client initialization",title:"Endpoint url",required:!1,deprecated:!1},objectName:{kind:"parameter",type:"string",description:"Name of object to perform operation with",title:"Object Name",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"OBS service region. This is lower precedence than endpoint based configuration",title:"Service region",required:!0,deprecated:!1},deleteAfterRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines if objects should be deleted after it has been retrieved",title:"Delete after read",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"string",description:"The character used for grouping object names",title:"Delimiter",required:!1,deprecated:!1},destinationBucket:{kind:"parameter",type:"string",description:"Name of destination bucket where objects will be moved when moveAfterRead is set to true",title:"Destination Bucket",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Get the object from the bucket with the given file name",title:"File Name",required:!1,deprecated:!1},includeFolders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, objects in folders will be consumed. Otherwise, they will be ignored and no Exchanges will be created for them",title:"Include Folders",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"10",description:"The maximum number of messages to poll at each polling",title:"Maximum messages per poll",required:!1,deprecated:!1},moveAfterRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether objects should be moved to a different bucket after they have been retrieved. The destinationBucket option must also be set for this option to work.",title:"Move After Read",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"string",description:"The object name prefix used for filtering objects to be listed",title:"Prefix",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},bucketLocation:{kind:"parameter",type:"string",description:"Location of bucket when creating a new bucket",title:"Bucket Location",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"API access key (AK)",required:!0,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"API secret key (SK)",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1}}},"hwcloud-smn":{type:"object",title:"Huawei Simple Message Notification (SMN)",group:"cloud,messaging",icon:"generic24.png",description:"To broadcast messages and connect cloud services through notifications on Huawei Cloud",properties:{smnService:{kind:"path",type:"string",description:"Name of SMN service to invoke",title:"Service name",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"API access key (AK)",required:!0,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"Fully qualified smn service url. Carries higher precedence than region parameter based client initialization",title:"Service endpoint",required:!1,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1},messageTtl:{kind:"parameter",type:"integer",defaultValue:"3600",description:"TTL for published message",title:"Message TTL",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Name of operation to perform",title:"Operation name",required:!0,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"Cloud project ID",title:"Project ID",required:!0,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"SMN service region. This is lower precedence than endpoint based configuration",title:"Service region",required:!0,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"API secret key (SK)",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"iec60870-client":{type:"object",title:"IEC 60870 Client",group:"iot",icon:"generic24.png",description:"IEC 60870 supervisory control and data acquisition (SCADA) client using NeoSCADA implementation.",properties:{uriPath:{kind:"path",type:"object",description:"The object information address",title:"Uri Path",required:!0,deprecated:!1},dataModuleOptions:{kind:"parameter",type:"object",description:"Data module options",title:"Data Module Options",required:!1,deprecated:!1},protocolOptions:{kind:"parameter",type:"object",description:"Protocol options",title:"Protocol Options",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},acknowledgeWindow:{kind:"parameter",type:"integer",defaultValue:"10",description:"Parameter W - Acknowledgment window.",title:"Acknowledge Window",required:!1,deprecated:!1},adsuAddressType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2"],description:"The common ASDU address size. May be either SIZE_1 or SIZE_2.",title:"Adsu Address Type",required:!1,deprecated:!1},causeOfTransmissionType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2"],description:"The cause of transmission type. May be either SIZE_1 or SIZE_2.",title:"Cause Of Transmission Type",required:!1,deprecated:!1},informationObjectAddressType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2","SIZE_3"],description:"The information address size. May be either SIZE_1, SIZE_2 or SIZE_3.",title:"Information Object Address Type",required:!1,deprecated:!1},maxUnacknowledged:{kind:"parameter",type:"integer",defaultValue:"15",description:"Parameter K - Maximum number of un-acknowledged messages.",title:"Max Unacknowledged",required:!1,deprecated:!1},timeout1:{kind:"parameter",type:"integer",defaultValue:"15000",description:"Timeout T1 in milliseconds.",title:"Timeout1",required:!1,deprecated:!1},timeout2:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout T2 in milliseconds.",title:"Timeout2",required:!1,deprecated:!1},timeout3:{kind:"parameter",type:"integer",defaultValue:"20000",description:"Timeout T3 in milliseconds.",title:"Timeout3",required:!1,deprecated:!1},causeSourceAddress:{kind:"parameter",type:"integer",description:"Whether to include the source address",title:"Cause Source Address",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout in millis to wait for client to establish a connected connection.",title:"Connection Timeout",required:!1,deprecated:!1},ignoreBackgroundScan:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether background scan transmissions should be ignored.",title:"Ignore Background Scan",required:!1,deprecated:!1},ignoreDaylightSavingTime:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore or respect DST",title:"Ignore Daylight Saving Time",required:!1,deprecated:!1},timeZone:{kind:"parameter",type:"object",defaultValue:"UTC",description:"The timezone to use. May be any Java time zone string",title:"Time Zone",required:!1,deprecated:!1},connectionId:{kind:"parameter",type:"string",description:"An identifier grouping connection instances",title:"Connection Id",required:!1,deprecated:!1}}},"iec60870-server":{type:"object",title:"IEC 60870 Server",group:"iot",icon:"generic24.png",description:"IEC 60870 supervisory control and data acquisition (SCADA) server using NeoSCADA implementation.",properties:{uriPath:{kind:"path",type:"object",description:"The object information address",title:"Uri Path",required:!0,deprecated:!1},dataModuleOptions:{kind:"parameter",type:"object",description:"Data module options",title:"Data Module Options",required:!1,deprecated:!1},filterNonExecute:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Filter out all requests which don't have the execute bit set",title:"Filter Non Execute",required:!1,deprecated:!1},protocolOptions:{kind:"parameter",type:"object",description:"Protocol options",title:"Protocol Options",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},acknowledgeWindow:{kind:"parameter",type:"integer",defaultValue:"10",description:"Parameter W - Acknowledgment window.",title:"Acknowledge Window",required:!1,deprecated:!1},adsuAddressType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2"],description:"The common ASDU address size. May be either SIZE_1 or SIZE_2.",title:"Adsu Address Type",required:!1,deprecated:!1},causeOfTransmissionType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2"],description:"The cause of transmission type. May be either SIZE_1 or SIZE_2.",title:"Cause Of Transmission Type",required:!1,deprecated:!1},informationObjectAddressType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2","SIZE_3"],description:"The information address size. May be either SIZE_1, SIZE_2 or SIZE_3.",title:"Information Object Address Type",required:!1,deprecated:!1},maxUnacknowledged:{kind:"parameter",type:"integer",defaultValue:"15",description:"Parameter K - Maximum number of un-acknowledged messages.",title:"Max Unacknowledged",required:!1,deprecated:!1},timeout1:{kind:"parameter",type:"integer",defaultValue:"15000",description:"Timeout T1 in milliseconds.",title:"Timeout1",required:!1,deprecated:!1},timeout2:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout T2 in milliseconds.",title:"Timeout2",required:!1,deprecated:!1},timeout3:{kind:"parameter",type:"integer",defaultValue:"20000",description:"Timeout T3 in milliseconds.",title:"Timeout3",required:!1,deprecated:!1},causeSourceAddress:{kind:"parameter",type:"integer",description:"Whether to include the source address",title:"Cause Source Address",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout in millis to wait for client to establish a connected connection.",title:"Connection Timeout",required:!1,deprecated:!1},ignoreBackgroundScan:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether background scan transmissions should be ignored.",title:"Ignore Background Scan",required:!1,deprecated:!1},ignoreDaylightSavingTime:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore or respect DST",title:"Ignore Daylight Saving Time",required:!1,deprecated:!1},timeZone:{kind:"parameter",type:"object",defaultValue:"UTC",description:"The timezone to use. May be any Java time zone string",title:"Time Zone",required:!1,deprecated:!1},connectionId:{kind:"parameter",type:"string",description:"An identifier grouping connection instances",title:"Connection Id",required:!1,deprecated:!1}}},"ignite-cache":{type:"object",title:"Ignite Cache",group:"cache,clustering",icon:"generic24.png",description:"Perform cache operations on an Ignite cache or consume changes from a continuous query.",properties:{cacheName:{kind:"path",type:"string",description:"The cache name.",title:"Cache Name",required:!0,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},autoUnsubscribe:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether auto unsubscribe is enabled in the Continuous Query Consumer. Default value notice: ContinuousQuery.DFLT_AUTO_UNSUBSCRIBE",title:"Auto Unsubscribe",required:!1,deprecated:!1},fireExistingQueryResults:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to process existing results that match the query. Used on initialization of the Continuous Query Consumer.",title:"Fire Existing Query Results",required:!1,deprecated:!1},oneExchangePerUpdate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to pack each update in an individual Exchange, even if multiple updates are received in one batch. Only used by the Continuous Query Consumer.",title:"One Exchange Per Update",required:!1,deprecated:!1},pageSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The page size. Only used by the Continuous Query Consumer. Default value notice: ContinuousQuery.DFLT_PAGE_SIZE",title:"Page Size",required:!1,deprecated:!1},query:{kind:"parameter",type:"object",description:"The Query to execute, only needed for operations that require it, and for the Continuous Query Consumer.",title:"Query",required:!1,deprecated:!1},remoteFilter:{kind:"parameter",type:"object",description:"The remote filter, only used by the Continuous Query Consumer.",title:"Remote Filter",required:!1,deprecated:!1},timeInterval:{kind:"parameter",type:"integer",defaultValue:"0",description:"The time interval for the Continuous Query Consumer. Default value notice: ContinuousQuery.DFLT_TIME_INTERVAL",title:"Time Interval",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},cachePeekMode:{kind:"parameter",type:"object",defaultValue:"ALL",enum:["ALL","NEAR","PRIMARY","BACKUP","ONHEAP","OFFHEAP"],description:"The CachePeekMode, only needed for operations that require it (IgniteCacheOperation#SIZE).",title:"Cache Peek Mode",required:!1,deprecated:!1},failIfInexistentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail the initialization if the cache doesn't exist.",title:"Fail If Inexistent Cache",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["GET","PUT","REMOVE","SIZE","REBALANCE","QUERY","CLEAR","REPLACE"],description:"The cache operation to invoke. Possible values: GET, PUT, REMOVE, SIZE, REBALANCE, QUERY, CLEAR.",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"ignite-compute":{type:"object",title:"Ignite Compute",group:"cache,clustering",icon:"generic24.png",description:"Run compute operations on an Ignite cluster.",properties:{endpointId:{kind:"path",type:"string",description:"The endpoint ID (not used).",title:"Endpoint Id",required:!0,deprecated:!1},clusterGroupExpression:{kind:"parameter",type:"object",description:"An expression that returns the Cluster Group for the IgniteCompute instance.",title:"Cluster Group Expression",required:!1,deprecated:!1},computeName:{kind:"parameter",type:"string",description:"The name of the compute job, which will be set via IgniteCompute#withName(String).",title:"Compute Name",required:!1,deprecated:!1},executionType:{kind:"parameter",type:"object",enum:["CALL","BROADCAST","APPLY","EXECUTE","RUN","AFFINITY_CALL","AFFINITY_RUN"],description:"The compute operation to perform. Possible values: CALL, BROADCAST, APPLY, EXECUTE, RUN, AFFINITY_CALL, AFFINITY_RUN. The component expects different payload types depending on the operation.",title:"Execution Type",required:!0,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},taskName:{kind:"parameter",type:"string",description:"The task name, only applicable if using the IgniteComputeExecutionType#EXECUTE execution type.",title:"Task Name",required:!1,deprecated:!1},timeoutMillis:{kind:"parameter",type:"integer",description:"The timeout interval for triggered jobs, in milliseconds, which will be set via IgniteCompute#withTimeout(long).",title:"Timeout Millis",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"ignite-events":{type:"object",title:"Ignite Events",group:"messaging,cache,clustering",icon:"generic24.png",description:"Receive events from an Ignite cluster by creating a local event listener.",properties:{endpointId:{kind:"path",type:"string",description:"The endpoint ID (not used).",title:"Endpoint Id",required:!1,deprecated:!1},clusterGroupExpression:{kind:"parameter",type:"object",description:"The cluster group expression.",title:"Cluster Group Expression",required:!1,deprecated:!1},events:{kind:"parameter",type:"string",defaultValue:"EVTS_ALL",description:"The event types to subscribe to as a comma-separated string of event constants as defined in EventType. For example: EVT_CACHE_ENTRY_CREATED,EVT_CACHE_OBJECT_REMOVED,EVT_IGFS_DIR_CREATED.",title:"Events",required:!1,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},"ignite-idgen":{type:"object",title:"Ignite ID Generator",group:"cache,clustering",icon:"generic24.png",description:"Interact with Ignite Atomic Sequences and ID Generators .",properties:{name:{kind:"path",type:"string",description:"The sequence name.",title:"Name",required:!0,deprecated:!1},batchSize:{kind:"parameter",type:"integer",description:"The batch size.",title:"Batch Size",required:!1,deprecated:!1},initialValue:{kind:"parameter",type:"integer",defaultValue:"0",description:"The initial value.",title:"Initial Value",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["ADD_AND_GET","GET","GET_AND_ADD","GET_AND_INCREMENT","INCREMENT_AND_GET"],description:"The operation to invoke on the Ignite ID Generator. Superseded by the IgniteConstants.IGNITE_IDGEN_OPERATION header in the IN message. Possible values: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET.",title:"Operation",required:!1,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"ignite-messaging":{type:"object",title:"Ignite Messaging",group:"messaging",icon:"generic24.png",description:"Send and receive messages from an Ignite topic.",properties:{topic:{kind:"path",type:"string",description:"The topic name.",title:"Topic",required:!0,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},clusterGroupExpression:{kind:"parameter",type:"object",description:"The cluster group expression.",title:"Cluster Group Expression",required:!1,deprecated:!1},sendMode:{kind:"parameter",type:"object",defaultValue:"UNORDERED",enum:["ORDERED","UNORDERED"],description:"The send mode to use. Possible values: UNORDERED, ORDERED.",title:"Send Mode",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",description:"The timeout for the send operation when using ordered messages.",title:"Timeout",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"ignite-queue":{type:"object",title:"Ignite Queues",group:"cache,clustering,messaging",icon:"generic24.png",description:"Interact with Ignite Queue data structures.",properties:{name:{kind:"path",type:"string",description:"The queue name.",title:"Name",required:!0,deprecated:!1},capacity:{kind:"parameter",type:"integer",description:"The queue capacity. Default: non-bounded.",title:"Capacity",required:!1,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options.",title:"Configuration",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["CONTAINS","ADD","SIZE","REMOVE","ITERATOR","CLEAR","RETAIN_ALL","ARRAY","DRAIN","ELEMENT","PEEK","OFFER","POLL","TAKE","PUT"],description:"The operation to invoke on the Ignite Queue. Superseded by the IgniteConstants.IGNITE_QUEUE_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT.",title:"Operation",required:!1,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},timeoutMillis:{kind:"parameter",type:"integer",description:"The queue timeout in milliseconds. Default: no timeout.",title:"Timeout Millis",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"ignite-set":{type:"object",title:"Ignite Sets",group:"cache,clustering",icon:"generic24.png",description:"Interact with Ignite Set data structures.",properties:{name:{kind:"path",type:"string",description:"The set name.",title:"Name",required:!0,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options.",title:"Configuration",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["CONTAINS","ADD","SIZE","REMOVE","ITERATOR","CLEAR","RETAIN_ALL","ARRAY"],description:"The operation to invoke on the Ignite Set. Superseded by the IgniteConstants.IGNITE_SETS_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY.The set operation to perform.",title:"Operation",required:!1,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},imap:{type:"object",title:"IMAP",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},imaps:{type:"object",title:"IMAPS (Secure)",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},infinispan:{type:"object",title:"Infinispan",group:"cache,clustering",icon:"generic24.png",description:"Read and write from/to Infinispan distributed key/value store and data grid.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache to use. Use current to use the existing cache name from the currently configured cached manager. Or use default for the default cache manager name.",title:"Cache Name",required:!0,deprecated:!1},hosts:{kind:"parameter",type:"string",description:"Specifies the host of the cache on Infinispan instance",title:"Hosts",required:!1,deprecated:!1},queryBuilder:{kind:"parameter",type:"object",description:"Specifies the query builder.",title:"Query Builder",required:!1,deprecated:!1},secure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if we are connecting to a secured Infinispan instance",title:"Secure",required:!1,deprecated:!1},customListener:{kind:"parameter",type:"object",description:"Returns the custom listener in use, if provided",title:"Custom Listener",required:!1,deprecated:!1},eventTypes:{kind:"parameter",type:"string",description:"Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CLIENT_CACHE_ENTRY_CREATED, CLIENT_CACHE_ENTRY_MODIFIED, CLIENT_CACHE_ENTRY_REMOVED, CLIENT_CACHE_ENTRY_EXPIRED, CLIENT_CACHE_FAILOVER",title:"Event Types",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},defaultValue:{kind:"parameter",type:"object",description:"Set a specific default value for some producer operations",title:"Default Value",required:!1,deprecated:!1},key:{kind:"parameter",type:"object",description:"Set a specific key for producer operations",title:"Key",required:!1,deprecated:!1},oldValue:{kind:"parameter",type:"object",description:"Set a specific old value for some producer operations",title:"Old Value",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"PUT",enum:["PUT","PUTASYNC","PUTALL","PUTALLASYNC","PUTIFABSENT","PUTIFABSENTASYNC","GET","GETORDEFAULT","CONTAINSKEY","CONTAINSVALUE","REMOVE","REMOVEASYNC","REPLACE","REPLACEASYNC","SIZE","CLEAR","CLEARASYNC","QUERY","STATS","COMPUTE","COMPUTEASYNC"],description:"The operation to perform",title:"Operation",required:!1,deprecated:!1},value:{kind:"parameter",type:"object",description:"Set a specific value for producer operations",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cacheContainer:{kind:"parameter",type:"object",description:"Specifies the cache Container to connect",title:"Cache Container",required:!1,deprecated:!1},cacheContainerConfiguration:{kind:"parameter",type:"object",description:"The CacheContainer configuration. Used if the cacheContainer is not defined.",title:"Cache Container Configuration",required:!1,deprecated:!1},configurationProperties:{kind:"parameter",type:"object",description:"Implementation specific properties for the CacheManager",title:"Configuration Properties",required:!1,deprecated:!1},configurationUri:{kind:"parameter",type:"string",description:"An implementation specific URI for the CacheManager",title:"Configuration Uri",required:!1,deprecated:!1},flags:{kind:"parameter",type:"string",description:"A comma separated list of org.infinispan.client.hotrod.Flag to be applied by default on each cache invocation.",title:"Flags",required:!1,deprecated:!1},remappingFunction:{kind:"parameter",type:"object",description:"Set a specific remappingFunction to use in a compute operation.",title:"Remapping Function",required:!1,deprecated:!1},resultHeader:{kind:"parameter",type:"string",description:"Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader",title:"Result Header",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Define the password to access the infinispan instance",title:"Password",required:!1,deprecated:!1},saslMechanism:{kind:"parameter",type:"string",description:"Define the SASL Mechanism to access the infinispan instance",title:"Sasl Mechanism",required:!1,deprecated:!1},securityRealm:{kind:"parameter",type:"string",description:"Define the security realm to access the infinispan instance",title:"Security Realm",required:!1,deprecated:!1},securityServerName:{kind:"parameter",type:"string",description:"Define the security server name to access the infinispan instance",title:"Security Server Name",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Define the username to access the infinispan instance",title:"Username",required:!1,deprecated:!1}}},"infinispan-embedded":{type:"object",title:"Infinispan Embedded",group:"cache,clustering",icon:"generic24.png",description:"Read and write from/to Infinispan distributed key/value store and data grid.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache to use. Use current to use the existing cache name from the currently configured cached manager. Or use default for the default cache manager name.",title:"Cache Name",required:!0,deprecated:!1},queryBuilder:{kind:"parameter",type:"object",description:"Specifies the query builder.",title:"Query Builder",required:!1,deprecated:!1},clusteredListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the listener will be installed for the entire cluster",title:"Clustered Listener",required:!1,deprecated:!1},customListener:{kind:"parameter",type:"object",description:"Returns the custom listener in use, if provided",title:"Custom Listener",required:!1,deprecated:!1},eventTypes:{kind:"parameter",type:"string",description:"Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, CACHE_ENTRY_EXPIRED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED, PERSISTENCE_AVAILABILITY_CHANGED",title:"Event Types",required:!1,deprecated:!1},sync:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, the consumer will receive notifications synchronously",title:"Sync",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},defaultValue:{kind:"parameter",type:"object",description:"Set a specific default value for some producer operations",title:"Default Value",required:!1,deprecated:!1},key:{kind:"parameter",type:"object",description:"Set a specific key for producer operations",title:"Key",required:!1,deprecated:!1},oldValue:{kind:"parameter",type:"object",description:"Set a specific old value for some producer operations",title:"Old Value",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"PUT",enum:["PUT","PUTASYNC","PUTALL","PUTALLASYNC","PUTIFABSENT","PUTIFABSENTASYNC","GET","GETORDEFAULT","CONTAINSKEY","CONTAINSVALUE","REMOVE","REMOVEASYNC","REPLACE","REPLACEASYNC","SIZE","CLEAR","CLEARASYNC","QUERY","STATS","COMPUTE","COMPUTEASYNC"],description:"The operation to perform",title:"Operation",required:!1,deprecated:!1},value:{kind:"parameter",type:"object",description:"Set a specific value for producer operations",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cacheContainer:{kind:"parameter",type:"object",description:"Specifies the cache Container to connect",title:"Cache Container",required:!1,deprecated:!1},cacheContainerConfiguration:{kind:"parameter",type:"object",description:"The CacheContainer configuration. Used if the cacheContainer is not defined.",title:"Cache Container Configuration",required:!1,deprecated:!1},configurationUri:{kind:"parameter",type:"string",description:"An implementation specific URI for the CacheManager",title:"Configuration Uri",required:!1,deprecated:!1},flags:{kind:"parameter",type:"string",description:"A comma separated list of org.infinispan.context.Flag to be applied by default on each cache invocation",title:"Flags",required:!1,deprecated:!1},remappingFunction:{kind:"parameter",type:"object",description:"Set a specific remappingFunction to use in a compute operation.",title:"Remapping Function",required:!1,deprecated:!1},resultHeader:{kind:"parameter",type:"string",description:"Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader",title:"Result Header",required:!1,deprecated:!1}}},influxdb:{type:"object",title:"InfluxDB",group:"database",icon:"generic24.png",description:"Interact with InfluxDB v1, a time series database.",properties:{connectionBean:{kind:"path",type:"string",description:"Connection to the influx database, of class InfluxDB.class",title:"Connection Bean",required:!0,deprecated:!1},autoCreateDatabase:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if we want to auto create the database if it's not present",title:"Auto Create Database",required:!1,deprecated:!1},batch:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if this operation is a batch operation or not",title:"Batch",required:!1,deprecated:!1},checkDatabaseExistence:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if we want to check the database existence while starting the endpoint",title:"Check Database Existence",required:!1,deprecated:!1},databaseName:{kind:"parameter",type:"string",description:"The name of the database where the time series will be stored",title:"Database Name",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",defaultValue:"insert",description:"Define if this operation is an insert or a query",title:"Operation",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"Define the query in case of operation query",title:"Query",required:!1,deprecated:!1},retentionPolicy:{kind:"parameter",type:"string",defaultValue:"default",description:"The string that defines the retention policy to the data created by the endpoint",title:"Retention Policy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},influxdb2:{type:"object",title:"InfluxDB2",group:"database",icon:"generic24.png",description:"Interact with InfluxDB v2, a time series database.",properties:{connectionBean:{kind:"path",type:"string",description:"Connection to the Influx database, of class com.influxdb.client.InfluxDBClient.class.",title:"Connection Bean",required:!0,deprecated:!1},autoCreateBucket:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Define if we want to auto create the bucket if it's not present.",title:"Auto Create Bucket",required:!1,deprecated:!1},autoCreateOrg:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Define if we want to auto create the organization if it's not present.",title:"Auto Create Org",required:!1,deprecated:!1},bucket:{kind:"parameter",type:"string",description:"The name of the bucket where the time series will be stored.",title:"Bucket",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"INSERT",enum:["INSERT","PING"],description:"Define if this operation is an insert of ping.",title:"Operation",required:!1,deprecated:!1},org:{kind:"parameter",type:"string",description:"The name of the organization where the time series will be stored.",title:"Org",required:!0,deprecated:!1},retentionPolicy:{kind:"parameter",type:"string",defaultValue:"default",description:"Define the retention policy to the data created by the endpoint.",title:"Retention Policy",required:!1,deprecated:!1},writePrecision:{kind:"parameter",type:"object",defaultValue:"ms",enum:["ms","s","us","ns"],description:"The format or precision of time series timestamps.",title:"Write Precision",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},irc:{type:"object",title:"IRC",group:"chat",icon:"generic24.png",description:"Send and receive messages to/from and IRC chat.",properties:{hostname:{kind:"path",type:"string",description:"Hostname for the IRC chat server",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number for the IRC chat server. If no port is configured then a default port of either 6667, 6668 or 6669 is used.",title:"Port",required:!1,deprecated:!1},autoRejoin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to auto re-join when being kicked",title:"Auto Rejoin",required:!1,deprecated:!1},channels:{kind:"parameter",type:"string",description:"Comma separated list of IRC channels.",title:"Channels",required:!1,deprecated:!1},commandTimeout:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Delay in milliseconds before sending commands after the connection is established.",title:"Command Timeout",required:!1,deprecated:!1},keys:{kind:"parameter",type:"string",description:"Comma separated list of keys for channels.",title:"Keys",required:!1,deprecated:!1},namesOnJoin:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sends NAMES command to channel after joining it. onReply has to be true in order to process the result which will have the header value irc.num = '353'.",title:"Names On Join",required:!1,deprecated:!1},nickname:{kind:"parameter",type:"string",description:"The nickname used in chat.",title:"Nickname",required:!1,deprecated:!1},persistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Use persistent messages.",title:"Persistent",required:!1,deprecated:!0},realname:{kind:"parameter",type:"string",description:"The IRC user's actual name.",title:"Realname",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},colors:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not the server supports color codes.",title:"Colors",required:!1,deprecated:!1},onJoin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle user join events.",title:"On Join",required:!1,deprecated:!1},onKick:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle kick events.",title:"On Kick",required:!1,deprecated:!1},onMode:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle mode change events.",title:"On Mode",required:!1,deprecated:!1},onNick:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle nickname change events.",title:"On Nick",required:!1,deprecated:!1},onPart:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle user part events.",title:"On Part",required:!1,deprecated:!1},onPrivmsg:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle private message events.",title:"On Privmsg",required:!1,deprecated:!1},onQuit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle user quit events.",title:"On Quit",required:!1,deprecated:!1},onReply:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to handle general responses to commands or informational messages.",title:"On Reply",required:!1,deprecated:!1},onTopic:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle topic change events.",title:"On Topic",required:!1,deprecated:!1},nickPassword:{kind:"parameter",type:"string",description:"Your IRC server nickname password.",title:"Nick Password",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The IRC server password.",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Used for configuring security using SSL. Reference to a org.apache.camel.support.jsse.SSLContextParameters in the Registry. This reference overrides any configured SSLContextParameters at the component level. Note that this setting overrides the trustManager option.",title:"Ssl Context Parameters",required:!1,deprecated:!1},trustManager:{kind:"parameter",type:"object",description:"The trust manager used to verify the SSL server's certificate.",title:"Trust Manager",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The IRC server user name.",title:"Username",required:!1,deprecated:!1}}},ironmq:{type:"object",title:"IronMQ",group:"cloud,messaging",icon:"generic24.png",description:"Send and receive messages to/from IronMQ an elastic and durable hosted message queue as a service.",properties:{queueName:{kind:"path",type:"string",description:"The name of the IronMQ queue",title:"Queue Name",required:!0,deprecated:!1},client:{kind:"parameter",type:"object",description:"Reference to a io.iron.ironmq.Client in the Registry.",title:"Client",required:!1,deprecated:!1},ironMQCloud:{kind:"parameter",type:"string",defaultValue:"https://mq-aws-us-east-1-1.iron.io",description:"IronMq Cloud url. Urls for public clusters: https://mq-aws-us-east-1-1.iron.io (US) and https://mq-aws-eu-west-1-1.iron.io (EU)",title:"Iron MQCloud",required:!1,deprecated:!1},preserveHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should message headers be preserved when publishing messages. This will add the Camel headers to the Iron MQ message as a json payload with a header list, and a message body. Useful when Camel is both consumer and producer.",title:"Preserve Headers",required:!1,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"IronMQ projectId",title:"Project Id",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"IronMQ token",title:"Token",required:!1,deprecated:!1},batchDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should messages be deleted in one batch. This will limit the number of api requests since messages are deleted in one request, instead of one pr. exchange. If enabled care should be taken that the consumer is idempotent when processing exchanges.",title:"Batch Delete",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of concurrent consumers.",title:"Concurrent Consumers",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of messages to poll pr. call. Maximum is 100.",title:"Max Messages Per Poll",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"60",description:"After timeout (in seconds), item will be placed back onto the queue.",title:"Timeout",required:!1,deprecated:!1},wait:{kind:"parameter",type:"integer",description:"Time in seconds to wait for a message to become available. This enables long polling. Default is 0 (does not wait), maximum is 30.",title:"Wait",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},visibilityDelay:{kind:"parameter",type:"integer",description:"The item will not be available on the queue until this many seconds have passed. Default is 0 seconds.",title:"Visibility Delay",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},jcache:{type:"object",title:"JCache",group:"cache,clustering",icon:"generic24.png",description:"Perform caching operations against JSR107/JCache.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},cacheConfiguration:{kind:"parameter",type:"object",description:"A Configuration for the Cache",title:"Cache Configuration",required:!1,deprecated:!1},cacheConfigurationProperties:{kind:"parameter",type:"object",description:"The Properties for the javax.cache.spi.CachingProvider to create the CacheManager",title:"Cache Configuration Properties",required:!1,deprecated:!1},cachingProvider:{kind:"parameter",type:"string",description:"The fully qualified class name of the javax.cache.spi.CachingProvider",title:"Caching Provider",required:!1,deprecated:!1},configurationUri:{kind:"parameter",type:"string",description:"An implementation specific URI for the CacheManager",title:"Configuration Uri",required:!1,deprecated:!1},managementEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether management gathering is enabled",title:"Management Enabled",required:!1,deprecated:!1},readThrough:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If read-through caching should be used",title:"Read Through",required:!1,deprecated:!1},statisticsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether statistics gathering is enabled",title:"Statistics Enabled",required:!1,deprecated:!1},storeByValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If cache should use store-by-value or store-by-reference semantics",title:"Store By Value",required:!1,deprecated:!1},writeThrough:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If write-through caching should be used",title:"Write Through",required:!1,deprecated:!1},filteredEvents:{kind:"parameter",type:"string",enum:["CREATED","UPDATED","REMOVED","EXPIRED"],description:"Events a consumer should filter (multiple events can be separated by comma). If using filteredEvents option, then eventFilters one will be ignored",title:"Filtered Events",required:!1,deprecated:!1},oldValueRequired:{kind:"parameter",type:"boolean",defaultValue:"false",description:"if the old value is required for events",title:"Old Value Required",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"if the event listener should block the thread causing the event",title:"Synchronous",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eventFilters:{kind:"parameter",type:"array",description:"The CacheEntryEventFilter. If using eventFilters option, then filteredEvents one will be ignored",title:"Event Filters",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},action:{kind:"parameter",type:"string",description:"To configure using a cache operation by default. If an operation in the message header, then the operation from the header takes precedence.",title:"Action",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cacheLoaderFactory:{kind:"parameter",type:"object",description:"The CacheLoader factory",title:"Cache Loader Factory",required:!1,deprecated:!1},cacheWriterFactory:{kind:"parameter",type:"object",description:"The CacheWriter factory",title:"Cache Writer Factory",required:!1,deprecated:!1},createCacheIfNotExists:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Configure if a cache need to be created if it does exist or can't be pre-configured.",title:"Create Cache If Not Exists",required:!1,deprecated:!1},expiryPolicyFactory:{kind:"parameter",type:"object",description:"The ExpiryPolicy factory",title:"Expiry Policy Factory",required:!1,deprecated:!1},lookupProviders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configure if a camel-cache should try to find implementations of jcache api in runtimes like OSGi.",title:"Lookup Providers",required:!1,deprecated:!1}}},jcr:{type:"object",title:"JCR",group:"database,cms",icon:"generic24.png",description:"Read and write nodes to/from a JCR compliant content repository.",properties:{host:{kind:"path",type:"string",description:"Name of the javax.jcr.Repository to lookup from the Camel registry to be used.",title:"Host",required:!0,deprecated:!1},base:{kind:"path",type:"string",description:"Get the base node when accessing the repository",title:"Base",required:!1,deprecated:!1},deep:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When isDeep is true, events whose associated parent node is at absPath or within its subgraph are received.",title:"Deep",required:!1,deprecated:!1},eventTypes:{kind:"parameter",type:"integer",description:"eventTypes (a combination of one or more event types encoded as a bit mask value such as javax.jcr.observation.Event.NODE_ADDED, javax.jcr.observation.Event.NODE_REMOVED, etc.).",title:"Event Types",required:!1,deprecated:!1},nodeTypeNames:{kind:"parameter",type:"string",description:"When a comma separated nodeTypeName list string is set, only events whose associated parent node has one of the node types (or a subtype of one of the node types) in this list will be received.",title:"Node Type Names",required:!1,deprecated:!1},noLocal:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If noLocal is true, then events generated by the session through which the listener was registered are ignored. Otherwise, they are not ignored.",title:"No Local",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for login",title:"Password",required:!1,deprecated:!1},sessionLiveCheckInterval:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval in milliseconds to wait before each session live checking The default value is 60000 ms.",title:"Session Live Check Interval",required:!1,deprecated:!1},sessionLiveCheckIntervalOnStart:{kind:"parameter",type:"duration",defaultValue:"3000",description:"Interval in milliseconds to wait before the first session live checking. The default value is 3000 ms.",title:"Session Live Check Interval On Start",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for login",title:"Username",required:!1,deprecated:!1},uuids:{kind:"parameter",type:"string",description:"When a comma separated uuid list string is set, only events whose associated parent node has one of the identifiers in the comma separated uuid list will be received.",title:"Uuids",required:!1,deprecated:!1},workspaceName:{kind:"parameter",type:"string",description:"The workspace to access. If it's not specified then the default one will be used",title:"Workspace Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},jdbc:{type:"object",title:"JDBC",group:"database",icon:"generic24.png",description:"Access databases through SQL and JDBC.",properties:{dataSourceName:{kind:"path",type:"string",description:"Name of DataSource to lookup in the Registry. If the name is dataSource or default, then Camel will attempt to lookup a default DataSource from the registry, meaning if there is a only one instance of DataSource found, then this DataSource will be used.",title:"Data Source Name",required:!0,deprecated:!1},allowNamedParameters:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using named parameters in the queries.",title:"Allow Named Parameters",required:!1,deprecated:!1},outputClass:{kind:"parameter",type:"string",description:"Specify the full package and class name to use as conversion when outputType=SelectOne or SelectList.",title:"Output Class",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"SelectList",enum:["SelectOne","SelectList","StreamList"],description:"Determines the output the producer should use.",title:"Output Type",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Optional parameters to the java.sql.Statement. For example to set maxRows, fetchSize etc.",title:"Parameters",required:!1,deprecated:!1},readSize:{kind:"parameter",type:"integer",description:"The default maximum number of rows that can be read by a polling query. The default value is 0.",title:"Read Size",required:!1,deprecated:!1},resetAutoCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Camel will set the autoCommit on the JDBC connection to be false, commit the change after executed the statement and reset the autoCommit flag of the connection at the end, if the resetAutoCommit is true. If the JDBC connection doesn't support to reset the autoCommit flag, you can set the resetAutoCommit flag to be false, and Camel will not try to reset the autoCommit flag. When used with XA transactions you most likely need to set it to false so that the transaction manager is in charge of committing this tx.",title:"Reset Auto Commit",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether transactions are in use.",title:"Transacted",required:!1,deprecated:!1},useGetBytesForBlob:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To read BLOB columns as bytes instead of string data. This may be needed for certain databases such as Oracle where you must read BLOB columns as bytes.",title:"Use Get Bytes For Blob",required:!1,deprecated:!1},useHeadersAsParameters:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this option to true to use the prepareStatementStrategy with named parameters. This allows to define queries with named placeholders, and use headers with the dynamic values for the query placeholders.",title:"Use Headers As Parameters",required:!1,deprecated:!1},useJDBC4ColumnNameAndLabelSemantics:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to use JDBC 4 or JDBC 3.0 or older semantic when retrieving column name. JDBC 4.0 uses columnLabel to get the column name where as JDBC 3.0 uses both columnName or columnLabel. Unfortunately JDBC drivers behave differently so you can use this option to work out issues around your JDBC driver if you get problem using this component This option is default true.",title:"Use JDBC4 Column Name And Label Semantics",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},beanRowMapper:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.jdbc.BeanRowMapper when using outputClass. The default implementation will lower case the row names and skip underscores, and dashes. For example CUST_ID is mapped as custId.",title:"Bean Row Mapper",required:!1,deprecated:!1},connectionStrategy:{kind:"parameter",type:"object",description:"To use a custom strategy for working with connections. Do not use a custom strategy when using the spring-jdbc component because a special Spring ConnectionStrategy is used by default to support Spring Transactions.",title:"Connection Strategy",required:!1,deprecated:!1},prepareStatementStrategy:{kind:"parameter",type:"object",description:"Allows the plugin to use a custom org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy to control preparation of the query and prepared statement.",title:"Prepare Statement Strategy",required:!1,deprecated:!1}}},jetty:{type:"object",title:"Jetty",group:"http",icon:"generic24.png",description:"Expose HTTP endpoints using Jetty 11.",properties:{httpUri:{kind:"path",type:"string",description:"The url of the HTTP endpoint to call.",title:"Http Uri",required:!0,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},httpBinding:{kind:"parameter",type:"object",description:"To use a custom HttpBinding to control the mapping between Camel message and HttpClient.",title:"Http Binding",required:!1,deprecated:!1},chunked:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is false the Servlet will disable the HTTP streaming and set the content-length header on the response",title:"Chunked",required:!1,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",title:"Disable Stream Cache",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},async:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configure the consumer to work in async mode",title:"Async",required:!1,deprecated:!1},continuationTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Allows to set a timeout in millis when using Jetty as consumer (server). By default Jetty uses 30000. You can use a value of = 0 to never expire. If a timeout occurs then the request will be expired and Jetty will return back a http error 503 to the client. This option is only in use when using Jetty with the Asynchronous Routing Engine.",title:"Continuation Timeout",required:!1,deprecated:!1},enableCORS:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, Jetty server will setup the CrossOriginFilter which supports the CORS out of box.",title:"Enable CORS",required:!1,deprecated:!1},enableJmx:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is true, Jetty JMX support will be enabled for this endpoint. See Jetty JMX support for more details.",title:"Enable Jmx",required:!1,deprecated:!1},enableMultipartFilter:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether org.apache.camel.component.jetty.MultiPartFilter is enabled or not. You should set this value to false when bridging endpoints, to ensure multipart requests is proxied/bridged as well.",title:"Enable Multipart Filter",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple methods can be specified separated by comma.",title:"Http Method Restrict",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},responseBufferSize:{kind:"parameter",type:"integer",description:"To use a custom buffer size on the jakarta.servlet.ServletResponse.",title:"Response Buffer Size",required:!1,deprecated:!1},sendDateHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, jetty server will send the date header to the client which sends the request. NOTE please make sure there is no any other camel-jetty endpoint is share the same port, otherwise this option may not work as expected.",title:"Send Date Header",required:!1,deprecated:!1},sendServerVersion:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If the option is true, jetty will send the server header with the jetty version information to the client which sends the request. NOTE please make sure there is no any other camel-jetty endpoint is share the same port, otherwise this option may not work as expected.",title:"Send Server Version",required:!1,deprecated:!1},sessionSupport:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable the session manager on the server side of Jetty.",title:"Session Support",required:!1,deprecated:!1},useContinuation:{kind:"parameter",type:"boolean",description:"Whether or not to use Jetty continuations for the Jetty Server.",title:"Use Continuation",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eagerCheckContentAvailable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to eager check whether the HTTP requests has content if the content-length header is 0 or not present. This can be turned on in case HTTP clients do not send streamed data.",title:"Eager Check Content Available",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},filterInitParameters:{kind:"parameter",type:"object",description:"Configuration of the filter init parameters. These parameters will be applied to the filter list before starting the jetty server.",title:"Filter Init Parameters",required:!1,deprecated:!1},filters:{kind:"parameter",type:"array",description:"Allows using a custom filters which is putted into a list and can be find in the Registry. Multiple values can be separated by comma.",title:"Filters",required:!1,deprecated:!1},handlers:{kind:"parameter",type:"array",description:"Specifies a comma-delimited set of Handler instances to lookup in your Registry. These handlers are added to the Jetty servlet context (for example, to add security). Important: You can not use different handlers with different Jetty endpoints using the same port number. The handlers is associated to the port number. If you need different handlers, then use different port numbers.",title:"Handlers",required:!1,deprecated:!1},mapHttpMessageBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",title:"Map Http Message Body",required:!1,deprecated:!1},mapHttpMessageFormUrlEncodedBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.",title:"Map Http Message Form Url Encoded Body",required:!1,deprecated:!1},mapHttpMessageHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping.",title:"Map Http Message Headers",required:!1,deprecated:!1},multipartFilter:{kind:"parameter",type:"object",description:"Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true.",title:"Multipart Filter",required:!1,deprecated:!1},optionsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",title:"Options Enabled",required:!1,deprecated:!1},traceEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off.",title:"Trace Enabled",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},jgroups:{type:"object",title:"JGroups",group:"clustering,messaging",icon:"generic24.png",description:"Exchange messages with JGroups clusters.",properties:{clusterName:{kind:"path",type:"string",description:"The name of the JGroups cluster the component should connect to.",title:"Cluster Name",required:!0,deprecated:!1},channelProperties:{kind:"parameter",type:"string",description:"Specifies configuration properties of the JChannel used by the endpoint.",title:"Channel Properties",required:!1,deprecated:!1},enableViewMessages:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the consumer endpoint will receive org.jgroups.View messages as well (not only org.jgroups.Message instances). By default only regular messages are consumed by the endpoint.",title:"Enable View Messages",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"jgroups-raft":{type:"object",title:"JGroups raft",group:"clustering,messaging",icon:"generic24.png",description:"Exchange messages with JGroups-raft clusters.",properties:{clusterName:{kind:"path",type:"string",description:"The name of the JGroupsraft cluster the component should connect to.",title:"Cluster Name",required:!0,deprecated:!1},enableRoleChangeEvents:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the consumer endpoint will receive roleChange event as well (not just connecting and/or using the state machine). By default it is set to false.",title:"Enable Role Change Events",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},jira:{type:"object",title:"Jira",group:"document",icon:"generic24.png",description:"Interact with JIRA issue tracker.",properties:{type:{kind:"path",type:"object",enum:["ADDCOMMENT","ADDISSUE","ATTACH","DELETEISSUE","NEWISSUES","NEWCOMMENTS","WATCHUPDATES","UPDATEISSUE","TRANSITIONISSUE","WATCHERS","ADDISSUELINK","ADDWORKLOG","FETCHISSUE","FETCHCOMMENTS"],description:"Operation to perform. Consumers: NewIssues, NewComments. Producers: AddIssue, AttachFile, DeleteIssue, TransitionIssue, UpdateIssue, Watchers. See this class javadoc description for more information.",title:"Type",required:!0,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"6000",description:"Time in milliseconds to elapse for the next poll.",title:"Delay",required:!1,deprecated:!1},jiraUrl:{kind:"parameter",type:"string",description:"The Jira server url, example: http://my_jira.com:8081",title:"Jira Url",required:!0,deprecated:!1},jql:{kind:"parameter",type:"string",description:"JQL is the query language from JIRA which allows you to retrieve the data you want. For example jql=project=MyProject Where MyProject is the product key in Jira. It is important to use the RAW() and set the JQL inside it to prevent camel parsing it, example: RAW(project in (MYP, COM) AND resolution = Unresolved)",title:"Jql",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",defaultValue:"50",description:"Max number of issues to search for",title:"Max Results",required:!1,deprecated:!1},sendOnlyUpdatedField:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Indicator for sending only changed fields in exchange body or issue object. By default consumer sends only changed fields.",title:"Send Only Updated Field",required:!1,deprecated:!1},watchedFields:{kind:"parameter",type:"string",defaultValue:"Status,Priority",description:"Comma separated list of fields to watch for changes. Status,Priority are the defaults.",title:"Watched Fields",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"(OAuth or Personal Access Token authentication) The access token generated by the Jira server.",title:"Access Token",required:!1,deprecated:!1},consumerKey:{kind:"parameter",type:"string",description:"(OAuth only) The consumer key from Jira settings.",title:"Consumer Key",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"(Basic authentication only) The password or the API Token to authenticate to the Jira server. Use only if username basic authentication is used.",title:"Password",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"string",description:"(OAuth only) The private key generated by the client to encrypt the conversation to the server.",title:"Private Key",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"(Basic authentication only) The username to authenticate to the Jira server. Use only if OAuth is not enabled on the Jira server. Do not set the username and OAuth token parameter, if they are both set, the username basic authentication takes precedence.",title:"Username",required:!1,deprecated:!1},verificationCode:{kind:"parameter",type:"string",description:"(OAuth only) The verification code from Jira generated in the first step of the authorization proccess.",title:"Verification Code",required:!1,deprecated:!1}}},jms:{type:"object",title:"JMS",group:"messaging",icon:"generic24.png",description:"Sent and receive messages to/from a JMS Queue or Topic.",properties:{destinationType:{kind:"path",type:"string",defaultValue:"queue",enum:["queue","topic","temp-queue","temp-topic"],description:"The kind of destination to use",title:"Destination Type",required:!1,deprecated:!1},destinationName:{kind:"path",type:"string",description:"Name of the queue or topic to use as destination",title:"Destination Name",required:!0,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead.",title:"Client Id",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},durableSubscriptionName:{kind:"parameter",type:"string",description:"The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",title:"Durable Subscription Name",required:!1,deprecated:!1},jmsMessageType:{kind:"parameter",type:"object",enum:["Bytes","Map","Object","Stream","Text"],description:"Allows you to force the use of a specific jakarta.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it.",title:"Jms Message Type",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",title:"Reply To",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},acknowledgementModeName:{kind:"parameter",type:"string",defaultValue:"AUTO_ACKNOWLEDGE",enum:["SESSION_TRANSACTED","CLIENT_ACKNOWLEDGE","AUTO_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"],description:"The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",title:"Acknowledgement Mode Name",required:!1,deprecated:!1},artemisConsumerPriority:{kind:"parameter",type:"integer",description:"Consumer priorities allow you to ensure that high priority consumers receive messages while they are active. Normally, active consumers connected to a queue receive messages from it in a round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if multiple active consumers exist with the same high priority. Messages will only going to lower priority consumers when the high priority consumers do not have credit available to consume the message, or those high priority consumers have declined to accept the message (for instance because it does not meet the criteria of any selectors associated with the consumer).",title:"Artemis Consumer Priority",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",title:"Async Consumer",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},cacheLevel:{kind:"parameter",type:"integer",description:"Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details.",title:"Cache Level",required:!1,deprecated:!1},cacheLevelName:{kind:"parameter",type:"string",defaultValue:"CACHE_AUTO",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information.",title:"Cache Level Name",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Concurrent Consumers",required:!1,deprecated:!1},maxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Max Concurrent Consumers",required:!1,deprecated:!1},replyToDeliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to use persistent delivery by default for replies.",title:"Reply To Delivery Persistent",required:!1,deprecated:!1},selector:{kind:"parameter",type:"string",description:"Sets the JMS selector to use",title:"Selector",required:!1,deprecated:!1},subscriptionDurable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription durable. The durable subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a durable subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.",title:"Subscription Durable",required:!1,deprecated:!1},subscriptionName:{kind:"parameter",type:"string",description:"Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2.0).",title:"Subscription Name",required:!1,deprecated:!1},subscriptionShared:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription shared. The shared subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a shared subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can (and often will) be combined with subscriptionDurable as well. Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well. Requires a JMS 2.0 compatible message broker.",title:"Subscription Shared",required:!1,deprecated:!1},acceptMessagesWhileStopping:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the consumer accept messages while it is stopping. You may consider enabling this option, if you start and stop JMS routes at runtime, while there are still messages enqueued on the queue. If this option is false, and you stop the JMS route, then messages may be rejected, and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and eventually the message may be moved at a dead letter queue on the JMS broker. To avoid this its recommended to enable this option.",title:"Accept Messages While Stopping",required:!1,deprecated:!1},allowReplyManagerQuickStop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the DefaultMessageListenerContainer used in the reply managers for request-reply messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is currently being stopped. This quick stop ability is enabled by default in the regular JMS consumers but to enable for reply managers you must enable this flag.",title:"Allow Reply Manager Quick Stop",required:!1,deprecated:!1},consumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type to use, which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Consumer Type",required:!1,deprecated:!1},defaultTaskExecutorType:{kind:"parameter",type:"object",enum:["ThreadPool","SimpleAsync"],description:"Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's ThreadPoolTaskExecutor with optimal values - cached threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsync for reply consumers. The use of ThreadPool is recommended to reduce thread trash in elastic configurations with dynamically increasing and decreasing concurrent consumers.",title:"Default Task Executor Type",required:!1,deprecated:!1},eagerLoadingOfProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",title:"Eager Loading Of Properties",required:!1,deprecated:!1},eagerPoisonBody:{kind:"parameter",type:"string",defaultValue:"Poison JMS message due to ${exception.message}",description:"If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",title:"Eager Poison Body",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},exposeListenerSession:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the listener session should be exposed when consuming messages.",title:"Expose Listener Session",required:!1,deprecated:!1},replyToConsumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type of the reply consumer (when doing request/reply), which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Reply To Consumer Type",required:!1,deprecated:!1},replyToSameDestinationAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",title:"Reply To Same Destination Allowed",required:!1,deprecated:!1},taskExecutor:{kind:"parameter",type:"object",description:"Allows you to specify a custom task executor for consuming messages.",title:"Task Executor",required:!1,deprecated:!1},deliveryDelay:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker.",title:"Delivery Delay",required:!1,deprecated:!1},deliveryMode:{kind:"parameter",type:"integer",enum:["1","2"],description:"Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",title:"Delivery Mode",required:!1,deprecated:!1},deliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether persistent delivery is used by default.",title:"Delivery Persistent",required:!1,deprecated:!1},explicitQosEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",title:"Explicit Qos Enabled",required:!1,deprecated:!1},formatDateHeadersToIso8601:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether JMS date properties should be formatted according to the ISO 8601 standard.",title:"Format Date Headers To Iso8601",required:!1,deprecated:!1},preserveMessageQos:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header.",title:"Preserve Message Qos",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",defaultValue:"4",enum:["1","2","3","4","5","6","7","8","9"],description:"Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",title:"Priority",required:!1,deprecated:!1},replyToConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Concurrent Consumers",required:!1,deprecated:!1},replyToMaxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Max Concurrent Consumers",required:!1,deprecated:!1},replyToOnTimeoutMaxConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS.",title:"Reply To On Timeout Max Concurrent Consumers",required:!1,deprecated:!1},replyToOverride:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",title:"Reply To Override",required:!1,deprecated:!1},replyToType:{kind:"parameter",type:"object",enum:["Temporary","Shared","Exclusive"],description:"Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running in a clustered environment, and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive.",title:"Reply To Type",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"duration",defaultValue:"20000",description:"The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.",title:"Request Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"integer",defaultValue:"-1",description:"When sending messages, specifies the time-to-live of the message (in milliseconds).",title:"Time To Live",required:!1,deprecated:!1},allowAdditionalHeaders:{kind:"parameter",type:"string",description:"This option is used to allow additional headers which may have values that are invalid according to JMS specification. For example some message systems such as WMQ do this with header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types. You can specify multiple header names separated by comma, and use as suffix for wildcard matching.",title:"Allow Additional Headers",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},alwaysCopyMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations, such as when a replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set)",title:"Always Copy Message",required:!1,deprecated:!1},correlationProperty:{kind:"parameter",type:"string",description:"When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS property to correlate messages. If set messages will be correlated solely on the value of this property JMSCorrelationID property will be ignored and not set by Camel.",title:"Correlation Property",required:!1,deprecated:!1},disableTimeToLive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expire on the receiver system. See below in section About time to live for more details.",title:"Disable Time To Live",required:!1,deprecated:!1},forceSendOriginalMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS destination if you touch the headers (get or set) during the route. Set this option to true to force Camel to send the original JMS message that was received.",title:"Force Send Original Message",required:!1,deprecated:!1},includeSentJMSMessageID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS client when the message was sent to the JMS destination.",title:"Include Sent JMSMessage ID",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},replyToCacheLevelName:{kind:"parameter",type:"string",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the reply consumer when doing request/reply over JMS. This option only applies when using fixed reply queues (not temporary). Camel will by default use: CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE_NONE is not allowed, and you must use a higher value such as CACHE_CONSUMER or CACHE_SESSION.",title:"Reply To Cache Level Name",required:!1,deprecated:!1},replyToDestinationSelectorName:{kind:"parameter",type:"string",description:"Sets the JMS Selector using the fixed name to be used so you can filter out your own replies from the others when using a shared queue (that is, if you are not using a temporary reply queue).",title:"Reply To Destination Selector Name",required:!1,deprecated:!1},streamMessageTypeEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls which kind will be used. By default BytesMessage is used which enforces the entire message payload to be read into memory. By enabling this option the message payload is read into memory in chunks and each chunk is then written to the StreamMessage until no more data.",title:"Stream Message Type Enabled",required:!1,deprecated:!1},allowSerializedHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls whether or not to include serialized headers. Applies only when transferExchange is true. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Allow Serialized Headers",required:!1,deprecated:!1},artemisStreamingEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is being used.",title:"Artemis Streaming Enabled",required:!1,deprecated:!1},asyncStartListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that if the connection could not be established, then an exception is logged at WARN level, and the consumer will not be able to receive messages; You can then restart the route to retry.",title:"Async Start Listener",required:!1,deprecated:!1},asyncStopListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.",title:"Async Stop Listener",required:!1,deprecated:!1},destinationResolver:{kind:"parameter",type:"object",description:"A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry).",title:"Destination Resolver",required:!1,deprecated:!1},errorHandler:{kind:"parameter",type:"object",description:"Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom errorHandler.",title:"Error Handler",required:!1,deprecated:!1},exceptionListener:{kind:"parameter",type:"object",description:"Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.",title:"Exception Listener",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},idleConsumerLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specify the limit for the number of consumers that are allowed to be idle at any given time.",title:"Idle Consumer Limit",required:!1,deprecated:!1},idleTaskExecutionLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting). There is additional doc available from Spring.",title:"Idle Task Execution Limit",required:!1,deprecated:!1},includeAllJMSXProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",title:"Include All JMSXProperties",required:!1,deprecated:!1},jmsKeyFormatStrategy:{kind:"parameter",type:"object",enum:["default","passthrough"],description:"Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.",title:"Jms Key Format Strategy",required:!1,deprecated:!1},mapJmsMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc.",title:"Map Jms Message",required:!1,deprecated:!1},maxMessagesPerTask:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max), then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.",title:"Max Messages Per Task",required:!1,deprecated:!1},messageConverter:{kind:"parameter",type:"object",description:"To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a jakarta.jms.Message.",title:"Message Converter",required:!1,deprecated:!1},messageCreatedStrategy:{kind:"parameter",type:"object",description:"To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message.",title:"Message Created Strategy",required:!1,deprecated:!1},messageIdEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When sending, specifies whether message IDs should be added. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value.",title:"Message Id Enabled",required:!1,deprecated:!1},messageListenerContainerFactory:{kind:"parameter",type:"object",description:"Registry ID of the MessageListenerContainerFactory used to determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use to consume messages. Setting this will automatically set consumerType to Custom.",title:"Message Listener Container Factory",required:!1,deprecated:!1},messageTimestampEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether timestamps should be enabled by default on sending messages. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal value.",title:"Message Timestamp Enabled",required:!1,deprecated:!1},pubSubNoLocal:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to inhibit the delivery of messages published by its own connection.",title:"Pub Sub No Local",required:!1,deprecated:!1},receiveTimeout:{kind:"parameter",type:"duration",defaultValue:"1000",description:"The timeout for receiving messages (in milliseconds).",title:"Receive Timeout",required:!1,deprecated:!1},recoveryInterval:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds.",title:"Recovery Interval",required:!1,deprecated:!1},requestTimeoutCheckerInterval:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout.",title:"Request Timeout Checker Interval",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The caught exception is required to be serializable. The original Exception on the consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException when returned to the producer. Use this with caution as the data is using Java Object serialization and requires the received to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumer!",title:"Transfer Exception",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the payloads is an Exchange and not a regular payload. Use this with caution as the data is using Java Object serialization and requires the receiver to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumers having to use compatible Camel versions!",title:"Transfer Exchange",required:!1,deprecated:!1},useMessageIDAsCorrelationID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.",title:"Use Message IDAs Correlation ID",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedCounter:{kind:"parameter",type:"integer",defaultValue:"50",description:"Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.",title:"Wait For Provision Correlation To Be Updated Counter",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedThreadSleepingTime:{kind:"parameter",type:"duration",defaultValue:"100",description:"Interval in millis to sleep each time while waiting for provisional correlation id to be updated.",title:"Wait For Provision Correlation To Be Updated Thread Sleeping Time",required:!1,deprecated:!1},errorHandlerLoggingLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Allows to configure the default errorHandler logging level for logging uncaught exceptions.",title:"Error Handler Logging Level",required:!1,deprecated:!1},errorHandlerLogStackTrace:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows to control whether stacktraces should be logged or not, by the default errorHandler.",title:"Error Handler Log Stack Trace",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Username",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to use transacted mode",title:"Transacted",required:!1,deprecated:!1},transactedInOut:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether InOut operations (request reply) default to using transacted mode If this flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS: that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not taken into account. Depending on the Java EE transaction context, the container makes its own decisions on these values. Analogously, these parameters are not taken into account within a locally managed transaction either, since Spring JMS operates on an existing JMS Session in this case. Setting this flag to true will use a short local JMS transaction when running outside of a managed transaction, and a synchronized local JMS transaction in case of a managed transaction (other than an XA transaction) being present. This has the effect of a local JMS transaction being managed alongside the main transaction (which might be a native JDBC transaction), with the JMS transaction committing right after the main transaction.",title:"Transacted In Out",required:!1,deprecated:!1},lazyCreateTransactionManager:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true.",title:"Lazy Create Transaction Manager",required:!1,deprecated:!1},transactionManager:{kind:"parameter",type:"object",description:"The Spring transaction manager to use.",title:"Transaction Manager",required:!1,deprecated:!1},transactionName:{kind:"parameter",type:"string",description:"The name of the transaction to use.",title:"Transaction Name",required:!1,deprecated:!1},transactionTimeout:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The timeout value of the transaction (in seconds), if using transacted mode.",title:"Transaction Timeout",required:!1,deprecated:!1}}},jmx:{type:"object",title:"JMX",group:"monitoring",icon:"generic24.png",description:"Receive JMX notifications.",properties:{serverURL:{kind:"path",type:"string",description:"Server url comes from the remaining endpoint. Use platform to connect to local JVM.",title:"Server URL",required:!1,deprecated:!1},format:{kind:"parameter",type:"string",defaultValue:"xml",enum:["xml","raw"],description:"Format for the message body. Either xml or raw. If xml, the notification is serialized to xml. If raw, then the raw java object is set as the body.",title:"Format",required:!1,deprecated:!1},granularityPeriod:{kind:"parameter",type:"duration",defaultValue:"10000",description:"The frequency to poll the bean to check the monitor (monitor types only).",title:"Granularity Period",required:!1,deprecated:!1},monitorType:{kind:"parameter",type:"string",enum:["counter","gauge","string"],description:"The type of monitor to create. One of string, gauge, counter (monitor types only).",title:"Monitor Type",required:!1,deprecated:!1},objectDomain:{kind:"parameter",type:"string",description:"The domain for the mbean you're connecting to",title:"Object Domain",required:!0,deprecated:!1},objectName:{kind:"parameter",type:"string",description:"The name key for the mbean you're connecting to. This value is mutually exclusive with the object properties that get passed.",title:"Object Name",required:!1,deprecated:!1},observedAttribute:{kind:"parameter",type:"string",description:"The attribute to observe for the monitor bean or consumer.",title:"Observed Attribute",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},executorService:{kind:"parameter",type:"object",description:"To use a custom shared thread pool for the consumers. By default each consume has their own thread-pool to process and route notifications.",title:"Executor Service",required:!1,deprecated:!1},handback:{kind:"parameter",type:"object",description:"Value to handback to the listener when a notification is received. This value will be put in the message header with the key JMXConstants#JMX_HANDBACK.",title:"Handback",required:!1,deprecated:!1},notificationFilter:{kind:"parameter",type:"object",description:"Reference to a bean that implements the NotificationFilter.",title:"Notification Filter",required:!1,deprecated:!1},objectProperties:{kind:"parameter",type:"object",description:"Properties for the object name. These values will be used if the objectName param is not set",title:"Object Properties",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"integer",defaultValue:"10",description:"The number of seconds to wait before attempting to retry establishment of the initial connection or attempt to reconnect a lost connection",title:"Reconnect Delay",required:!1,deprecated:!1},reconnectOnConnectionFailure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true the consumer will attempt to reconnect to the JMX server when any connection failure occurs. The consumer will attempt to re-establish the JMX connection every 'x' seconds until the connection is made-- where 'x' is the configured reconnectionDelay",title:"Reconnect On Connection Failure",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true the consumer will throw an exception if unable to establish the JMX connection upon startup. If false, the consumer will attempt to establish the JMX connection every 'x' seconds until the connection is made -- where 'x' is the configured reconnectionDelay",title:"Test Connection On Startup",required:!1,deprecated:!1},initThreshold:{kind:"parameter",type:"integer",description:"Initial threshold for the monitor. The value must exceed this before notifications are fired (counter monitor only).",title:"Init Threshold",required:!1,deprecated:!1},modulus:{kind:"parameter",type:"integer",description:"The value at which the counter is reset to zero (counter monitor only).",title:"Modulus",required:!1,deprecated:!1},offset:{kind:"parameter",type:"integer",description:"The amount to increment the threshold after it's been exceeded (counter monitor only).",title:"Offset",required:!1,deprecated:!1},differenceMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, then the value reported in the notification is the difference from the threshold as opposed to the value itself (counter and gauge monitor only).",title:"Difference Mode",required:!1,deprecated:!1},notifyHigh:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the gauge will fire a notification when the high threshold is exceeded (gauge monitor only).",title:"Notify High",required:!1,deprecated:!1},notifyLow:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the gauge will fire a notification when the low threshold is exceeded (gauge monitor only).",title:"Notify Low",required:!1,deprecated:!1},thresholdHigh:{kind:"parameter",type:"number",description:"Value for the gauge's high threshold (gauge monitor only).",title:"Threshold High",required:!1,deprecated:!1},thresholdLow:{kind:"parameter",type:"number",description:"Value for the gauge's low threshold (gauge monitor only).",title:"Threshold Low",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Credentials for making a remote connection",title:"Password",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"Credentials for making a remote connection",title:"User",required:!1,deprecated:!1},notifyDiffer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, will fire a notification when the string attribute differs from the string to compare (string monitor or consumer). By default the consumer will notify match if observed attribute and string to compare has been configured.",title:"Notify Differ",required:!1,deprecated:!1},notifyMatch:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, will fire a notification when the string attribute matches the string to compare (string monitor or consumer). By default the consumer will notify match if observed attribute and string to compare has been configured.",title:"Notify Match",required:!1,deprecated:!1},stringToCompare:{kind:"parameter",type:"string",description:"Value for attribute to compare (string monitor or consumer). By default the consumer will notify match if observed attribute and string to compare has been configured.",title:"String To Compare",required:!1,deprecated:!1}}},jolt:{type:"object",title:"JOLT",group:"transformation",icon:"generic24.png",description:"JSON to JSON transformation using JOLT.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},inputType:{kind:"parameter",type:"object",defaultValue:"Hydrated",enum:["Hydrated","JsonString"],description:"Specifies if the input is hydrated JSON or a JSON String.",title:"Input Type",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"Hydrated",enum:["Hydrated","JsonString"],description:"Specifies if the output should be hydrated JSON or a JSON String.",title:"Output Type",required:!1,deprecated:!1},transformDsl:{kind:"parameter",type:"object",defaultValue:"Chainr",enum:["Chainr","Shiftr","Defaultr","Removr","Sortr"],description:"Specifies the Transform DSL of the endpoint resource. If none is specified Chainr will be used.",title:"Transform Dsl",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},jooq:{type:"object",title:"JOOQ",group:"database",icon:"generic24.png",description:"Store and retrieve Java objects from an SQL database using JOOQ.",properties:{entityType:{kind:"path",type:"string",description:"JOOQ entity class",title:"Entity Type",required:!1,deprecated:!1},databaseConfiguration:{kind:"parameter",type:"object",description:"To use a specific database configuration",title:"Database Configuration",required:!1,deprecated:!1},consumeDelete:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Delete entity after it is consumed",title:"Consume Delete",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"NONE",enum:["EXECUTE","FETCH","NONE"],description:"Type of operation to execute on query",title:"Operation",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"To execute plain SQL query",title:"Query",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},jpa:{type:"object",title:"JPA",group:"database",icon:"generic24.png",description:"Store and retrieve Java objects from databases using Java Persistence API (JPA).",properties:{entityType:{kind:"path",type:"string",description:"Entity class name",title:"Entity Type",required:!0,deprecated:!1},joinTransaction:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The camel-jpa component will join transaction by default. You can use this option to turn this off, for example if you use LOCAL_RESOURCE and join transaction doesn't work with your JPA provider. This option can also be set globally on the JpaComponent, instead of having to set it on all endpoints.",title:"Join Transaction",required:!1,deprecated:!1},maximumResults:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Set the maximum number of results to retrieve on the Query.",title:"Maximum Results",required:!1,deprecated:!1},namedQuery:{kind:"parameter",type:"string",description:"To use a named query.",title:"Named Query",required:!1,deprecated:!1},nativeQuery:{kind:"parameter",type:"string",description:"To use a custom native query. You may want to use the option resultClass also when using native queries.",title:"Native Query",required:!1,deprecated:!1},persistenceUnit:{kind:"parameter",type:"string",defaultValue:"camel",description:"The JPA persistence unit used by default.",title:"Persistence Unit",required:!0,deprecated:!1},query:{kind:"parameter",type:"string",description:"To use a custom query.",title:"Query",required:!1,deprecated:!1},resultClass:{kind:"parameter",type:"string",description:"Defines the type of the returned payload (we will call entityManager.createNativeQuery(nativeQuery, resultClass) instead of entityManager.createNativeQuery(nativeQuery)). Without this option, we will return an object array. Only has an affect when using in conjunction with native query when consuming data.",title:"Result Class",required:!1,deprecated:!1},consumeDelete:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, the entity is deleted after it is consumed; if false, the entity is not deleted.",title:"Consume Delete",required:!1,deprecated:!1},consumeLockEntity:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether or not to set an exclusive lock on each entity bean while processing the results from polling.",title:"Consume Lock Entity",required:!1,deprecated:!1},deleteHandler:{kind:"parameter",type:"object",description:"To use a custom DeleteHandler to delete the row after the consumer is done processing the exchange",title:"Delete Handler",required:!1,deprecated:!1},lockModeType:{kind:"parameter",type:"object",defaultValue:"PESSIMISTIC_WRITE",enum:["READ","WRITE","OPTIMISTIC","OPTIMISTIC_FORCE_INCREMENT","PESSIMISTIC_READ","PESSIMISTIC_WRITE","PESSIMISTIC_FORCE_INCREMENT","NONE"],description:"To configure the lock mode on the consumer.",title:"Lock Mode Type",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"An integer value to define the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to avoid polling many thousands of messages when starting up the server. Set a value of 0 or negative to disable.",title:"Max Messages Per Poll",required:!1,deprecated:!1},preDeleteHandler:{kind:"parameter",type:"object",description:"To use a custom Pre-DeleteHandler to delete the row after the consumer has read the entity.",title:"Pre Delete Handler",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipLockedEntity:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To configure whether to use NOWAIT on lock and silently skip the entity.",title:"Skip Locked Entity",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to run the consumer in transacted mode, by which all messages will either commit or rollback, when the entire batch has been processed. The default behavior (false) is to commit all the previously successfully processed messages, and only rollback the last failed message.",title:"Transacted",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"This key/value mapping is used for building the query parameters. It is expected to be of the generic type java.util.Map where the keys are the named parameters of a given JPA query and the values are their corresponding effective values you want to select for. When it's used for producer, Simple expression can be used as a parameter value. It allows you to retrieve parameter values from the message body, header and etc.",title:"Parameters",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},findEntity:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled then the producer will find a single entity by using the message body as key and entityType as the class type. This can be used instead of a query to find a single entity.",title:"Find Entity",required:!1,deprecated:!1},firstResult:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Set the position of the first result to retrieve.",title:"First Result",required:!1,deprecated:!1},flushOnSend:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Flushes the EntityManager after the entity bean has been persisted.",title:"Flush On Send",required:!1,deprecated:!1},outputTarget:{kind:"parameter",type:"string",description:"To put the query (or find) result in a header or property instead of the body. If the value starts with the prefix property:, put the result into the so named property, otherwise into the header.",title:"Output Target",required:!1,deprecated:!1},remove:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicates to use entityManager.remove(entity).",title:"Remove",required:!1,deprecated:!1},singleResult:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled, a query or a find which would return no results or more than one result, will throw an exception instead.",title:"Single Result",required:!1,deprecated:!1},useExecuteUpdate:{kind:"parameter",type:"boolean",description:"To configure whether to use executeUpdate() when producer executes a query. When you use INSERT, UPDATE or DELETE statement as a named query, you need to specify this option to 'true'.",title:"Use Execute Update",required:!1,deprecated:!1},usePersist:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicates to use entityManager.persist(entity) instead of entityManager.merge(entity). Note: entityManager.persist(entity) doesn't work for detached entities (where the EntityManager has to execute an UPDATE instead of an INSERT query)!",title:"Use Persist",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},usePassedInEntityManager:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, then Camel will use the EntityManager from the header JpaConstants.ENTITY_MANAGER instead of the configured entity manager on the component/endpoint. This allows end users to control which entity manager will be in use.",title:"Use Passed In Entity Manager",required:!1,deprecated:!1},entityManagerProperties:{kind:"parameter",type:"object",description:"Additional properties for the entity manager to use.",title:"Entity Manager Properties",required:!1,deprecated:!1},sharedEntityManager:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use Spring's SharedEntityManager for the consumer/producer. Note in most cases joinTransaction should be set to false as this is not an EXTENDED EntityManager.",title:"Shared Entity Manager",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},jslt:{type:"object",title:"JSLT",group:"transformation",icon:"generic24.png",description:"Query or transform JSON payloads using an JSLT.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},mapBigDecimalAsFloats:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the mapper will use the USE_BIG_DECIMAL_FOR_FLOATS in serialization features",title:"Map Big Decimal As Floats",required:!1,deprecated:!1},objectMapper:{kind:"parameter",type:"object",description:"Setting a custom JSON Object Mapper to be used",title:"Object Mapper",required:!1,deprecated:!1},prettyPrint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, JSON in output message is pretty printed.",title:"Pretty Print",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"json-patch":{type:"object",title:"JsonPatch",group:"transformation",icon:"generic24.png",description:"Transforms JSON using JSON patch (RFC 6902).",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"json-validator":{type:"object",title:"JSON Schema Validator",group:"validation",icon:"generic24.png",description:"Validate JSON payloads using NetworkNT JSON Schema.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},failOnNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to fail if no body exists.",title:"Fail On Null Body",required:!1,deprecated:!1},failOnNullHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to fail if no header exists when validating against a header.",title:"Fail On Null Header",required:!1,deprecated:!1},headerName:{kind:"parameter",type:"string",description:"To validate against a header instead of the message body.",title:"Header Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},errorHandler:{kind:"parameter",type:"object",description:"To use a custom ValidatorErrorHandler. The default error handler captures the errors and throws an exception.",title:"Error Handler",required:!1,deprecated:!1},uriSchemaLoader:{kind:"parameter",type:"object",description:"To use a custom schema loader allowing for adding custom format validation. The default implementation will create a schema loader that tries to determine the schema version from the $schema property of the specified schema.",title:"Uri Schema Loader",required:!1,deprecated:!1}}},jsonata:{type:"object",title:"JSONata",group:"transformation",icon:"generic24.png",description:"Transforms JSON payload using JSONata transformation.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},inputType:{kind:"parameter",type:"object",defaultValue:"Jackson",enum:["Jackson","JsonString"],description:"Specifies if the input should be Jackson JsonNode or a JSON String.",title:"Input Type",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"Jackson",enum:["Jackson","JsonString"],description:"Specifies if the output should be Jackson JsonNode or a JSON String.",title:"Output Type",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},jt400:{type:"object",title:"JT400",group:"messaging",icon:"generic24.png",description:"Exchanges messages with an IBM i system using data queues, message queues, or program call. IBM i is the replacement for AS/400 and iSeries servers.",properties:{userID:{kind:"path",type:"string",description:"Returns the ID of the IBM i user.",title:"User ID",required:!0,deprecated:!1},password:{kind:"path",type:"string",description:"Returns the password of the IBM i user.",title:"Password",required:!0,deprecated:!1},systemName:{kind:"path",type:"string",description:"Returns the name of the IBM i system.",title:"System Name",required:!0,deprecated:!1},objectPath:{kind:"path",type:"string",description:"Returns the fully qualified integrated file system path name of the target object of this endpoint.",title:"Object Path",required:!0,deprecated:!1},type:{kind:"path",type:"object",enum:["DTAQ","PGM","SRVPGM","MSGQ"],description:"Whether to work with data queues or remote program call",title:"Type",required:!0,deprecated:!1},ccsid:{kind:"parameter",type:"integer",description:"Sets the CCSID to use for the connection with the IBM i system.",title:"Ccsid",required:!1,deprecated:!1},format:{kind:"parameter",type:"object",defaultValue:"text",enum:["text","binary"],description:"Sets the data format for sending messages.",title:"Format",required:!1,deprecated:!1},guiAvailable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether IBM i prompting is enabled in the environment running Camel.",title:"Gui Available",required:!1,deprecated:!1},keyed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use keyed or non-keyed data queues.",title:"Keyed",required:!1,deprecated:!1},searchKey:{kind:"parameter",type:"string",description:"Search key for keyed data queues.",title:"Search Key",required:!1,deprecated:!1},messageAction:{kind:"parameter",type:"object",defaultValue:"OLD",enum:["OLD","REMOVE","SAME"],description:"Action to be taken on messages when read from a message queue. Messages can be marked as old (OLD), removed from the queue (REMOVE), or neither (SAME).",title:"Message Action",required:!1,deprecated:!1},readTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Timeout in millis the consumer will wait while trying to read a new message of the data queue.",title:"Read Timeout",required:!1,deprecated:!1},searchType:{kind:"parameter",type:"object",defaultValue:"EQ",enum:["EQ","NE","LT","LE","GT","GE"],description:"Search type such as EQ for equal etc.",title:"Search Type",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},sendingReply:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, the consumer endpoint will set the Jt400Constants.MESSAGE_REPLYTO_KEY header of the camel message for any IBM i inquiry messages received. If that message is then routed to a producer endpoint, the action will not be processed as sending a message to the queue, but rather a reply to the specific inquiry message.",title:"Sending Reply",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},outputFieldsIdxArray:{kind:"parameter",type:"object",description:"Specifies which fields (program parameters) are output parameters.",title:"Output Fields Idx Array",required:!1,deprecated:!1},outputFieldsLengthArray:{kind:"parameter",type:"object",description:"Specifies the fields (program parameters) length as in the IBM i program definition.",title:"Output Fields Length Array",required:!1,deprecated:!1},procedureName:{kind:"parameter",type:"string",description:"Procedure name from a service program to call",title:"Procedure Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},secured:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether connections to IBM i are secured with SSL.",title:"Secured",required:!1,deprecated:!1}}},kafka:{type:"object",title:"Kafka",group:"messaging",icon:"generic24.png",description:"Sent and receive messages to/from an Apache Kafka broker.",properties:{topic:{kind:"path",type:"string",description:"Name of the topic to use. On the consumer you can use comma to separate multiple topics. A producer can only send a message to a single topic.",title:"Topic",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Sets additional properties for either kafka consumer or kafka producer in case they can't be set directly on the camel configurations (e.g: new Kafka properties that are not reflected yet in Camel configurations), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},brokers:{kind:"parameter",type:"string",description:"URL of the Kafka brokers to use. The format is host1:port1,host2:port2, and the list can be a subset of brokers or a VIP pointing to a subset of brokers. This option is known as bootstrap.servers in the Kafka documentation.",title:"Brokers",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"The client id is a user-specified string sent in each request to help trace calls. It should logically identify the application making the request.",title:"Client Id",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},reconnectBackoffMaxMs:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms.",title:"Reconnect Backoff Max Ms",required:!1,deprecated:!1},shutdownTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Timeout in milliseconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads.",title:"Shutdown Timeout",required:!1,deprecated:!1},allowManualCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow doing manual commits via KafkaManualCommit. If this option is enabled then an instance of KafkaManualCommit is stored on the Exchange message header, which allows end users to access this API and perform manual offset commits via the Kafka consumer.",title:"Allow Manual Commit",required:!1,deprecated:!1},autoCommitEnable:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer. This committed offset will be used when the process fails as the position from which the new consumer will begin.",title:"Auto Commit Enable",required:!1,deprecated:!1},autoCommitIntervalMs:{kind:"parameter",type:"integer",defaultValue:"5000",description:"The frequency in ms that the consumer offsets are committed to zookeeper.",title:"Auto Commit Interval Ms",required:!1,deprecated:!1},autoOffsetReset:{kind:"parameter",type:"string",defaultValue:"latest",enum:["latest","earliest","none"],description:"What to do when there is no initial offset in ZooKeeper or if an offset is out of range: earliest : automatically reset the offset to the earliest offset latest : automatically reset the offset to the latest offset fail: throw exception to the consumer",title:"Auto Offset Reset",required:!1,deprecated:!1},breakOnFirstError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This options controls what happens when a consumer is processing an exchange and it fails. If the option is false then the consumer continues to the next message and processes it. If the option is true then the consumer breaks out. Using the default NoopCommitManager will cause the consumer to not commit the offset so that the message is re-attempted. The consumer should use the KafkaManualCommit to determine the best way to handle the message. Using either the SynchCommitManager or the AsynchCommitManager the consumer will seek back to the offset of the message that caused a failure, and then re-attempt to process this message. However this can lead to endless processing of the same message if its bound to fail every time, eg a poison message. Therefore its recommended to deal with that for example by using Camel's error handler.",title:"Break On First Error",required:!1,deprecated:!1},checkCrcs:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically check the CRC32 of the records consumed. This ensures no on-the-wire or on-disk corruption to the messages occurred. This check adds some overhead, so it may be disabled in cases seeking extreme performance.",title:"Check Crcs",required:!1,deprecated:!1},commitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"The maximum time, in milliseconds, that the code will wait for a synchronous commit to complete",title:"Commit Timeout Ms",required:!1,deprecated:!1},consumerRequestTimeoutMs:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The configuration controls the maximum amount of time the client will wait for the response of a request. If the response is not received before the timeout elapses the client will resend the request if necessary or fail the request if retries are exhausted.",title:"Consumer Request Timeout Ms",required:!1,deprecated:!1},consumersCount:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of consumers that connect to kafka server. Each consumer is run on a separate thread, that retrieves and process the incoming data.",title:"Consumers Count",required:!1,deprecated:!1},fetchMaxBytes:{kind:"parameter",type:"integer",defaultValue:"52428800",description:"The maximum amount of data the server should return for a fetch request This is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that the consumer can make progress. The maximum message size accepted by the broker is defined via message.max.bytes (broker config) or max.message.bytes (topic config). Note that the consumer performs multiple fetches in parallel.",title:"Fetch Max Bytes",required:!1,deprecated:!1},fetchMinBytes:{kind:"parameter",type:"integer",defaultValue:"1",description:"The minimum amount of data the server should return for a fetch request. If insufficient data is available the request will wait for that much data to accumulate before answering the request.",title:"Fetch Min Bytes",required:!1,deprecated:!1},fetchWaitMaxMs:{kind:"parameter",type:"integer",defaultValue:"500",description:"The maximum amount of time the server will block before answering the fetch request if there isn't sufficient data to immediately satisfy fetch.min.bytes",title:"Fetch Wait Max Ms",required:!1,deprecated:!1},groupId:{kind:"parameter",type:"string",description:"A string that uniquely identifies the group of consumer processes to which this consumer belongs. By setting the same group id multiple processes indicate that they are all part of the same consumer group. This option is required for consumers.",title:"Group Id",required:!1,deprecated:!1},groupInstanceId:{kind:"parameter",type:"string",description:"A unique identifier of the consumer instance provided by the end user. Only non-empty strings are permitted. If set, the consumer is treated as a static member, which means that only one instance with this ID is allowed in the consumer group at any time. This can be used in combination with a larger session timeout to avoid group rebalances caused by transient unavailability (e.g. process restarts). If not set, the consumer will join the group as a dynamic member, which is the traditional behavior.",title:"Group Instance Id",required:!1,deprecated:!1},headerDeserializer:{kind:"parameter",type:"object",description:"To use a custom KafkaHeaderDeserializer to deserialize kafka headers values",title:"Header Deserializer",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"integer",defaultValue:"3000",description:"The expected time between heartbeats to the consumer coordinator when using Kafka's group management facilities. Heartbeats are used to ensure that the consumer's session stays active and to facilitate rebalancing when new consumers join or leave the group. The value must be set lower than session.timeout.ms, but typically should be set no higher than 1/3 of that value. It can be adjusted even lower to control the expected time for normal rebalances.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},keyDeserializer:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.common.serialization.StringDeserializer",description:"Deserializer class for the key that implements the Deserializer interface.",title:"Key Deserializer",required:!1,deprecated:!1},maxPartitionFetchBytes:{kind:"parameter",type:"integer",defaultValue:"1048576",description:"The maximum amount of data per-partition the server will return. The maximum total memory used for a request will be #partitions max.partition.fetch.bytes. This size must be at least as large as the maximum message size the server allows or else it is possible for the producer to send messages larger than the consumer can fetch. If that happens, the consumer can get stuck trying to fetch a large message on a certain partition.",title:"Max Partition Fetch Bytes",required:!1,deprecated:!1},maxPollIntervalMs:{kind:"parameter",type:"duration",description:"The maximum delay between invocations of poll() when using consumer group management. This places an upper bound on the amount of time that the consumer can be idle before fetching more records. If poll() is not called before expiration of this timeout, then the consumer is considered failed and the group will rebalance in order to reassign the partitions to another member.",title:"Max Poll Interval Ms",required:!1,deprecated:!1},maxPollRecords:{kind:"parameter",type:"integer",defaultValue:"500",description:"The maximum number of records returned in a single call to poll()",title:"Max Poll Records",required:!1,deprecated:!1},offsetRepository:{kind:"parameter",type:"object",description:"The offset repository to use in order to locally store the offset of each partition of the topic. Defining one will disable the autocommit.",title:"Offset Repository",required:!1,deprecated:!1},partitionAssignor:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.clients.consumer.RangeAssignor",description:"The class name of the partition assignment strategy that the client will use to distribute partition ownership amongst consumer instances when group management is used",title:"Partition Assignor",required:!1,deprecated:!1},pollOnError:{kind:"parameter",type:"object",defaultValue:"ERROR_HANDLER",enum:["DISCARD","ERROR_HANDLER","RECONNECT","RETRY","STOP"],description:"What to do if kafka threw an exception while polling for new messages. Will by default use the value from the component configuration unless an explicit value has been configured on the endpoint level. DISCARD will discard the message and continue to poll next message. ERROR_HANDLER will use Camel's error handler to process the exception, and afterwards continue to poll next message. RECONNECT will re-connect the consumer and try poll the message again RETRY will let the consumer retry polling the same message again STOP will stop the consumer (have to be manually started/restarted if the consumer should be able to consume messages again)",title:"Poll On Error",required:!1,deprecated:!1},pollTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"The timeout used when polling the KafkaConsumer.",title:"Poll Timeout Ms",required:!1,deprecated:!1},seekTo:{kind:"parameter",type:"object",enum:["BEGINNING","END"],description:"Set if KafkaConsumer will read from the beginning or the end on startup: SeekPolicy.BEGINNING: read from the beginning. SeekPolicy.END: read from the end.",title:"Seek To",required:!1,deprecated:!1},sessionTimeoutMs:{kind:"parameter",type:"integer",defaultValue:"45000",description:"The timeout used to detect failures when using Kafka's group management facilities.",title:"Session Timeout Ms",required:!1,deprecated:!1},specificAvroReader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This enables the use of a specific Avro reader for use with the Confluent Platform schema registry and the io.confluent.kafka.serializers.KafkaAvroDeserializer. This option is only available in the Confluent Platform (not standard Apache Kafka)",title:"Specific Avro Reader",required:!1,deprecated:!1},topicIsPattern:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern.",title:"Topic Is Pattern",required:!1,deprecated:!1},valueDeserializer:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.common.serialization.StringDeserializer",description:"Deserializer class for value that implements the Deserializer interface.",title:"Value Deserializer",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},isolationLevel:{kind:"parameter",type:"string",defaultValue:"read_uncommitted",enum:["read_uncommitted","read_committed"],description:"Controls how to read messages written transactionally. If set to read_committed, consumer.poll() will only return transactional messages which have been committed. If set to read_uncommitted (the default), consumer.poll() will return all messages, even transactional messages which have been aborted. Non-transactional messages will be returned unconditionally in either mode. Messages will always be returned in offset order. Hence, in read_committed mode, consumer.poll() will only return messages up to the last stable offset (LSO), which is the one less than the offset of the first open transaction. In particular any messages appearing after messages belonging to ongoing transactions will be withheld until the relevant transaction has been completed. As a result, read_committed consumers will not be able to read up to the high watermark when there are in flight transactions. Further, when in read_committed the seekToEnd method will return the LSO",title:"Isolation Level",required:!1,deprecated:!1},kafkaManualCommitFactory:{kind:"parameter",type:"object",description:"Factory to use for creating KafkaManualCommit instances. This allows to plugin a custom factory to create custom KafkaManualCommit instances in case special logic is needed when doing manual commits that deviates from the default implementation that comes out of the box.",title:"Kafka Manual Commit Factory",required:!1,deprecated:!1},batchWithIndividualHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this feature is enabled and a single element of a batch is an Exchange or Message, the producer will generate individual kafka header values for it by using the batch Message to determine the values. Normal behaviour consists in always using the same header values (which are determined by the parent Exchange which contains the Iterable or Iterator).",title:"Batch With Individual Headers",required:!1,deprecated:!1},bufferMemorySize:{kind:"parameter",type:"integer",defaultValue:"33554432",description:"The total bytes of memory the producer can use to buffer records waiting to be sent to the server. If records are sent faster than they can be delivered to the server the producer will either block or throw an exception based on the preference specified by block.on.buffer.full.This setting should correspond roughly to the total memory the producer will use, but is not a hard bound since not all memory the producer uses is used for buffering. Some additional memory will be used for compression (if compression is enabled) as well as for maintaining in-flight requests.",title:"Buffer Memory Size",required:!1,deprecated:!1},compressionCodec:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","gzip","snappy","lz4","zstd"],description:"This parameter allows you to specify the compression codec for all data generated by this producer. Valid values are none, gzip, snappy, lz4 and zstd.",title:"Compression Codec",required:!1,deprecated:!1},connectionMaxIdleMs:{kind:"parameter",type:"integer",defaultValue:"540000",description:"Close idle connections after the number of milliseconds specified by this config.",title:"Connection Max Idle Ms",required:!1,deprecated:!1},deliveryTimeoutMs:{kind:"parameter",type:"integer",defaultValue:"120000",description:"An upper bound on the time to report success or failure after a call to send() returns. This limits the total time that a record will be delayed prior to sending, the time to await acknowledgement from the broker (if expected), and the time allowed for retriable send failures.",title:"Delivery Timeout Ms",required:!1,deprecated:!1},enableIdempotence:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When set to 'true', the producer will ensure that exactly one copy of each message is written in the stream. If 'false', producer retries due to broker failures, etc., may write duplicates of the retried message in the stream. Note that enabling idempotence requires max.in.flight.requests.per.connection to be less than or equal to 5 (with message ordering preserved for any allowable value), retries to be greater than 0, and acks must be 'all'. Idempotence is enabled by default if no conflicting configurations are set. If conflicting configurations are set and idempotence is not explicitly enabled, idempotence is disabled. If idempotence is explicitly enabled and conflicting configurations are set, a ConfigException is thrown.",title:"Enable Idempotence",required:!1,deprecated:!1},headerSerializer:{kind:"parameter",type:"object",description:"To use a custom KafkaHeaderSerializer to serialize kafka headers values",title:"Header Serializer",required:!1,deprecated:!1},key:{kind:"parameter",type:"string",description:"The record key (or null if no key is specified). If this option has been configured then it take precedence over header KafkaConstants#KEY",title:"Key",required:!1,deprecated:!1},keySerializer:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.common.serialization.StringSerializer",description:"The serializer class for keys (defaults to the same as for messages if nothing is given).",title:"Key Serializer",required:!1,deprecated:!1},lingerMs:{kind:"parameter",type:"integer",defaultValue:"0",description:"The producer groups together any records that arrive in between request transmissions into a single batched request. Normally this occurs only under load when records arrive faster than they can be sent out. However in some circumstances the client may want to reduce the number of requests even under moderate load. This setting accomplishes this by adding a small amount of artificial delay that is, rather than immediately sending out a record the producer will wait for up to the given delay to allow other records to be sent so that they can be batched together. This can be thought of as analogous to Nagle's algorithm in TCP. This setting gives the upper bound on the delay for batching: once we get batch.size worth of records for a partition it will be sent immediately regardless of this setting, however if we have fewer than this many bytes accumulated for this partition we will 'linger' for the specified time waiting for more records to show up. This setting defaults to 0 (i.e. no delay). Setting linger.ms=5, for example, would have the effect of reducing the number of requests sent but would add up to 5ms of latency to records sent in the absense of load.",title:"Linger Ms",required:!1,deprecated:!1},maxBlockMs:{kind:"parameter",type:"integer",defaultValue:"60000",description:"The configuration controls how long the KafkaProducer's send(), partitionsFor(), initTransactions(), sendOffsetsToTransaction(), commitTransaction() and abortTransaction() methods will block. For send() this timeout bounds the total time waiting for both metadata fetch and buffer allocation (blocking in the user-supplied serializers or partitioner is not counted against this timeout). For partitionsFor() this timeout bounds the time spent waiting for metadata if it is unavailable. The transaction-related methods always block, but may time out if the transaction coordinator could not be discovered or did not respond within the timeout.",title:"Max Block Ms",required:!1,deprecated:!1},maxInFlightRequest:{kind:"parameter",type:"integer",defaultValue:"5",description:"The maximum number of unacknowledged requests the client will send on a single connection before blocking. Note that if this setting is set to be greater than 1 and there are failed sends, there is a risk of message re-ordering due to retries (i.e., if retries are enabled).",title:"Max In Flight Request",required:!1,deprecated:!1},maxRequestSize:{kind:"parameter",type:"integer",defaultValue:"1048576",description:"The maximum size of a request. This is also effectively a cap on the maximum record size. Note that the server has its own cap on record size which may be different from this. This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests.",title:"Max Request Size",required:!1,deprecated:!1},metadataMaxAgeMs:{kind:"parameter",type:"integer",defaultValue:"300000",description:"The period of time in milliseconds after which we force a refresh of metadata even if we haven't seen any partition leadership changes to proactively discover any new brokers or partitions.",title:"Metadata Max Age Ms",required:!1,deprecated:!1},metricReporters:{kind:"parameter",type:"string",description:"A list of classes to use as metrics reporters. Implementing the MetricReporter interface allows plugging in classes that will be notified of new metric creation. The JmxReporter is always included to register JMX statistics.",title:"Metric Reporters",required:!1,deprecated:!1},metricsSampleWindowMs:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The window of time a metrics sample is computed over.",title:"Metrics Sample Window Ms",required:!1,deprecated:!1},noOfMetricsSample:{kind:"parameter",type:"integer",defaultValue:"2",description:"The number of samples maintained to compute metrics.",title:"No Of Metrics Sample",required:!1,deprecated:!1},partitioner:{kind:"parameter",type:"string",description:"The partitioner class for partitioning messages amongst sub-topics. The default partitioner is based on the hash of the key.",title:"Partitioner",required:!1,deprecated:!1},partitionerIgnoreKeys:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the message keys should be ignored when computing partition. This setting has effect only when partitioner is not set",title:"Partitioner Ignore Keys",required:!1,deprecated:!1},partitionKey:{kind:"parameter",type:"integer",description:"The partition to which the record will be sent (or null if no partition was specified). If this option has been configured then it take precedence over header KafkaConstants#PARTITION_KEY",title:"Partition Key",required:!1,deprecated:!1},producerBatchSize:{kind:"parameter",type:"integer",defaultValue:"16384",description:"The producer will attempt to batch records together into fewer requests whenever multiple records are being sent to the same partition. This helps performance on both the client and the server. This configuration controls the default batch size in bytes. No attempt will be made to batch records larger than this size. Requests sent to brokers will contain multiple batches, one for each partition with data available to be sent. A small batch size will make batching less common and may reduce throughput (a batch size of zero will disable batching entirely). A very large batch size may use memory a bit more wastefully as we will always allocate a buffer of the specified batch size in anticipation of additional records.",title:"Producer Batch Size",required:!1,deprecated:!1},queueBufferingMaxMessages:{kind:"parameter",type:"integer",defaultValue:"10000",description:"The maximum number of unsent messages that can be queued up the producer when using async mode before either the producer must be blocked or data must be dropped.",title:"Queue Buffering Max Messages",required:!1,deprecated:!1},receiveBufferBytes:{kind:"parameter",type:"integer",defaultValue:"65536",description:"The size of the TCP receive buffer (SO_RCVBUF) to use when reading data.",title:"Receive Buffer Bytes",required:!1,deprecated:!1},reconnectBackoffMs:{kind:"parameter",type:"integer",defaultValue:"50",description:"The amount of time to wait before attempting to reconnect to a given host. This avoids repeatedly connecting to a host in a tight loop. This backoff applies to all requests sent by the consumer to the broker.",title:"Reconnect Backoff Ms",required:!1,deprecated:!1},recordMetadata:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the producer should store the RecordMetadata results from sending to Kafka. The results are stored in a List containing the RecordMetadata metadata's. The list is stored on a header with the key KafkaConstants#KAFKA_RECORDMETA",title:"Record Metadata",required:!1,deprecated:!1},requestRequiredAcks:{kind:"parameter",type:"string",defaultValue:"all",enum:["all","-1","0","1"],description:"The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. The following settings are allowed: acks=0 If set to zero then the producer will not wait for any acknowledgment from the server at all. The record will be immediately added to the socket buffer and considered sent. No guarantee can be made that the server has received the record in this case, and the retries configuration will not take effect (as the client won't generally know of any failures). The offset given back for each record will always be set to -1. acks=1 This will mean the leader will write the record to its local log but will respond without awaiting full acknowledgement from all followers. In this case should the leader fail immediately after acknowledging the record but before the followers have replicated it then the record will be lost. acks=all This means the leader will wait for the full set of in-sync replicas to acknowledge the record. This guarantees that the record will not be lost as long as at least one in-sync replica remains alive. This is the strongest available guarantee. This is equivalent to the acks=-1 setting. Note that enabling idempotence requires this config value to be 'all'. If conflicting configurations are set and idempotence is not explicitly enabled, idempotence is disabled.",title:"Request Required Acks",required:!1,deprecated:!1},requestTimeoutMs:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The amount of time the broker will wait trying to meet the request.required.acks requirement before sending back an error to the client.",title:"Request Timeout Ms",required:!1,deprecated:!1},retries:{kind:"parameter",type:"integer",description:"Setting a value greater than zero will cause the client to resend any record whose send fails with a potentially transient error. Note that this retry is no different than if the client resent the record upon receiving the error. Produce requests will be failed before the number of retries has been exhausted if the timeout configured by delivery.timeout.ms expires first before successful acknowledgement. Users should generally prefer to leave this config unset and instead use delivery.timeout.ms to control retry behavior. Enabling idempotence requires this config value to be greater than 0. If conflicting configurations are set and idempotence is not explicitly enabled, idempotence is disabled. Allowing retries while setting enable.idempotence to false and max.in.flight.requests.per.connection to 1 will potentially change the ordering of records because if two batches are sent to a single partition, and the first fails and is retried but the second succeeds, then the records in the second batch may appear first.",title:"Retries",required:!1,deprecated:!1},retryBackoffMs:{kind:"parameter",type:"integer",defaultValue:"100",description:"Before each retry, the producer refreshes the metadata of relevant topics to see if a new leader has been elected. Since the leader election takes a bit of time, this property specifies the amount of time that the producer waits before refreshing the metadata.",title:"Retry Backoff Ms",required:!1,deprecated:!1},sendBufferBytes:{kind:"parameter",type:"integer",defaultValue:"131072",description:"Socket write buffer size",title:"Send Buffer Bytes",required:!1,deprecated:!1},valueSerializer:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.common.serialization.StringSerializer",description:"The serializer class for messages.",title:"Value Serializer",required:!1,deprecated:!1},workerPool:{kind:"parameter",type:"object",description:"To use a custom worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing. If using this option then you must handle the lifecycle of the thread pool to shut the pool down when no longer needed.",title:"Worker Pool",required:!1,deprecated:!1},workerPoolCoreSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"Number of core threads for the worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing.",title:"Worker Pool Core Size",required:!1,deprecated:!1},workerPoolMaxSize:{kind:"parameter",type:"integer",defaultValue:"20",description:"Maximum number of threads for the worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing.",title:"Worker Pool Max Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},kafkaClientFactory:{kind:"parameter",type:"object",description:"Factory to use for creating org.apache.kafka.clients.consumer.KafkaConsumer and org.apache.kafka.clients.producer.KafkaProducer instances. This allows to configure a custom factory to create instances with logic that extends the vanilla Kafka clients.",title:"Kafka Client Factory",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},schemaRegistryURL:{kind:"parameter",type:"string",description:"URL of the Confluent Platform schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema.registry.url in the Confluent Platform documentation. This option is only available in the Confluent Platform (not standard Apache Kafka)",title:"Schema Registry URL",required:!1,deprecated:!1},interceptorClasses:{kind:"parameter",type:"string",description:"Sets interceptors for producer or consumers. Producer interceptors have to be classes implementing org.apache.kafka.clients.producer.ProducerInterceptor Consumer interceptors have to be classes implementing org.apache.kafka.clients.consumer.ConsumerInterceptor Note that if you use Producer interceptor on a consumer it will throw a class cast exception in runtime",title:"Interceptor Classes",required:!1,deprecated:!1},kerberosBeforeReloginMinTime:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Login thread sleep time between refresh attempts.",title:"Kerberos Before Relogin Min Time",required:!1,deprecated:!1},kerberosConfigLocation:{kind:"parameter",type:"string",description:"Location of the kerberos config file.",title:"Kerberos Config Location",required:!1,deprecated:!1},kerberosInitCmd:{kind:"parameter",type:"string",defaultValue:"/usr/bin/kinit",description:"Kerberos kinit command path. Default is /usr/bin/kinit",title:"Kerberos Init Cmd",required:!1,deprecated:!1},kerberosPrincipalToLocalRules:{kind:"parameter",type:"string",defaultValue:"DEFAULT",description:"A list of rules for mapping from principal names to short names (typically operating system usernames). The rules are evaluated in order and the first rule that matches a principal name is used to map it to a short name. Any later rules in the list are ignored. By default, principal names of the form {username}/{hostname}{REALM} are mapped to {username}. For more details on the format please see the security authorization and acls documentation (at the Apache Kafka project). Multiple values can be separated by comma",title:"Kerberos Principal To Local Rules",required:!1,deprecated:!1},kerberosRenewJitter:{kind:"parameter",type:"number",defaultValue:"0.05",description:"Percentage of random jitter added to the renewal time.",title:"Kerberos Renew Jitter",required:!1,deprecated:!1},kerberosRenewWindowFactor:{kind:"parameter",type:"number",defaultValue:"0.8",description:"Login thread will sleep until the specified window factor of time from last refresh to ticket's expiry has been reached, at which time it will try to renew the ticket.",title:"Kerberos Renew Window Factor",required:!1,deprecated:!1},saslJaasConfig:{kind:"parameter",type:"string",description:"Expose the kafka sasl.jaas.config parameter Example: org.apache.kafka.common.security.plain.PlainLoginModule required username=USERNAME password=PASSWORD;",title:"Sasl Jaas Config",required:!1,deprecated:!1},saslKerberosServiceName:{kind:"parameter",type:"string",description:"The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config.",title:"Sasl Kerberos Service Name",required:!1,deprecated:!1},saslMechanism:{kind:"parameter",type:"string",defaultValue:"GSSAPI",description:"The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml",title:"Sasl Mechanism",required:!1,deprecated:!1},securityProtocol:{kind:"parameter",type:"string",defaultValue:"PLAINTEXT",description:"Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported",title:"Security Protocol",required:!1,deprecated:!1},sslCipherSuites:{kind:"parameter",type:"string",description:"A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol. By default all the available cipher suites are supported.",title:"Ssl Cipher Suites",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. NOTE: Kafka only supports loading keystore from file locations, so prefix the location with file: in the KeyStoreParameters.resource option.",title:"Ssl Context Parameters",required:!1,deprecated:!1},sslEnabledProtocols:{kind:"parameter",type:"string",description:"The list of protocols enabled for SSL connections. The default is TLSv1.2,TLSv1.3 when running with Java 11 or newer, TLSv1.2 otherwise. With the default value for Java 11, clients and servers will prefer TLSv1.3 if both support it and fallback to TLSv1.2 otherwise (assuming both support at least TLSv1.2). This default should be fine for most cases. Also see the config documentation for SslProtocol.",title:"Ssl Enabled Protocols",required:!1,deprecated:!1},sslEndpointAlgorithm:{kind:"parameter",type:"string",defaultValue:"https",description:"The endpoint identification algorithm to validate server hostname using server certificate. Use none or false to disable server hostname verification.",title:"Ssl Endpoint Algorithm",required:!1,deprecated:!1},sslKeymanagerAlgorithm:{kind:"parameter",type:"string",defaultValue:"SunX509",description:"The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine.",title:"Ssl Keymanager Algorithm",required:!1,deprecated:!1},sslKeyPassword:{kind:"parameter",type:"string",description:"The password of the private key in the key store file or the PEM key specified in sslKeystoreKey. This is required for clients only if two-way authentication is configured.",title:"Ssl Key Password",required:!1,deprecated:!1},sslKeystoreLocation:{kind:"parameter",type:"string",description:"The location of the key store file. This is optional for the client and can be used for two-way authentication for the client.",title:"Ssl Keystore Location",required:!1,deprecated:!1},sslKeystorePassword:{kind:"parameter",type:"string",description:"The store password for the key store file. This is optional for the client and only needed if sslKeystoreLocation' is configured. Key store password is not supported for PEM format.",title:"Ssl Keystore Password",required:!1,deprecated:!1},sslKeystoreType:{kind:"parameter",type:"string",defaultValue:"JKS",description:"The file format of the key store file. This is optional for client. Default value is JKS",title:"Ssl Keystore Type",required:!1,deprecated:!1},sslProtocol:{kind:"parameter",type:"string",description:"The SSL protocol used to generate the SSLContext. The default is TLSv1.3 when running with Java 11 or newer, TLSv1.2 otherwise. This value should be fine for most use cases. Allowed values in recent JVMs are TLSv1.2 and TLSv1.3. TLS, TLSv1.1, SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. With the default value for this config and sslEnabledProtocols, clients will downgrade to TLSv1.2 if the server does not support TLSv1.3. If this config is set to TLSv1.2, clients will not use TLSv1.3 even if it is one of the values in sslEnabledProtocols and the server only supports TLSv1.3.",title:"Ssl Protocol",required:!1,deprecated:!1},sslProvider:{kind:"parameter",type:"string",description:"The name of the security provider used for SSL connections. Default value is the default security provider of the JVM.",title:"Ssl Provider",required:!1,deprecated:!1},sslTrustmanagerAlgorithm:{kind:"parameter",type:"string",defaultValue:"PKIX",description:"The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine.",title:"Ssl Trustmanager Algorithm",required:!1,deprecated:!1},sslTruststoreLocation:{kind:"parameter",type:"string",description:"The location of the trust store file.",title:"Ssl Truststore Location",required:!1,deprecated:!1},sslTruststorePassword:{kind:"parameter",type:"string",description:"The password for the trust store file. If a password is not set, trust store file configured will still be used, but integrity checking is disabled. Trust store password is not supported for PEM format.",title:"Ssl Truststore Password",required:!1,deprecated:!1},sslTruststoreType:{kind:"parameter",type:"string",defaultValue:"JKS",description:"The file format of the trust store file. Default value is JKS.",title:"Ssl Truststore Type",required:!1,deprecated:!1}}},kamelet:{type:"object",title:"Kamelet",group:"core",icon:"generic24.png",description:"To call Kamelets",properties:{templateId:{kind:"path",type:"string",description:"The Route Template ID",title:"Template Id",required:!0,deprecated:!1},routeId:{kind:"path",type:"string",description:"The Route ID. Default value notice: The ID will be auto-generated if not provided",title:"Route Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},block:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If sending a message to a direct endpoint which has no active consumer, then we can tell the producer to block and wait for the consumer to become active.",title:"Block",required:!1,deprecated:!1},failIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the producer should fail by throwing an exception, when sending to a kamelet endpoint with no active consumers.",title:"Fail If No Consumers",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The timeout value to use if block is enabled.",title:"Timeout",required:!1,deprecated:!1},location:{kind:"parameter",type:"string",description:"Location of the Kamelet to use which can be specified as a resource from file system, classpath etc. The location cannot use wildcards, and must refer to a file including extension, for example file:/etc/foo-kamelet.xml",title:"Location",required:!1,deprecated:!1}}},knative:{type:"object",title:"Knative",group:"cloud",icon:"generic24.png",description:"Send and receive events from Knative.",properties:{type:{kind:"path",type:"object",enum:["endpoint","channel","event"],description:"The Knative resource type",title:"Type",required:!1,deprecated:!1},typeId:{kind:"path",type:"string",description:"The identifier of the Knative resource",title:"Type Id",required:!1,deprecated:!1},ceOverride:{kind:"parameter",type:"object",description:"CloudEvent headers to override",title:"Ce Override",required:!1,deprecated:!1},cloudEventsSpecVersion:{kind:"parameter",type:"string",defaultValue:"1.0",enum:["1.0","1.0.1"],description:"Set the version of the cloudevents spec.",title:"Cloud Events Spec Version",required:!1,deprecated:!1},cloudEventsType:{kind:"parameter",type:"string",defaultValue:"org.apache.camel.event",description:"Set the event-type information of the produced events.",title:"Cloud Events Type",required:!1,deprecated:!1},environment:{kind:"parameter",type:"object",description:"The environment",title:"Environment",required:!1,deprecated:!1},filters:{kind:"parameter",type:"object",description:"Set the filters.",title:"Filters",required:!1,deprecated:!1},transportOptions:{kind:"parameter",type:"object",description:"Set the transport options.",title:"Transport Options",required:!1,deprecated:!1},replyWithCloudEvent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Transforms the reply into a cloud event that will be processed by the caller. When listening to events from a Knative Broker, if this flag is enabled, replies will be published to the same Broker where the request comes from (beware that if you don't change the type of the received message, you may create a loop and receive your same reply). When this flag is disabled, CloudEvent headers are removed from the reply.",title:"Reply With Cloud Event",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},reply:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If the consumer should construct a full reply to knative request.",title:"Reply",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The version of the k8s resource referenced by the endpoint.",title:"Api Version",required:!1,deprecated:!1},kind:{kind:"parameter",type:"string",description:"The type of the k8s resource referenced by the endpoint.",title:"Kind",required:!1,deprecated:!1},name:{kind:"parameter",type:"string",description:"The name of the k8s resource referenced by the endpoint.",title:"Name",required:!1,deprecated:!1}}},"kubernetes-config-maps":{type:"object",title:"Kubernetes ConfigMap",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes ConfigMaps and get notified on ConfigMaps changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-custom-resources":{type:"object",title:"Kubernetes Custom Resources",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Custom Resources and get notified on Deployment changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-deployments":{type:"object",title:"Kubernetes Deployments",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Deployments and get notified on Deployment changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-events":{type:"object",title:"Kubernetes Event",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Events and get notified on Events changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-hpa":{type:"object",title:"Kubernetes HPA",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Horizontal Pod Autoscalers (HPA) and get notified on HPA changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-job":{type:"object",title:"Kubernetes Job",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Jobs.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-namespaces":{type:"object",title:"Kubernetes Namespaces",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Namespaces and get notified on Namespace changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-nodes":{type:"object",title:"Kubernetes Nodes",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Nodes and get notified on Node changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-persistent-volumes":{type:"object",title:"Kubernetes Persistent Volume",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Persistent Volumes and get notified on Persistent Volume changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-persistent-volumes-claims":{type:"object",title:"Kubernetes Persistent Volume Claim",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Persistent Volumes Claims and get notified on Persistent Volumes Claim changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-pods":{type:"object",title:"Kubernetes Pods",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Pods and get notified on Pod changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-replication-controllers":{type:"object",title:"Kubernetes Replication Controller",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Replication Controllers and get notified on Replication Controllers changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-resources-quota":{type:"object",title:"Kubernetes Resources Quota",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Resources Quotas.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-secrets":{type:"object",title:"Kubernetes Secrets",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Secrets.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-service-accounts":{type:"object",title:"Kubernetes Service Account",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Service Accounts.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-services":{type:"object",title:"Kubernetes Services",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Services and get notified on Service changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},kudu:{type:"object",title:"Kudu",group:"database,iot,cloud",icon:"generic24.png",description:"Interact with Apache Kudu, a free and open source column-oriented data store of the Apache Hadoop ecosystem.",properties:{host:{kind:"path",type:"string",description:"Host of the server to connect to",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"string",description:"Port of the server to connect to",title:"Port",required:!1,deprecated:!1},tableName:{kind:"path",type:"string",description:"Table to connect to",title:"Table Name",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["INSERT","DELETE","UPDATE","UPSERT","CREATE_TABLE","SCAN"],description:"Operation to perform",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},language:{type:"object",title:"Language",group:"core,script",icon:"generic24.png",description:"Execute scripts in any of the languages supported by Camel.",properties:{languageName:{kind:"path",type:"string",enum:["bean","constant","csimple","datasonnet","exchangeProperty","file","groovy","header","hl7terser","joor","jq","jsonpath","mvel","ognl","ref","simple","spel","sql","tokenize","xpath","xquery","xtokenize"],description:"Sets the name of the language to use",title:"Language Name",required:!0,deprecated:!1},resourceUri:{kind:"path",type:"string",description:"Path to the resource, or a reference to lookup a bean in the Registry to use as the resource",title:"Resource Uri",required:!1,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},binary:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the script is binary content or text content. By default the script is read as text content (eg java.lang.String)",title:"Binary",required:!1,deprecated:!1},cacheScript:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to cache the compiled script and reuse Notice reusing the script can cause side effects from processing one Camel org.apache.camel.Exchange to the next org.apache.camel.Exchange.",title:"Cache Script",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},resultType:{kind:"parameter",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},script:{kind:"parameter",type:"string",description:"Sets the script to execute",title:"Script",required:!1,deprecated:!1},transform:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not the result of the script should be used as message body. This options is default true.",title:"Transform",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},ldap:{type:"object",title:"LDAP",group:"database,security",icon:"generic24.png",description:"Perform searches on LDAP servers.",properties:{dirContextName:{kind:"path",type:"string",description:"Name of either a javax.naming.directory.DirContext, or java.util.Hashtable, or Map bean to lookup in the registry. If the bean is either a Hashtable or Map then a new javax.naming.directory.DirContext instance is created for each use. If the bean is a javax.naming.directory.DirContext then the bean is used as given. The latter may not be possible in all situations where the javax.naming.directory.DirContext must not be shared, and in those situations it can be better to use java.util.Hashtable or Map instead.",title:"Dir Context Name",required:!0,deprecated:!1},base:{kind:"parameter",type:"string",defaultValue:"ou=system",description:"The base DN for searches.",title:"Base",required:!1,deprecated:!1},pageSize:{kind:"parameter",type:"integer",description:"When specified the ldap module uses paging to retrieve all results (most LDAP Servers throw an exception when trying to retrieve more than 1000 entries in one query). To be able to use this a LdapContext (subclass of DirContext) has to be passed in as ldapServerBean (otherwise an exception is thrown)",title:"Page Size",required:!1,deprecated:!1},returnedAttributes:{kind:"parameter",type:"string",description:"Comma-separated list of attributes that should be set in each entry of the result",title:"Returned Attributes",required:!1,deprecated:!1},scope:{kind:"parameter",type:"string",defaultValue:"subtree",enum:["object","onelevel","subtree"],description:"Specifies how deeply to search the tree of entries, starting at the base DN.",title:"Scope",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},ldif:{type:"object",title:"LDIF",group:"database,security",icon:"generic24.png",description:"Perform updates on an LDAP server from an LDIF body content.",properties:{ldapConnectionName:{kind:"path",type:"string",description:"The name of the LdapConnection bean to pull from the registry. Note that this must be of scope prototype to avoid it being shared among threads or using a connection that has timed out.",title:"Ldap Connection Name",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},log:{type:"object",title:"Log",group:"core,monitoring",icon:"log24.png",description:"Log messages to the underlying logging mechanism.",properties:{loggerName:{kind:"path",type:"string",description:"Name of the logging category to use",title:"Logger Name",required:!0,deprecated:!1},groupActiveOnly:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, will hide stats when no new messages have been received for a time interval, if false, show stats regardless of message traffic.",title:"Group Active Only",required:!1,deprecated:!1},groupDelay:{kind:"parameter",type:"integer",description:"Set the initial delay for stats (in millis)",title:"Group Delay",required:!1,deprecated:!1},groupInterval:{kind:"parameter",type:"integer",description:"If specified will group message stats by this time interval (in millis)",title:"Group Interval",required:!1,deprecated:!1},groupSize:{kind:"parameter",type:"integer",description:"An integer that specifies a group size for throughput logging.",title:"Group Size",required:!1,deprecated:!1},level:{kind:"parameter",type:"string",defaultValue:"INFO",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to use. The default value is INFO.",title:"Level",required:!1,deprecated:!1},logMask:{kind:"parameter",type:"boolean",description:"If true, mask sensitive information like password or passphrase in the log.",title:"Log Mask",required:!1,deprecated:!1},marker:{kind:"parameter",type:"string",description:"An optional Marker name to use.",title:"Marker",required:!1,deprecated:!1},plain:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled only the body will be printed out",title:"Plain",required:!1,deprecated:!1},sourceLocationLoggerName:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled then the source location of where the log endpoint is used in Camel routes, would be used as logger name, instead of the given name. However, if the source location is disabled or not possible to resolve then the existing logger name will be used.",title:"Source Location Logger Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},exchangeFormatter:{kind:"parameter",type:"object",description:"To use a custom exchange formatter",title:"Exchange Formatter",required:!1,deprecated:!1},maxChars:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Limits the number of characters logged per line.",title:"Max Chars",required:!1,deprecated:!1},multiline:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled then each information is outputted on a newline.",title:"Multiline",required:!1,deprecated:!1},showAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Quick option for turning all options on. (multiline, maxChars has to be manually set if to be used)",title:"Show All",required:!1,deprecated:!1},showAllProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show all of the exchange properties (both internal and custom).",title:"Show All Properties",required:!1,deprecated:!1},showBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Show the message body.",title:"Show Body",required:!1,deprecated:!1},showBodyType:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Show the body Java type.",title:"Show Body Type",required:!1,deprecated:!1},showCachedStreams:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether Camel should show cached stream bodies or not (org.apache.camel.StreamCache).",title:"Show Cached Streams",required:!1,deprecated:!1},showCaughtException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the exchange has a caught exception, show the exception message (no stack trace). A caught exception is stored as a property on the exchange (using the key org.apache.camel.Exchange#EXCEPTION_CAUGHT) and for instance a doCatch can catch exceptions.",title:"Show Caught Exception",required:!1,deprecated:!1},showException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the exchange has an exception, show the exception message (no stacktrace)",title:"Show Exception",required:!1,deprecated:!1},showExchangeId:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show the unique exchange ID.",title:"Show Exchange Id",required:!1,deprecated:!1},showExchangePattern:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Shows the Message Exchange Pattern (or MEP for short).",title:"Show Exchange Pattern",required:!1,deprecated:!1},showFiles:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled Camel will output files",title:"Show Files",required:!1,deprecated:!1},showFuture:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled Camel will on Future objects wait for it to complete to obtain the payload to be logged.",title:"Show Future",required:!1,deprecated:!1},showHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show the message headers.",title:"Show Headers",required:!1,deprecated:!1},showProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show the exchange properties (only custom). Use showAllProperties to show both internal and custom properties.",title:"Show Properties",required:!1,deprecated:!1},showStackTrace:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show the stack trace, if an exchange has an exception. Only effective if one of showAll, showException or showCaughtException are enabled.",title:"Show Stack Trace",required:!1,deprecated:!1},showStreams:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether Camel should show stream bodies or not (eg such as java.io.InputStream). Beware if you enable this option then you may not be able later to access the message body as the stream have already been read by this logger. To remedy this you will have to use Stream Caching.",title:"Show Streams",required:!1,deprecated:!1},skipBodyLineSeparator:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to skip line separators when logging the message body. This allows to log the message body in one line, setting this option to false will preserve any line separators from the body, which then will log the body as is.",title:"Skip Body Line Separator",required:!1,deprecated:!1},style:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Default","Tab","Fixed"],description:"Sets the outputs style to use.",title:"Style",required:!1,deprecated:!1}}},lpr:{type:"object",title:"Printer",group:"document",icon:"generic24.png",description:"Send print jobs to printers.",properties:{hostname:{kind:"path",type:"string",description:"Hostname of the printer",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number of the printer",title:"Port",required:!1,deprecated:!1},printername:{kind:"path",type:"string",description:"Name of the printer",title:"Printername",required:!1,deprecated:!1},copies:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of copies to print",title:"Copies",required:!1,deprecated:!1},docFlavor:{kind:"parameter",type:"object",description:"Sets DocFlavor to use.",title:"Doc Flavor",required:!1,deprecated:!1},flavor:{kind:"parameter",type:"string",description:"Sets DocFlavor to use.",title:"Flavor",required:!1,deprecated:!1},mediaSize:{kind:"parameter",type:"string",defaultValue:"na-letter",description:"Sets the stationary as defined by enumeration names in the javax.print.attribute.standard.MediaSizeName API. The default setting is to use North American Letter sized stationary. The value's case is ignored, e.g. values of iso_a4 and ISO_A4 may be used.",title:"Media Size",required:!1,deprecated:!1},mediaTray:{kind:"parameter",type:"string",description:"Sets MediaTray supported by the javax.print.DocFlavor API, for example upper,middle etc.",title:"Media Tray",required:!1,deprecated:!1},mimeType:{kind:"parameter",type:"string",description:"Sets mimeTypes supported by the javax.print.DocFlavor API",title:"Mime Type",required:!1,deprecated:!1},orientation:{kind:"parameter",type:"string",defaultValue:"portrait",enum:["portrait","landscape","reverse-portrait","reverse-landscape"],description:"Sets the page orientation.",title:"Orientation",required:!1,deprecated:!1},printerPrefix:{kind:"parameter",type:"string",description:"Sets the prefix name of the printer, it is useful when the printer name does not start with //hostname/printer",title:"Printer Prefix",required:!1,deprecated:!1},sendToPrinter:{kind:"parameter",type:"boolean",defaultValue:"true",description:"etting this option to false prevents sending of the print data to the printer",title:"Send To Printer",required:!1,deprecated:!1},sides:{kind:"parameter",type:"string",defaultValue:"one-sided",enum:["one-sided","duplex","tumble","two-sided-short-edge","two-sided-long-edge"],description:"Sets one sided or two sided printing based on the javax.print.attribute.standard.Sides API",title:"Sides",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},lucene:{type:"object",title:"Lucene",group:"database,search",icon:"generic24.png",description:"Perform inserts or queries against Apache Lucene databases.",properties:{host:{kind:"path",type:"string",description:"The URL to the lucene server",title:"Host",required:!0,deprecated:!1},operation:{kind:"path",type:"object",enum:["insert","query"],description:"Operation to do such as insert or query.",title:"Operation",required:!0,deprecated:!1},analyzer:{kind:"parameter",type:"object",description:"An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index terms from text. The value for analyzer can be any class that extends the abstract class org.apache.lucene.analysis.Analyzer. Lucene also offers a rich set of analyzers out of the box",title:"Analyzer",required:!1,deprecated:!1},indexDir:{kind:"parameter",type:"string",description:"A file system directory in which index files are created upon analysis of the document by the specified analyzer",title:"Index Dir",required:!1,deprecated:!1},maxHits:{kind:"parameter",type:"integer",description:"An integer value that limits the result set of the search operation",title:"Max Hits",required:!1,deprecated:!1},srcDir:{kind:"parameter",type:"string",description:"An optional directory containing files to be used to be analyzed and added to the index at producer startup.",title:"Src Dir",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},lumberjack:{type:"object",title:"Lumberjack",group:"monitoring",icon:"generic24.png",description:"Receive logs messages using the Lumberjack protocol.",properties:{host:{kind:"path",type:"string",description:"Network interface on which to listen for Lumberjack",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"5044",description:"Network port on which to listen for Lumberjack",title:"Port",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"SSL configuration",title:"Ssl Context Parameters",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},mapstruct:{type:"object",title:"MapStruct",group:"transformation",icon:"generic24.png",description:"Type Conversion using Mapstruct",properties:{className:{kind:"path",type:"string",description:"The fully qualified class name of the POJO that mapstruct should convert to (target)",title:"Class Name",required:!0,deprecated:!1},mandatory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether there must exist a mapstruct converter to convert to the POJO.",title:"Mandatory",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},master:{type:"object",title:"Master",group:"clustering",icon:"generic24.png",description:"Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.",properties:{namespace:{kind:"path",type:"string",description:"The name of the cluster namespace to use",title:"Namespace",required:!0,deprecated:!1},delegateUri:{kind:"path",type:"string",description:"The endpoint uri to use in master/slave mode",title:"Delegate Uri",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},metrics:{type:"object",title:"Metrics",group:"monitoring",icon:"generic24.png",description:"Collect various metrics directly from Camel routes using the DropWizard metrics library.",properties:{metricsType:{kind:"path",type:"object",enum:["gauge","counter","histogram","meter","timer"],description:"Type of metrics",title:"Metrics Type",required:!0,deprecated:!1},metricsName:{kind:"path",type:"string",description:"Name of metrics",title:"Metrics Name",required:!0,deprecated:!1},action:{kind:"parameter",type:"object",enum:["start","stop"],description:"Action when using timer type",title:"Action",required:!1,deprecated:!1},decrement:{kind:"parameter",type:"integer",description:"Decrement value when using counter type",title:"Decrement",required:!1,deprecated:!1},increment:{kind:"parameter",type:"integer",description:"Increment value when using counter type",title:"Increment",required:!1,deprecated:!1},mark:{kind:"parameter",type:"integer",description:"Mark when using meter type",title:"Mark",required:!1,deprecated:!1},subject:{kind:"parameter",type:"object",description:"Subject value when using gauge type",title:"Subject",required:!1,deprecated:!1},value:{kind:"parameter",type:"integer",description:"Value value when using histogram type",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},micrometer:{type:"object",title:"Micrometer",group:"monitoring",icon:"generic24.png",description:"Collect various metrics directly from Camel routes using the Micrometer library.",properties:{metricsType:{kind:"path",type:"object",enum:["counter","summary","timer"],description:"Type of metrics",title:"Metrics Type",required:!0,deprecated:!1},metricsName:{kind:"path",type:"string",description:"Name of metrics",title:"Metrics Name",required:!0,deprecated:!1},tags:{kind:"path",type:"object",description:"Tags of metrics",title:"Tags",required:!1,deprecated:!1},action:{kind:"parameter",type:"string",enum:["start","stop"],description:"Action expression when using timer type",title:"Action",required:!1,deprecated:!1},decrement:{kind:"parameter",type:"string",description:"Decrement value expression when using counter type",title:"Decrement",required:!1,deprecated:!1},increment:{kind:"parameter",type:"string",description:"Increment value expression when using counter type",title:"Increment",required:!1,deprecated:!1},metricsDescription:{kind:"parameter",type:"string",description:"Description of metrics",title:"Metrics Description",required:!1,deprecated:!1},value:{kind:"parameter",type:"string",description:"Value expression when using histogram type",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},mina:{type:"object",title:"Mina",group:"networking",icon:"generic24.png",description:"Socket level networking using TCP or UDP with Apache Mina 2.x.",properties:{protocol:{kind:"path",type:"string",description:"Protocol to use",title:"Protocol",required:!0,deprecated:!1},host:{kind:"path",type:"string",description:"Hostname to use. Use localhost or 0.0.0.0 for local server as consumer. For producer use the hostname or ip address of the remote server.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number",title:"Port",required:!0,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to disconnect(close) from Mina session right after use. Can be used for both consumer and producer.",title:"Disconnect",required:!1,deprecated:!1},minaLogger:{kind:"parameter",type:"boolean",defaultValue:"false",description:"You can enable the Apache MINA logging filter. Apache MINA uses slf4j logging at INFO level to log all input and output.",title:"Mina Logger",required:!1,deprecated:!1},sync:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to set endpoint as one-way or request-response.",title:"Sync",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"You can configure the timeout that specifies how long to wait for a response from a remote server. The timeout unit is in milliseconds, so 60000 is 60 seconds.",title:"Timeout",required:!1,deprecated:!1},writeTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Maximum amount of time it should take to send data to the MINA session. Default is 10000 milliseconds.",title:"Write Timeout",required:!1,deprecated:!1},clientMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the clientMode is true, mina consumer will connect the address as a TCP client.",title:"Client Mode",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},noReplyLogLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If sync is enabled this option dictates MinaConsumer which logging level to use when logging a there is no reply to send back.",title:"No Reply Log Level",required:!1,deprecated:!1},cachedAddress:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to create the InetAddress once and reuse. Setting this to false allows to pickup DNS changes in the network.",title:"Cached Address",required:!1,deprecated:!1},lazySessionCreation:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sessions can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started.",title:"Lazy Session Creation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},disconnectOnNoReply:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If sync is enabled then this option dictates MinaConsumer if it should disconnect where there is no reply to send back.",title:"Disconnect On No Reply",required:!1,deprecated:!1},maximumPoolSize:{kind:"parameter",type:"integer",defaultValue:"16",description:"Number of worker threads in the worker pool for TCP and UDP",title:"Maximum Pool Size",required:!1,deprecated:!1},orderedThreadPoolExecutor:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use ordered thread pool, to ensure events are processed orderly on the same channel.",title:"Ordered Thread Pool Executor",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP. You can transfer the exchange over the wire instead of just the body. The following fields are transferred: In body, Out body, fault body, In headers, Out headers, fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Transfer Exchange",required:!1,deprecated:!1},allowDefaultCodec:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The mina component installs a default codec if both, codec is null and textline is false. Setting allowDefaultCodec to false prevents the mina component from installing a default codec as the first element in the filter chain. This is useful in scenarios where another filter must be the first in the filter chain, like the SSL filter.",title:"Allow Default Codec",required:!1,deprecated:!1},codec:{kind:"parameter",type:"object",description:"To use a custom minda codec implementation.",title:"Codec",required:!1,deprecated:!1},decoderMaxLineLength:{kind:"parameter",type:"integer",defaultValue:"1024",description:"To set the textline protocol decoder max line length. By default the default value of Mina itself is used which are 1024.",title:"Decoder Max Line Length",required:!1,deprecated:!1},encoderMaxLineLength:{kind:"parameter",type:"integer",defaultValue:"-1",description:"To set the textline protocol encoder max line length. By default the default value of Mina itself is used which are Integer.MAX_VALUE.",title:"Encoder Max Line Length",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided, Camel will use the JVM default Charset",title:"Encoding",required:!1,deprecated:!1},filters:{kind:"parameter",type:"array",description:"You can set a list of Mina IoFilters to use.",title:"Filters",required:!1,deprecated:!1},textline:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; if not specified or the value is false, then Object Serialization is assumed over TCP.",title:"Textline",required:!1,deprecated:!1},textlineDelimiter:{kind:"parameter",type:"object",enum:["DEFAULT","AUTO","UNIX","WINDOWS","MAC"],description:"Only used for TCP and if textline=true. Sets the text line delimiter to use. If none provided, Camel will use DEFAULT. This delimiter is used to mark the end of text.",title:"Textline Delimiter",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure SSL security.",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},minio:{type:"object",title:"Minio",group:"cloud,file",icon:"generic24.png",description:"Store and retrieve objects from Minio Storage Service using Minio SDK.",properties:{bucketName:{kind:"path",type:"string",description:"Bucket name",title:"Bucket Name",required:!0,deprecated:!1},autoCreateBucket:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting the autocreation of the bucket if bucket name not exist.",title:"Auto Create Bucket",required:!1,deprecated:!1},customHttpClient:{kind:"parameter",type:"object",description:"Set custom HTTP client for authenticated access.",title:"Custom Http Client",required:!1,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"Endpoint can be an URL, domain name, IPv4 address or IPv6 address.",title:"Endpoint",required:!1,deprecated:!1},minioClient:{kind:"parameter",type:"object",description:"Reference to a Minio Client object in the registry.",title:"Minio Client",required:!1,deprecated:!1},objectLock:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set when creating new bucket.",title:"Object Lock",required:!1,deprecated:!1},policy:{kind:"parameter",type:"string",description:"The policy for this queue to set in the method.",title:"Policy",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"TCP/IP port number. 80 and 443 are used as defaults for HTTP and HTTPS.",title:"Proxy Port",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which Minio client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1). You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},secure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flag to indicate to use secure connection to minio service or not.",title:"Secure",required:!1,deprecated:!1},serverSideEncryption:{kind:"parameter",type:"object",description:"Server-side encryption.",title:"Server Side Encryption",required:!1,deprecated:!1},serverSideEncryptionCustomerKey:{kind:"parameter",type:"object",description:"Server-side encryption for source object while copy/move objects.",title:"Server Side Encryption Customer Key",required:!1,deprecated:!1},autoCloseBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true and includeBody is true, then the MinioObject.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the MinioObject stream. Setting autocloseBody to true, will close the MinioObject stream automatically.",title:"Auto Close Body",required:!1,deprecated:!1},bypassGovernanceMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this flag if you want to bypassGovernanceMode when deleting a particular object.",title:"Bypass Governance Mode",required:!1,deprecated:!1},deleteAfterRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Delete objects from Minio after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. Therefore you need to use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the MinioConstants#BUCKET_NAME and MinioConstants#OBJECT_NAME headers, or only the MinioConstants#OBJECT_NAME header.",title:"Delete After Read",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"string",description:"The delimiter which is used in the ListObjectsRequest to only consume objects we are interested in.",title:"Delimiter",required:!1,deprecated:!1},destinationBucketName:{kind:"parameter",type:"string",description:"Destination bucket name.",title:"Destination Bucket Name",required:!1,deprecated:!1},destinationObjectName:{kind:"parameter",type:"string",description:"Destination object name.",title:"Destination Object Name",required:!1,deprecated:!1},includeBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the exchange body will be set to a stream to the contents of the file. If false, the headers will be set with the Minio object metadata, but the body will be null. This option is strongly related to autocloseBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the MinioObject stream. Setting autocloseBody to true, will close the MinioObject stream automatically.",title:"Include Body",required:!1,deprecated:!1},includeFolders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"The flag which is used in the ListObjectsRequest to set include folders.",title:"Include Folders",required:!1,deprecated:!1},includeUserMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"The flag which is used in the ListObjectsRequest to get objects with user meta data.",title:"Include User Metadata",required:!1,deprecated:!1},includeVersions:{kind:"parameter",type:"boolean",defaultValue:"false",description:"The flag which is used in the ListObjectsRequest to get objects with versioning.",title:"Include Versions",required:!1,deprecated:!1},length:{kind:"parameter",type:"integer",description:"Number of bytes of object data from offset.",title:"Length",required:!1,deprecated:!1},matchETag:{kind:"parameter",type:"string",description:"Set match ETag parameter for get object(s).",title:"Match ETag",required:!1,deprecated:!1},maxConnections:{kind:"parameter",type:"integer",defaultValue:"60",description:"Set the maxConnections parameter in the minio client configuration",title:"Max Connections",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"10",description:"Gets the maximum number of messages as a limit to poll at each polling. Gets the maximum number of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative number to set it as unlimited.",title:"Max Messages Per Poll",required:!1,deprecated:!1},modifiedSince:{kind:"parameter",type:"object",description:"Set modified since parameter for get object(s).",title:"Modified Since",required:!1,deprecated:!1},moveAfterRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Move objects from bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved.",title:"Move After Read",required:!1,deprecated:!1},notMatchETag:{kind:"parameter",type:"string",description:"Set not match ETag parameter for get object(s).",title:"Not Match ETag",required:!1,deprecated:!1},objectName:{kind:"parameter",type:"string",description:"To get the object from the bucket with the given object name.",title:"Object Name",required:!1,deprecated:!1},offset:{kind:"parameter",type:"integer",description:"Start byte position of object data.",title:"Offset",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"string",description:"Object name starts with prefix.",title:"Prefix",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"List recursively than directory structure emulation.",title:"Recursive",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},startAfter:{kind:"parameter",type:"string",description:"list objects in bucket after this object name.",title:"Start After",required:!1,deprecated:!1},unModifiedSince:{kind:"parameter",type:"object",description:"Set un modified since parameter for get object(s).",title:"Un Modified Since",required:!1,deprecated:!1},useVersion1:{kind:"parameter",type:"boolean",defaultValue:"false",description:"when true, version 1 of REST API is used.",title:"Use Version1",required:!1,deprecated:!1},versionId:{kind:"parameter",type:"string",description:"Set specific version_ID of a object when deleting the object.",title:"Version Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},deleteAfterWrite:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Delete file object after the Minio file has been uploaded.",title:"Delete After Write",required:!1,deprecated:!1},keyName:{kind:"parameter",type:"string",description:"Setting the key name for an element in the bucket through endpoint parameter.",title:"Key Name",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["copyObject","listObjects","deleteObject","deleteObjects","deleteBucket","listBuckets","getObject","getObjectRange","createDownloadLink","createUploadLink"],description:"The operation to do in case the user don't want to do only an upload.",title:"Operation",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not.",title:"Pojo Request",required:!1,deprecated:!1},storageClass:{kind:"parameter",type:"string",description:"The storage class to set in the request.",title:"Storage Class",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Access Key or Minio Access Key. If not set camel will connect to service for anonymous access.",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key Id or Minio Secret Key. If not set camel will connect to service for anonymous access.",title:"Secret Key",required:!1,deprecated:!1}}},mllp:{type:"object",title:"MLLP",group:"HEALTH",icon:"generic24.png",description:"Communicate with external systems using the MLLP protocol.",properties:{hostname:{kind:"path",type:"string",description:"Hostname or IP for connection for the TCP connection. The default value is null, which means any local IP address",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number for the TCP connection",title:"Port",required:!0,deprecated:!1},autoAck:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/Disable the automatic generation of a MLLP Acknowledgement MLLP Consumers only",title:"Auto Ack",required:!1,deprecated:!1},charsetName:{kind:"parameter",type:"string",description:"Sets the default charset to use",title:"Charset Name",required:!1,deprecated:!1},hl7Headers:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/Disable the automatic generation of message headers from the HL7 Message MLLP Consumers only",title:"Hl7 Headers",required:!1,deprecated:!1},requireEndOfData:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/Disable strict compliance to the MLLP standard. The MLLP standard specifies START_OF_BLOCKhl7 payloadEND_OF_BLOCKEND_OF_DATA, however, some systems do not send the final END_OF_DATA byte. This setting controls whether or not the final END_OF_DATA byte is required or optional.",title:"Require End Of Data",required:!1,deprecated:!1},stringPayload:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/Disable converting the payload to a String. If enabled, HL7 Payloads received from external systems will be validated converted to a String. If the charsetName property is set, that character set will be used for the conversion. If the charsetName property is not set, the value of MSH-18 will be used to determine th appropriate character set. If MSH-18 is not set, then the default ISO-8859-1 character set will be use.",title:"String Payload",required:!1,deprecated:!1},validatePayload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable/Disable the validation of HL7 Payloads If enabled, HL7 Payloads received from external systems will be validated (see Hl7Util.generateInvalidPayloadExceptionMessage for details on the validation). If and invalid payload is detected, a MllpInvalidMessageException (for consumers) or a MllpInvalidAcknowledgementException will be thrown.",title:"Validate Payload",required:!1,deprecated:!1},acceptTimeout:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Timeout (in milliseconds) while waiting for a TCP connection TCP Server Only",title:"Accept Timeout",required:!1,deprecated:!1},backlog:{kind:"parameter",type:"integer",defaultValue:"5",description:"The maximum queue length for incoming connection indications (a request to connect) is set to the backlog parameter. If a connection indication arrives when the queue is full, the connection is refused.",title:"Backlog",required:!1,deprecated:!1},bindRetryInterval:{kind:"parameter",type:"integer",defaultValue:"5000",description:"TCP Server Only - The number of milliseconds to wait between bind attempts",title:"Bind Retry Interval",required:!1,deprecated:!1},bindTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"TCP Server Only - The number of milliseconds to retry binding to a server port",title:"Bind Timeout",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to receive incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. If disabled, the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions by logging them at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},lenientBind:{kind:"parameter",type:"boolean",defaultValue:"false",description:"TCP Server Only - Allow the endpoint to start before the TCP ServerSocket is bound. In some environments, it may be desirable to allow the endpoint to start before the TCP ServerSocket is bound.",title:"Lenient Bind",required:!1,deprecated:!1},maxConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"5",description:"The maximum number of concurrent MLLP Consumer connections that will be allowed. If a new connection is received and the maximum is number are already established, the new connection will be reset immediately.",title:"Max Concurrent Consumers",required:!1,deprecated:!1},reuseAddress:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable/disable the SO_REUSEADDR socket option.",title:"Reuse Address",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",defaultValue:"InOut",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Timeout (in milliseconds) for establishing for a TCP connection TCP Client only",title:"Connect Timeout",required:!1,deprecated:!1},idleTimeoutStrategy:{kind:"parameter",type:"object",defaultValue:"RESET",enum:["RESET","CLOSE"],description:"decide what action to take when idle timeout occurs. Possible values are : RESET: set SO_LINGER to 0 and reset the socket CLOSE: close the socket gracefully default is RESET.",title:"Idle Timeout Strategy",required:!1,deprecated:!1},keepAlive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/disable the SO_KEEPALIVE socket option.",title:"Keep Alive",required:!1,deprecated:!1},tcpNoDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/disable the TCP_NODELAY socket option.",title:"Tcp No Delay",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},maxBufferSize:{kind:"parameter",type:"integer",defaultValue:"1073741824",description:"Maximum buffer size used when receiving or sending data over the wire.",title:"Max Buffer Size",required:!1,deprecated:!1},minBufferSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Minimum buffer size used when receiving or sending data over the wire.",title:"Min Buffer Size",required:!1,deprecated:!1},readTimeout:{kind:"parameter",type:"integer",defaultValue:"5000",description:"The SO_TIMEOUT value (in milliseconds) used after the start of an MLLP frame has been received",title:"Read Timeout",required:!1,deprecated:!1},receiveBufferSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Sets the SO_RCVBUF option to the specified value (in bytes)",title:"Receive Buffer Size",required:!1,deprecated:!1},receiveTimeout:{kind:"parameter",type:"integer",defaultValue:"15000",description:"The SO_TIMEOUT value (in milliseconds) used when waiting for the start of an MLLP frame",title:"Receive Timeout",required:!1,deprecated:!1},sendBufferSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Sets the SO_SNDBUF option to the specified value (in bytes)",title:"Send Buffer Size",required:!1,deprecated:!1},idleTimeout:{kind:"parameter",type:"integer",description:"The approximate idle time allowed before the Client TCP Connection will be reset. A null value or a value less than or equal to zero will disable the idle timeout.",title:"Idle Timeout",required:!1,deprecated:!1}}},mock:{type:"object",title:"Mock",group:"core,testing",icon:"generic24.png",description:"Test routes and mediation rules using mocks.",properties:{name:{kind:"path",type:"string",description:"Name of mock endpoint",title:"Name",required:!0,deprecated:!1},assertPeriod:{kind:"parameter",type:"duration",description:"Sets a grace period after which the mock endpoint will re-assert to ensure the preliminary assertion is still valid. This is used for example to assert that exactly a number of messages arrives. For example if expected count was set to 5, then the assertion is satisfied when 5 or more message arrives. To ensure that exactly 5 messages arrives, then you would need to wait a little period to ensure no further message arrives. This is what you can use this method for. By default this period is disabled.",title:"Assert Period",required:!1,deprecated:!1},expectedCount:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages, then take extra care, as 0 matches when the tests starts, so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use setAssertPeriod(long). An alternative is to use NotifyBuilder, and use the notifier to know when Camel is done routing some messages, before you call the assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period, to speedup testing times. If you want to assert that exactly nth message arrives to this mock endpoint, then see also the setAssertPeriod(long) method for further details.",title:"Expected Count",required:!1,deprecated:!1},failFast:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether assertIsSatisfied() should fail fast at the first detected failed expectation while it may otherwise wait for all expected messages to arrive before performing expectations verifications. Is by default true. Set to false to use behavior as in Camel 2.x.",title:"Fail Fast",required:!1,deprecated:!1},log:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To turn on logging when the mock receives an incoming message. This will log only one time at INFO level for the incoming message. For more detailed logging then set the logger to DEBUG level for the org.apache.camel.component.mock.MockEndpoint class.",title:"Log",required:!1,deprecated:!1},reportGroup:{kind:"parameter",type:"integer",description:"A number that is used to turn on throughput logging based on groups of the size.",title:"Report Group",required:!1,deprecated:!1},resultMinimumWaitTime:{kind:"parameter",type:"duration",description:"Sets the minimum expected amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Minimum Wait Time",required:!1,deprecated:!1},resultWaitTime:{kind:"parameter",type:"duration",description:"Sets the maximum amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Wait Time",required:!1,deprecated:!1},retainFirst:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the first nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the first 10 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain First",required:!1,deprecated:!1},retainLast:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the last nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the last 20 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain Last",required:!1,deprecated:!1},sleepForEmptyTest:{kind:"parameter",type:"duration",description:"Allows a sleep to be specified to wait to check that this endpoint really is empty when expectedMessageCount(int) is called with zero",title:"Sleep For Empty Test",required:!1,deprecated:!1},copyOnExchange:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to make a deep copy of the incoming Exchange when received at this mock endpoint. Is by default true.",title:"Copy On Exchange",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},mongodb:{type:"object",title:"MongoDB",group:"database",icon:"generic24.png",description:"Perform operations on MongoDB documents and collections.",properties:{connectionBean:{kind:"path",type:"string",description:"Sets the connection bean reference used to lookup a client for connecting to a database if no hosts parameter is present.",title:"Connection Bean",required:!0,deprecated:!1},collection:{kind:"parameter",type:"string",description:"Sets the name of the MongoDB collection to bind to this endpoint",title:"Collection",required:!1,deprecated:!1},collectionIndex:{kind:"parameter",type:"string",description:"Sets the collection index (JSON FORMAT : { field1 : order1, field2 : order2})",title:"Collection Index",required:!1,deprecated:!1},createCollection:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Create collection during initialisation if it doesn't exist. Default is true.",title:"Create Collection",required:!1,deprecated:!1},database:{kind:"parameter",type:"string",description:"Sets the name of the MongoDB database to target",title:"Database",required:!1,deprecated:!1},hosts:{kind:"parameter",type:"string",description:"Host address of mongodb server in host:port format. It's possible also use more than one address, as comma separated list of hosts: host1:port1,host2:port2. If the hosts parameter is specified, the provided connectionBean is ignored.",title:"Hosts",required:!1,deprecated:!1},mongoConnection:{kind:"parameter",type:"object",description:"Sets the connection bean used as a client for connecting to a database.",title:"Mongo Connection",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["findById","findOneByQuery","findAll","findDistinct","insert","save","update","remove","bulkWrite","aggregate","getDbStats","getColStats","count","command"],description:"Sets the operation this endpoint will execute against MongoDB.",title:"Operation",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",enum:["DocumentList","Document","MongoIterable"],description:"Convert the output of the producer to the selected type : DocumentList Document or MongoIterable. DocumentList or MongoIterable applies to findAll and aggregate. Document applies to all other operations.",title:"Output Type",required:!1,deprecated:!1},consumerType:{kind:"parameter",type:"string",description:"Consumer type.",title:"Consumer Type",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},appName:{kind:"parameter",type:"string",description:"Sets the logical name of the application. The application name may be used by the client to identify the application to the server, for use in server logs, slow query logs, and profile collection. Default: null",title:"App Name",required:!1,deprecated:!1},compressors:{kind:"parameter",type:"string",description:"Specifies one or more compression algorithms that the driver will attempt to use to compress requests sent to the connected MongoDB instance. Possible values include: zlib, snappy, and zstd. Default: null",title:"Compressors",required:!1,deprecated:!1},connectTimeoutMS:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Specifies the maximum amount of time, in milliseconds, the Java driver waits for a connection to open before timing out. A value of 0 instructs the driver to never time out while waiting for a connection to open. Default: 10000 (10 seconds)",title:"Connect Timeout MS",required:!1,deprecated:!1},cursorRegenerationDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"MongoDB tailable cursors will block until new data arrives. If no new data is inserted, after some time the cursor will be automatically freed and closed by the MongoDB server. The client is expected to regenerate the cursor if needed. This value specifies the time to wait before attempting to fetch a new cursor, and if the attempt fails, how long before the next attempt is made. Default value is 1000ms.",title:"Cursor Regeneration Delay",required:!1,deprecated:!1},directConnection:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies that the driver must connect to the host directly. Default: false",title:"Direct Connection",required:!1,deprecated:!1},dynamicity:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether this endpoint will attempt to dynamically resolve the target database and collection from the incoming Exchange properties. Can be used to override at runtime the database and collection specified on the otherwise static endpoint URI. It is disabled by default to boost performance. Enabling it will take a minimal performance hit.",title:"Dynamicity",required:!1,deprecated:!1},heartbeatFrequencyMS:{kind:"parameter",type:"integer",description:"heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one. Default: Single-threaded drivers: 60 seconds. Multi-threaded drivers: 10 seconds.",title:"Heartbeat Frequency MS",required:!1,deprecated:!1},loadBalanced:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true the driver will assume that it's connecting to MongoDB through a load balancer.",title:"Load Balanced",required:!1,deprecated:!1},localThresholdMS:{kind:"parameter",type:"integer",defaultValue:"15",description:"The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances. Default: 15 milliseconds.",title:"Local Threshold MS",required:!1,deprecated:!1},maxConnecting:{kind:"parameter",type:"integer",defaultValue:"2",description:"Specifies the maximum number of connections a pool may be establishing concurrently. Default: 2",title:"Max Connecting",required:!1,deprecated:!1},maxIdleTimeMS:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies the maximum amount of time, in milliseconds, the Java driver will allow a pooled connection to idle before closing the connection. A value of 0 indicates that there is no upper bound on how long the driver can allow a pooled collection to be idle. Default: 0",title:"Max Idle Time MS",required:!1,deprecated:!1},maxLifeTimeMS:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies the maximum amount of time, in milliseconds, the Java driver will continue to use a pooled connection before closing the connection. A value of 0 indicates that there is no upper bound on how long the driver can keep a pooled connection open. Default: 0",title:"Max Life Time MS",required:!1,deprecated:!1},maxPoolSize:{kind:"parameter",type:"integer",defaultValue:"100",description:"The maximum number of connections in the connection pool. The default value is 100.",title:"Max Pool Size",required:!1,deprecated:!1},maxStalenessSeconds:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies, in seconds, how stale a secondary can be before the driver stops communicating with that secondary. The minimum value is either 90 seconds or the heartbeat frequency plus 10 seconds, whichever is greater. For more information, see the server documentation for the maxStalenessSeconds option. Not providing a parameter or explicitly specifying -1 indicates that there should be no staleness check for secondaries. Default: -1",title:"Max Staleness Seconds",required:!1,deprecated:!1},minPoolSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies the minimum number of connections that must exist at any moment in a single connection pool. Default: 0",title:"Min Pool Size",required:!1,deprecated:!1},readPreference:{kind:"parameter",type:"string",defaultValue:"PRIMARY",enum:["PRIMARY","PRIMARY_PREFERRED","SECONDARY","SECONDARY_PREFERRED","NEAREST"],description:"Configure how MongoDB clients route read operations to the members of a replica set. Possible values are PRIMARY, PRIMARY_PREFERRED, SECONDARY, SECONDARY_PREFERRED or NEAREST",title:"Read Preference",required:!1,deprecated:!1},readPreferenceTags:{kind:"parameter",type:"string",description:"A representation of a tag set as a comma-separated list of colon-separated key-value pairs, e.g. dc:ny,rack:1. Spaces are stripped from beginning and end of all keys and values. To specify a list of tag sets, using multiple readPreferenceTags, e.g. readPreferenceTags=dc:ny,rack:1;readPreferenceTags=dc:ny;readPreferenceTags= Note the empty value for the last one, which means match any secondary as a last resort. Order matters when using multiple readPreferenceTags.",title:"Read Preference Tags",required:!1,deprecated:!1},replicaSet:{kind:"parameter",type:"string",description:"Specifies that the connection string provided includes multiple hosts. When specified, the driver attempts to find all members of that set.",title:"Replica Set",required:!1,deprecated:!1},retryReads:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies that the driver must retry supported read operations if they fail due to a network error. Default: true",title:"Retry Reads",required:!1,deprecated:!1},retryWrites:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies that the driver must retry supported write operations if they fail due to a network error. Default: true",title:"Retry Writes",required:!1,deprecated:!1},serverSelectionTimeoutMS:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Specifies how long (in milliseconds) to block for server selection before throwing an exception. Default: 30,000 milliseconds.",title:"Server Selection Timeout MS",required:!1,deprecated:!1},socketTimeoutMS:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies the maximum amount of time, in milliseconds, the Java driver will wait to send or receive a request before timing out. A value of 0 instructs the driver to never time out while waiting to send or receive a request. Default: 0",title:"Socket Timeout MS",required:!1,deprecated:!1},srvMaxHosts:{kind:"parameter",type:"integer",description:"The maximum number of hosts from the SRV record to connect to.",title:"Srv Max Hosts",required:!1,deprecated:!1},srvServiceName:{kind:"parameter",type:"string",defaultValue:"mongodb",description:"Specifies the service name of the SRV resource recordsthe driver retrieves to construct your seed list. You must use the DNS Seed List Connection Format in your connection URI to use this option. Default: mongodb",title:"Srv Service Name",required:!1,deprecated:!1},tls:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies that all communication with MongoDB instances should use TLS. Supersedes the ssl option. Default: false",title:"Tls",required:!1,deprecated:!1},tlsAllowInvalidHostnames:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies that the driver should allow invalid hostnames in the certificate for TLS connections. Supersedes sslInvalidHostNameAllowed. Has the same effect as tlsInsecure by setting tlsAllowInvalidHostnames to true. Default: false",title:"Tls Allow Invalid Hostnames",required:!1,deprecated:!1},waitQueueTimeoutMS:{kind:"parameter",type:"integer",defaultValue:"120000",description:"Specifies the maximum amount of time, in milliseconds that a thread may wait for a connection to become available. Default: 120000 (120 seconds)",title:"Wait Queue Timeout MS",required:!1,deprecated:!1},writeConcern:{kind:"parameter",type:"string",defaultValue:"ACKNOWLEDGED",enum:["ACKNOWLEDGED","W1","W2","W3","UNACKNOWLEDGED","JOURNALED","MAJORITY"],description:"Configure the connection bean with the level of acknowledgment requested from MongoDB for write operations to a standalone mongod, replicaset or cluster. Possible values are ACKNOWLEDGED, W1, W2, W3, UNACKNOWLEDGED, JOURNALED or MAJORITY.",title:"Write Concern",required:!1,deprecated:!1},writeResultAsHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"In write operations, it determines whether instead of returning WriteResult as the body of the OUT message, we transfer the IN message to the OUT and attach the WriteResult as a header.",title:"Write Result As Header",required:!1,deprecated:!1},zlibCompressionLevel:{kind:"parameter",type:"integer",description:"Specifies the degree of compression that Zlib should use to decrease the size of requests to the connected MongoDB instance. The level can range from -1 to 9, with lower values compressing faster (but resulting in larger requests) and larger values compressing slower (but resulting in smaller requests). Default: null",title:"Zlib Compression Level",required:!1,deprecated:!1},fullDocument:{kind:"parameter",type:"object",defaultValue:"default",enum:["default","updateLookup","required","whenAvailable"],description:"Specifies whether changeStream consumer include a copy of the full document when modified by update operations. Possible values are default, updateLookup, required and whenAvailable.",title:"Full Document",required:!1,deprecated:!1},streamFilter:{kind:"parameter",type:"string",description:"Filter condition for change streams consumer.",title:"Stream Filter",required:!1,deprecated:!1},authSource:{kind:"parameter",type:"string",description:"The database name associated with the user's credentials.",title:"Auth Source",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"User password for mongodb connection",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for mongodb connection",title:"Username",required:!1,deprecated:!1},persistentId:{kind:"parameter",type:"string",description:"One tail tracking collection can host many trackers for several tailable consumers. To keep them separate, each tracker should have its own unique persistentId.",title:"Persistent Id",required:!1,deprecated:!1},persistentTailTracking:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable persistent tail tracking, which is a mechanism to keep track of the last consumed message across system restarts. The next time the system is up, the endpoint will recover the cursor from the point where it last stopped slurping records.",title:"Persistent Tail Tracking",required:!1,deprecated:!1},tailTrackCollection:{kind:"parameter",type:"string",description:"Collection where tail tracking information will be persisted. If not specified, MongoDbTailTrackingConfig#DEFAULT_COLLECTION will be used by default.",title:"Tail Track Collection",required:!1,deprecated:!1},tailTrackDb:{kind:"parameter",type:"string",description:"Indicates what database the tail tracking mechanism will persist to. If not specified, the current database will be picked by default. Dynamicity will not be taken into account even if enabled, i.e. the tail tracking database will not vary past endpoint initialisation.",title:"Tail Track Db",required:!1,deprecated:!1},tailTrackField:{kind:"parameter",type:"string",description:"Field where the last tracked value will be placed. If not specified, MongoDbTailTrackingConfig#DEFAULT_FIELD will be used by default.",title:"Tail Track Field",required:!1,deprecated:!1},tailTrackIncreasingField:{kind:"parameter",type:"string",description:"Correlation field in the incoming record which is of increasing nature and will be used to position the tailing cursor every time it is generated. The cursor will be (re)created with a query of type: tailTrackIncreasingField greater than lastValue (possibly recovered from persistent tail tracking). Can be of type Integer, Date, String, etc. NOTE: No support for dot notation at the current time, so the field should be at the top level of the document.",title:"Tail Track Increasing Field",required:!1,deprecated:!1}}},"mongodb-gridfs":{type:"object",title:"MongoDB GridFS",group:"database,file",icon:"generic24.png",description:"Interact with MongoDB GridFS.",properties:{connectionBean:{kind:"path",type:"string",description:"Name of com.mongodb.client.MongoClient to use.",title:"Connection Bean",required:!0,deprecated:!1},bucket:{kind:"parameter",type:"string",defaultValue:"fs",description:"Sets the name of the GridFS bucket within the database. Default is fs.",title:"Bucket",required:!1,deprecated:!1},database:{kind:"parameter",type:"string",description:"Sets the name of the MongoDB database to target",title:"Database",required:!0,deprecated:!1},readPreference:{kind:"parameter",type:"object",description:"Sets a MongoDB ReadPreference on the Mongo connection. Read preferences set directly on the connection will be overridden by this setting. The com.mongodb.ReadPreference#valueOf(String) utility method is used to resolve the passed readPreference value. Some examples for the possible values are nearest, primary or secondary etc.",title:"Read Preference",required:!1,deprecated:!1},writeConcern:{kind:"parameter",type:"object",enum:["ACKNOWLEDGED","W1","W2","W3","UNACKNOWLEDGED","JOURNALED","MAJORITY"],description:"Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method.",title:"Write Concern",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"500",description:"Sets the delay between polls within the Consumer. Default is 500ms",title:"Delay",required:!1,deprecated:!1},fileAttributeName:{kind:"parameter",type:"string",defaultValue:"camel-processed",description:"If the QueryType uses a FileAttribute, this sets the name of the attribute that is used. Default is camel-processed.",title:"File Attribute Name",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Sets the initialDelay before the consumer will start polling. Default is 1000ms",title:"Initial Delay",required:!1,deprecated:!1},persistentTSCollection:{kind:"parameter",type:"string",defaultValue:"camel-timestamps",description:"If the QueryType uses a persistent timestamp, this sets the name of the collection within the DB to store the timestamp.",title:"Persistent TSCollection",required:!1,deprecated:!1},persistentTSObject:{kind:"parameter",type:"string",defaultValue:"camel-timestamp",description:"If the QueryType uses a persistent timestamp, this is the ID of the object in the collection to store the timestamp.",title:"Persistent TSObject",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"Additional query parameters (in JSON) that are used to configure the query used for finding files in the GridFsConsumer",title:"Query",required:!1,deprecated:!1},queryStrategy:{kind:"parameter",type:"object",defaultValue:"TimeStamp",enum:["TimeStamp","PersistentTimestamp","FileAttribute","TimeStampAndFileAttribute","PersistentTimestampAndFileAttribute"],description:"Sets the QueryStrategy that is used for polling for new files. Default is Timestamp",title:"Query Strategy",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Sets the operation this endpoint will execute against GridFs.",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},mustache:{type:"object",title:"Mustache",group:"transformation",icon:"generic24.png",description:"Transform messages using a Mustache template.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"Character encoding of the resource content.",title:"Encoding",required:!1,deprecated:!1},endDelimiter:{kind:"parameter",type:"string",defaultValue:"}}",description:"Characters used to mark template code end.",title:"End Delimiter",required:!1,deprecated:!1},startDelimiter:{kind:"parameter",type:"string",defaultValue:"{{",description:"Characters used to mark template code beginning.",title:"Start Delimiter",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},mvel:{type:"object",title:"MVEL",group:"transformation,script",icon:"generic24.png",description:"Transform messages using an MVEL template.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"Character encoding of the resource content.",title:"Encoding",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},mybatis:{type:"object",title:"MyBatis",group:"database",icon:"generic24.png",description:"Performs a query, poll, insert, update or delete in a relational database using MyBatis.",properties:{statement:{kind:"path",type:"string",description:"The statement name in the MyBatis XML mapping file which maps to the query, insert, update or delete operation you wish to evaluate.",title:"Statement",required:!0,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is intended to split results returned by the database pool into the batches and deliver them in multiple exchanges. This integer defines the maximum messages to deliver in single exchange. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disable it.",title:"Max Messages Per Poll",required:!1,deprecated:!1},onConsume:{kind:"parameter",type:"string",description:"Statement to run after data has been processed in the route",title:"On Consume",required:!1,deprecated:!1},routeEmptyResultSet:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether allow empty resultset to be routed to the next hop",title:"Route Empty Result Set",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables or disables transaction. If enabled then if processing an exchange failed then the consumer breaks out processing any further exchanges to cause a rollback eager.",title:"Transacted",required:!1,deprecated:!1},useIterator:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Process resultset individually or as a list",title:"Use Iterator",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processingStrategy:{kind:"parameter",type:"object",description:"To use a custom MyBatisProcessingStrategy",title:"Processing Strategy",required:!1,deprecated:!1},executorType:{kind:"parameter",type:"object",defaultValue:"SIMPLE",enum:["SIMPLE","REUSE","BATCH"],description:"The executor type to be used while executing statements. simple - executor does nothing special. reuse - executor reuses prepared statements. batch - executor reuses statements and batches updates.",title:"Executor Type",required:!1,deprecated:!1},inputHeader:{kind:"parameter",type:"string",description:"User the header value for input parameters instead of the message body. By default, inputHeader == null and the input parameters are taken from the message body. If outputHeader is set, the value is used and query parameters will be taken from the header instead of the body.",title:"Input Header",required:!1,deprecated:!1},outputHeader:{kind:"parameter",type:"string",description:"Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. Setting outputHeader will also omit populating the default CamelMyBatisResult header since it would be the same as outputHeader all the time.",title:"Output Header",required:!1,deprecated:!1},statementType:{kind:"parameter",type:"object",enum:["SelectOne","SelectList","Insert","InsertList","Update","UpdateList","Delete","DeleteList"],description:"Mandatory to specify for the producer to control which kind of operation to invoke.",title:"Statement Type",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},"mybatis-bean":{type:"object",title:"MyBatis Bean",group:"database",icon:"generic24.png",description:"Perform queries, inserts, updates or deletes in a relational database using MyBatis.",properties:{beanName:{kind:"path",type:"string",description:"Name of the bean with the MyBatis annotations. This can either by a type alias or a FQN class name.",title:"Bean Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"Name of the method on the bean that has the SQL query to be executed.",title:"Method Name",required:!0,deprecated:!1},executorType:{kind:"parameter",type:"object",defaultValue:"SIMPLE",enum:["SIMPLE","REUSE","BATCH"],description:"The executor type to be used while executing statements. simple - executor does nothing special. reuse - executor reuses prepared statements. batch - executor reuses statements and batches updates.",title:"Executor Type",required:!1,deprecated:!1},inputHeader:{kind:"parameter",type:"string",description:"User the header value for input parameters instead of the message body. By default, inputHeader == null and the input parameters are taken from the message body. If outputHeader is set, the value is used and query parameters will be taken from the header instead of the body.",title:"Input Header",required:!1,deprecated:!1},outputHeader:{kind:"parameter",type:"string",description:"Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. Setting outputHeader will also omit populating the default CamelMyBatisResult header since it would be the same as outputHeader all the time.",title:"Output Header",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},nats:{type:"object",title:"Nats",group:"messaging",icon:"generic24.png",description:"Send and receive messages from NATS messaging system.",properties:{topic:{kind:"path",type:"string",description:"The name of topic we want to use",title:"Topic",required:!0,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"2000",description:"Timeout for connection attempts. (in milliseconds)",title:"Connection Timeout",required:!1,deprecated:!1},flushConnection:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Define if we want to flush connection when stopping or not",title:"Flush Connection",required:!1,deprecated:!1},flushTimeout:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Set the flush timeout (in milliseconds)",title:"Flush Timeout",required:!1,deprecated:!1},maxPingsOut:{kind:"parameter",type:"integer",defaultValue:"2",description:"maximum number of pings have not received a response allowed by the client",title:"Max Pings Out",required:!1,deprecated:!1},maxReconnectAttempts:{kind:"parameter",type:"integer",defaultValue:"60",description:"Max reconnection attempts",title:"Max Reconnect Attempts",required:!1,deprecated:!1},noEcho:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Turn off echo. If supported by the gnatsd version you are connecting to this flag will prevent the server from echoing messages back to the connection if it has subscriptions on the subject being published to.",title:"No Echo",required:!1,deprecated:!1},noRandomizeServers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not randomizing the order of servers for the connection attempts",title:"No Randomize Servers",required:!1,deprecated:!1},pedantic:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not running in pedantic mode (this affects performance)",title:"Pedantic",required:!1,deprecated:!1},pingInterval:{kind:"parameter",type:"integer",defaultValue:"120000",description:"Ping interval to be aware if connection is still alive (in milliseconds)",title:"Ping Interval",required:!1,deprecated:!1},reconnect:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not using reconnection feature",title:"Reconnect",required:!1,deprecated:!1},reconnectTimeWait:{kind:"parameter",type:"integer",defaultValue:"2000",description:"Waiting time before attempts reconnection (in milliseconds)",title:"Reconnect Time Wait",required:!1,deprecated:!1},requestCleanupInterval:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Interval to clean up cancelled/timed out requests.",title:"Request Cleanup Interval",required:!1,deprecated:!1},servers:{kind:"parameter",type:"string",description:"URLs to one or more NAT servers. Use comma to separate URLs when specifying multiple servers.",title:"Servers",required:!1,deprecated:!1},verbose:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not running in verbose mode",title:"Verbose",required:!1,deprecated:!1},maxMessages:{kind:"parameter",type:"string",description:"Stop receiving messages from a topic we are subscribing to after maxMessages",title:"Max Messages",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"Consumer thread pool size (default is 10)",title:"Pool Size",required:!1,deprecated:!1},queueName:{kind:"parameter",type:"string",description:"The Queue name if we are using nats for a queue configuration",title:"Queue Name",required:!1,deprecated:!1},replyToDisabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Can be used to turn off sending back reply message in the consumer.",title:"Reply To Disabled",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},replySubject:{kind:"parameter",type:"string",description:"the subject to which subscribers should send response",title:"Reply Subject",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"integer",defaultValue:"20000",description:"Request timeout in milliseconds",title:"Request Timeout",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connection:{kind:"parameter",type:"object",description:"Reference an already instantiated connection to Nats server",title:"Connection",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"Define the header filtering strategy",title:"Header Filter Strategy",required:!1,deprecated:!1},traceConnection:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not connection trace messages should be printed to standard out for fine grained debugging of connection issues.",title:"Trace Connection",required:!1,deprecated:!1},secure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set secure option indicating TLS is required",title:"Secure",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},netty:{type:"object",title:"Netty",group:"networking",icon:"generic24.png",description:"Socket level networking using TCP or UDP with Netty 4.x.",properties:{protocol:{kind:"path",type:"string",enum:["tcp","udp"],description:"The protocol to use which can be tcp or udp.",title:"Protocol",required:!0,deprecated:!1},host:{kind:"path",type:"string",description:"The hostname. For the consumer the hostname is localhost or 0.0.0.0. For the producer the hostname is the remote host to connect to",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The host port number",title:"Port",required:!0,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect(close) from Netty Channel right after use. Can be used for both consumer and producer.",title:"Disconnect",required:!1,deprecated:!1},keepAlive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to ensure socket is not closed due to inactivity",title:"Keep Alive",required:!1,deprecated:!1},reuseAddress:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to facilitate socket multiplexing",title:"Reuse Address",required:!1,deprecated:!1},reuseChannel:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option allows producers and consumers (in client mode) to reuse the same Netty Channel for the lifecycle of processing the Exchange. This is useful if you need to call a server multiple times in a Camel route and want to use the same network connection. When using this, the channel is not returned to the connection pool until the Exchange is done; or disconnected if the disconnect option is set to true. The reused Channel is stored on the Exchange as an exchange property with the key NettyConstants#NETTY_CHANNEL which allows you to obtain the channel during routing and use it as well.",title:"Reuse Channel",required:!1,deprecated:!1},sync:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to set endpoint as one-way or request-response",title:"Sync",required:!1,deprecated:!1},tcpNoDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to improve TCP protocol performance",title:"Tcp No Delay",required:!1,deprecated:!1},broadcast:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting to choose Multicast over UDP",title:"Broadcast",required:!1,deprecated:!1},clientMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the clientMode is true, netty consumer will connect the address as a TCP client.",title:"Client Mode",required:!1,deprecated:!1},reconnect:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used only in clientMode in consumer, the consumer will attempt to reconnect on disconnection if this is enabled",title:"Reconnect",required:!1,deprecated:!1},reconnectInterval:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Used if reconnect and clientMode is enabled. The interval in milli seconds to attempt reconnection",title:"Reconnect Interval",required:!1,deprecated:!1},backlog:{kind:"parameter",type:"integer",description:"Allows to configure a backlog for netty consumer (server). Note the backlog is just a best effort depending on the OS. Setting this option to a value such as 200, 500 or 1000, tells the TCP stack how long the accept queue can be If this option is not configured, then the backlog depends on OS setting.",title:"Backlog",required:!1,deprecated:!1},bossCount:{kind:"parameter",type:"integer",defaultValue:"1",description:"When netty works on nio mode, it uses default bossCount parameter from Netty, which is 1. User can use this option to override the default bossCount from Netty",title:"Boss Count",required:!1,deprecated:!1},bossGroup:{kind:"parameter",type:"object",description:"Set the BossGroup which could be used for handling the new connection of the server side across the NettyEndpoint",title:"Boss Group",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},disconnectOnNoReply:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If sync is enabled then this option dictates NettyConsumer if it should disconnect where there is no reply to send back.",title:"Disconnect On No Reply",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},nettyServerBootstrapFactory:{kind:"parameter",type:"object",description:"To use a custom NettyServerBootstrapFactory",title:"Netty Server Bootstrap Factory",required:!1,deprecated:!1},networkInterface:{kind:"parameter",type:"string",description:"When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group.",title:"Network Interface",required:!1,deprecated:!1},noReplyLogLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back.",title:"No Reply Log Level",required:!1,deprecated:!1},serverClosedChannelExceptionCaughtLogLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server.",title:"Server Closed Channel Exception Caught Log Level",required:!1,deprecated:!1},serverExceptionCaughtLogLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If the server (NettyConsumer) catches an exception then its logged using this logging level.",title:"Server Exception Caught Log Level",required:!1,deprecated:!1},serverInitializerFactory:{kind:"parameter",type:"object",description:"To use a custom ServerInitializerFactory",title:"Server Initializer Factory",required:!1,deprecated:!1},usingExecutorService:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use ordered thread pool, to ensure events are processed orderly on the same channel.",title:"Using Executor Service",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Time to wait for a socket connection to be available. Value is in milliseconds.",title:"Connect Timeout",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"integer",description:"Allows to use a timeout for the Netty producer when calling a remote server. By default no timeout is in use. The value is in milli seconds, so eg 30000 is 30 seconds. The requestTimeout is using Netty's ReadTimeoutHandler to trigger the timeout.",title:"Request Timeout",required:!1,deprecated:!1},clientInitializerFactory:{kind:"parameter",type:"object",description:"To use a custom ClientInitializerFactory",title:"Client Initializer Factory",required:!1,deprecated:!1},correlationManager:{kind:"parameter",type:"object",description:"To use a custom correlation manager to manage how request and reply messages are mapped when using request/reply with the netty producer. This should only be used if you have a way to map requests together with replies such as if there is correlation ids in both the request and reply messages. This can be used if you want to multiplex concurrent messages on the same channel (aka connection) in netty. When doing this you must have a way to correlate the request and reply messages so you can store the right reply on the inflight Camel Exchange before its continued routed. We recommend extending the TimeoutCorrelationManagerSupport when you build custom correlation managers. This provides support for timeout and other complexities you otherwise would need to implement as well. See also the producerPoolEnabled option for more details.",title:"Correlation Manager",required:!1,deprecated:!1},lazyChannelCreation:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Channels can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started.",title:"Lazy Channel Creation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},producerPoolBlockWhenExhausted:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets the value for the blockWhenExhausted configuration attribute. It determines whether to block when the borrowObject() method is invoked when the pool is exhausted (the maximum number of active objects has been reached).",title:"Producer Pool Block When Exhausted",required:!1,deprecated:!1},producerPoolEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether producer pool is enabled or not. Important: If you turn this off then a single shared connection is used for the producer, also if you are doing request/reply. That means there is a potential issue with interleaved responses if replies comes back out-of-order. Therefore you need to have a correlation id in both the request and reply messages so you can properly correlate the replies to the Camel callback that is responsible for continue processing the message in Camel. To do this you need to implement NettyCamelStateCorrelationManager as correlation manager and configure it via the correlationManager option. See also the correlationManager option for more details.",title:"Producer Pool Enabled",required:!1,deprecated:!1},producerPoolMaxIdle:{kind:"parameter",type:"integer",defaultValue:"100",description:"Sets the cap on the number of idle instances in the pool.",title:"Producer Pool Max Idle",required:!1,deprecated:!1},producerPoolMaxTotal:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the cap on the number of objects that can be allocated by the pool (checked out to clients, or idle awaiting checkout) at a given time. Use a negative value for no limit.",title:"Producer Pool Max Total",required:!1,deprecated:!1},producerPoolMaxWait:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum duration (value in millis) the borrowObject() method should block before throwing an exception when the pool is exhausted and producerPoolBlockWhenExhausted is true. When less than 0, the borrowObject() method may block indefinitely.",title:"Producer Pool Max Wait",required:!1,deprecated:!1},producerPoolMinEvictableIdle:{kind:"parameter",type:"integer",defaultValue:"300000",description:"Sets the minimum amount of time (value in millis) an object may sit idle in the pool before it is eligible for eviction by the idle object evictor.",title:"Producer Pool Min Evictable Idle",required:!1,deprecated:!1},producerPoolMinIdle:{kind:"parameter",type:"integer",description:"Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects.",title:"Producer Pool Min Idle",required:!1,deprecated:!1},udpConnectionlessSending:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option supports connection less udp sending which is a real fire and forget. A connected udp send receive the PortUnreachableException if no one is listen on the receiving port.",title:"Udp Connectionless Sending",required:!1,deprecated:!1},useByteBuf:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the useByteBuf is true, netty producer will turn the message body into ByteBuf before sending it out.",title:"Use Byte Buf",required:!1,deprecated:!1},hostnameVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable/disable hostname verification on SSLEngine",title:"Hostname Verification",required:!1,deprecated:!1},allowSerializedHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP when transferExchange is true. When set to true, serializable objects in headers and properties will be added to the exchange. Otherwise Camel will exclude any non-serializable objects and log it at WARN level.",title:"Allow Serialized Headers",required:!1,deprecated:!1},channelGroup:{kind:"parameter",type:"object",description:"To use a explicit ChannelGroup.",title:"Channel Group",required:!1,deprecated:!1},nativeTransport:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html",title:"Native Transport",required:!1,deprecated:!1},options:{kind:"parameter",type:"object",description:"Allows to configure additional netty options using option. as prefix. For example option.child.keepAlive=false to set the netty option child.keepAlive=false. See the Netty documentation for possible options that can be used.",title:"Options",required:!1,deprecated:!1},receiveBufferSize:{kind:"parameter",type:"integer",defaultValue:"65536",description:"The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes.",title:"Receive Buffer Size",required:!1,deprecated:!1},receiveBufferSizePredictor:{kind:"parameter",type:"integer",description:"Configures the buffer size predictor. See details at Jetty documentation and this mail thread.",title:"Receive Buffer Size Predictor",required:!1,deprecated:!1},sendBufferSize:{kind:"parameter",type:"integer",defaultValue:"65536",description:"The TCP/UDP buffer sizes to be used during outbound communication. Size is bytes.",title:"Send Buffer Size",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP. You can transfer the exchange over the wire instead of just the body. The following fields are transferred: In body, Out body, fault body, In headers, Out headers, fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Transfer Exchange",required:!1,deprecated:!1},udpByteArrayCodec:{kind:"parameter",type:"boolean",defaultValue:"false",description:"For UDP only. If enabled the using byte array codec instead of Java serialization protocol.",title:"Udp Byte Array Codec",required:!1,deprecated:!1},unixDomainSocketPath:{kind:"parameter",type:"string",description:"Path to unix domain socket to use instead of inet socket. Host and port parameters will not be used, however required. It is ok to set dummy values for them. Must be used with nativeTransport=true and clientMode=false.",title:"Unix Domain Socket Path",required:!1,deprecated:!1},workerCount:{kind:"parameter",type:"integer",description:"When netty works on nio mode, it uses default workerCount parameter from Netty (which is cpu_core_threads x 2). User can use this option to override the default workerCount from Netty.",title:"Worker Count",required:!1,deprecated:!1},workerGroup:{kind:"parameter",type:"object",description:"To use a explicit EventLoopGroup as the boss thread pool. For example to share a thread pool with multiple consumers or producers. By default each consumer or producer has their own worker pool with 2 x cpu count core threads.",title:"Worker Group",required:!1,deprecated:!1},allowDefaultCodec:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The netty component installs a default codec if both, encoder/decoder is null and textline is false. Setting allowDefaultCodec to false prevents the netty component from installing a default codec as the first element in the filter chain.",title:"Allow Default Codec",required:!1,deprecated:!1},autoAppendDelimiter:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to auto append missing end delimiter when sending using the textline codec.",title:"Auto Append Delimiter",required:!1,deprecated:!1},decoderMaxLineLength:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The max line length to use for the textline codec.",title:"Decoder Max Line Length",required:!1,deprecated:!1},decoders:{kind:"parameter",type:"string",description:"A list of decoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup.",title:"Decoders",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"object",defaultValue:"LINE",enum:["LINE","NULL"],description:"The delimiter to use for the textline codec. Possible values are LINE and NULL.",title:"Delimiter",required:!1,deprecated:!1},encoders:{kind:"parameter",type:"string",description:"A list of encoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup.",title:"Encoders",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"The encoding (a charset name) to use for the textline codec. If not provided, Camel will use the JVM default Charset.",title:"Encoding",required:!1,deprecated:!1},textline:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; if not specified or the value is false, then Object Serialization is assumed over TCP - however only Strings are allowed to be serialized by default.",title:"Textline",required:!1,deprecated:!1},enabledProtocols:{kind:"parameter",type:"string",defaultValue:"TLSv1.2,TLSv1.3",description:"Which protocols to enable when using SSL",title:"Enabled Protocols",required:!1,deprecated:!1},keyStoreFile:{kind:"parameter",type:"string",description:"Client side certificate keystore to be used for encryption",title:"Key Store File",required:!1,deprecated:!1},keyStoreFormat:{kind:"parameter",type:"string",description:"Keystore format to be used for payload encryption. Defaults to JKS if not set",title:"Key Store Format",required:!1,deprecated:!1},keyStoreResource:{kind:"parameter",type:"string",description:"Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Key Store Resource",required:!1,deprecated:!1},needClientAuth:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether the server needs client authentication when using SSL.",title:"Need Client Auth",required:!1,deprecated:!1},passphrase:{kind:"parameter",type:"string",description:"Password setting to use in order to encrypt/decrypt payloads sent using SSH",title:"Passphrase",required:!1,deprecated:!1},securityProvider:{kind:"parameter",type:"string",description:"Security provider to be used for payload encryption. Defaults to SunX509 if not set.",title:"Security Provider",required:!1,deprecated:!1},ssl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting to specify whether SSL encryption is applied to this endpoint",title:"Ssl",required:!1,deprecated:!1},sslClientCertHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When enabled and in SSL mode, then the Netty consumer will enrich the Camel Message with headers having information about the client certificate such as subject name, issuer name, serial number, and the valid date range.",title:"Ssl Client Cert Headers",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1},sslHandler:{kind:"parameter",type:"object",description:"Reference to a class that could be used to return an SSL Handler",title:"Ssl Handler",required:!1,deprecated:!1},trustStoreFile:{kind:"parameter",type:"string",description:"Server side certificate keystore to be used for encryption",title:"Trust Store File",required:!1,deprecated:!1},trustStoreResource:{kind:"parameter",type:"string",description:"Server side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Trust Store Resource",required:!1,deprecated:!1}}},"netty-http":{type:"object",title:"Netty HTTP",group:"networking,http",icon:"generic24.png",description:"Netty HTTP server and client using the Netty 4.x.",properties:{protocol:{kind:"path",type:"string",enum:["http","https"],description:"The protocol to use which is either http, https or proxy - a consumer only option.",title:"Protocol",required:!0,deprecated:!1},host:{kind:"path",type:"string",description:"The local hostname such as localhost, or 0.0.0.0 when being a consumer. The remote HTTP server hostname when using producer.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The host port number",title:"Port",required:!1,deprecated:!1},path:{kind:"path",type:"string",description:"Resource path",title:"Path",required:!1,deprecated:!1},bridgeEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, the producer will ignore the NettyHttpConstants.HTTP_URI header, and use the endpoint's URI for request. You may also set the throwExceptionOnFailure to be false to let the producer send all the fault response back. The consumer working in the bridge mode will skip the gzip compression and WWW URL form encoding (by adding the Exchange.SKIP_GZIP_ENCODING and Exchange.SKIP_WWW_FORM_URLENCODED headers to the consumed exchange).",title:"Bridge Endpoint",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect(close) from Netty Channel right after use. Can be used for both consumer and producer.",title:"Disconnect",required:!1,deprecated:!1},keepAlive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to ensure socket is not closed due to inactivity",title:"Keep Alive",required:!1,deprecated:!1},reuseAddress:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to facilitate socket multiplexing",title:"Reuse Address",required:!1,deprecated:!1},reuseChannel:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option allows producers and consumers (in client mode) to reuse the same Netty Channel for the lifecycle of processing the Exchange. This is useful if you need to call a server multiple times in a Camel route and want to use the same network connection. When using this, the channel is not returned to the connection pool until the Exchange is done; or disconnected if the disconnect option is set to true. The reused Channel is stored on the Exchange as an exchange property with the key NettyConstants#NETTY_CHANNEL which allows you to obtain the channel during routing and use it as well.",title:"Reuse Channel",required:!1,deprecated:!1},sync:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to set endpoint as one-way or request-response",title:"Sync",required:!1,deprecated:!1},tcpNoDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to improve TCP protocol performance",title:"Tcp No Delay",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not Camel should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},send503whenSuspended:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to send back HTTP status code 503 when the consumer has been suspended. If the option is false then the Netty Acceptor is unbound when the consumer is suspended, so clients cannot connect anymore.",title:"Send503when Suspended",required:!1,deprecated:!1},backlog:{kind:"parameter",type:"integer",description:"Allows to configure a backlog for netty consumer (server). Note the backlog is just a best effort depending on the OS. Setting this option to a value such as 200, 500 or 1000, tells the TCP stack how long the accept queue can be If this option is not configured, then the backlog depends on OS setting.",title:"Backlog",required:!1,deprecated:!1},bossCount:{kind:"parameter",type:"integer",defaultValue:"1",description:"When netty works on nio mode, it uses default bossCount parameter from Netty, which is 1. User can use this option to override the default bossCount from Netty",title:"Boss Count",required:!1,deprecated:!1},bossGroup:{kind:"parameter",type:"object",description:"Set the BossGroup which could be used for handling the new connection of the server side across the NettyEndpoint",title:"Boss Group",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},chunkedMaxContentLength:{kind:"parameter",type:"integer",defaultValue:"1048576",description:"Value in bytes the max content length per chunked frame received on the Netty HTTP server.",title:"Chunked Max Content Length",required:!1,deprecated:!1},compression:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allow using gzip/deflate for compression on the Netty HTTP server if the client supports it from the HTTP headers.",title:"Compression",required:!1,deprecated:!1},disconnectOnNoReply:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If sync is enabled then this option dictates NettyConsumer if it should disconnect where there is no reply to send back.",title:"Disconnect On No Reply",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"To disable HTTP methods on the Netty HTTP consumer. You can specify multiple separated by comma.",title:"Http Method Restrict",required:!1,deprecated:!1},logWarnOnBadRequest:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether Netty HTTP server should log a WARN if decoding the HTTP request failed and a HTTP Status 400 (bad request) is returned.",title:"Log Warn On Bad Request",required:!1,deprecated:!1},mapHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is enabled, then during binding from Netty to Camel Message then the headers will be mapped as well (eg added as header to the Camel Message as well). You can turn off this option to disable this. The headers can still be accessed from the org.apache.camel.component.netty.http.NettyHttpMessage message with the method getHttpRequest() that returns the Netty HTTP request io.netty.handler.codec.http.HttpRequest instance.",title:"Map Headers",required:!1,deprecated:!1},maxChunkSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"The maximum length of the content or each chunk. If the content length (or the length of each chunk) exceeds this value, the content or chunk will be split into multiple io.netty.handler.codec.http.HttpContents whose length is maxChunkSize at maximum. See io.netty.handler.codec.http.HttpObjectDecoder",title:"Max Chunk Size",required:!1,deprecated:!1},maxHeaderSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"The maximum length of all headers. If the sum of the length of each header exceeds this value, a io.netty.handler.codec.TooLongFrameException will be raised.",title:"Max Header Size",required:!1,deprecated:!1},maxInitialLineLength:{kind:"parameter",type:"integer",defaultValue:"4096",description:"The maximum length of the initial line (e.g. {code GET / HTTP/1.0} or {code HTTP/1.0 200 OK}) If the length of the initial line exceeds this value, a TooLongFrameException will be raised. See io.netty.handler.codec.http.HttpObjectDecoder",title:"Max Initial Line Length",required:!1,deprecated:!1},nettyServerBootstrapFactory:{kind:"parameter",type:"object",description:"To use a custom NettyServerBootstrapFactory",title:"Netty Server Bootstrap Factory",required:!1,deprecated:!1},nettySharedHttpServer:{kind:"parameter",type:"object",description:"To use a shared Netty HTTP server. See Netty HTTP Server Example for more details.",title:"Netty Shared Http Server",required:!1,deprecated:!1},noReplyLogLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back.",title:"No Reply Log Level",required:!1,deprecated:!1},serverClosedChannelExceptionCaughtLogLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server.",title:"Server Closed Channel Exception Caught Log Level",required:!1,deprecated:!1},serverExceptionCaughtLogLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If the server (NettyConsumer) catches an exception then its logged using this logging level.",title:"Server Exception Caught Log Level",required:!1,deprecated:!1},serverInitializerFactory:{kind:"parameter",type:"object",description:"To use a custom ServerInitializerFactory",title:"Server Initializer Factory",required:!1,deprecated:!1},traceEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP TRACE for this Netty HTTP consumer. By default TRACE is turned off.",title:"Trace Enabled",required:!1,deprecated:!1},urlDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is enabled, then during binding from Netty to Camel Message then the header values will be URL decoded (eg %20 will be a space character. Notice this option is used by the default org.apache.camel.component.netty.http.NettyHttpBinding and therefore if you implement a custom org.apache.camel.component.netty.http.NettyHttpBinding then you would need to decode the headers accordingly to this option.",title:"Url Decode Headers",required:!1,deprecated:!1},usingExecutorService:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use ordered thread pool, to ensure events are processed orderly on the same channel.",title:"Using Executor Service",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Time to wait for a socket connection to be available. Value is in milliseconds.",title:"Connect Timeout",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"integer",description:"Allows to use a timeout for the Netty producer when calling a remote server. By default no timeout is in use. The value is in milli seconds, so eg 30000 is 30 seconds. The requestTimeout is using Netty's ReadTimeoutHandler to trigger the timeout.",title:"Request Timeout",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code.",title:"Throw Exception On Failure",required:!1,deprecated:!1},clientInitializerFactory:{kind:"parameter",type:"object",description:"To use a custom ClientInitializerFactory",title:"Client Initializer Factory",required:!1,deprecated:!1},lazyChannelCreation:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Channels can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started.",title:"Lazy Channel Creation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},okStatusCodeRange:{kind:"parameter",type:"string",defaultValue:"200-299",description:"The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included. The default range is 200-299",title:"Ok Status Code Range",required:!1,deprecated:!1},producerPoolBlockWhenExhausted:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets the value for the blockWhenExhausted configuration attribute. It determines whether to block when the borrowObject() method is invoked when the pool is exhausted (the maximum number of active objects has been reached).",title:"Producer Pool Block When Exhausted",required:!1,deprecated:!1},producerPoolEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether producer pool is enabled or not. Important: If you turn this off then a single shared connection is used for the producer, also if you are doing request/reply. That means there is a potential issue with interleaved responses if replies comes back out-of-order. Therefore you need to have a correlation id in both the request and reply messages so you can properly correlate the replies to the Camel callback that is responsible for continue processing the message in Camel. To do this you need to implement NettyCamelStateCorrelationManager as correlation manager and configure it via the correlationManager option. See also the correlationManager option for more details.",title:"Producer Pool Enabled",required:!1,deprecated:!1},producerPoolMaxIdle:{kind:"parameter",type:"integer",defaultValue:"100",description:"Sets the cap on the number of idle instances in the pool.",title:"Producer Pool Max Idle",required:!1,deprecated:!1},producerPoolMaxTotal:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the cap on the number of objects that can be allocated by the pool (checked out to clients, or idle awaiting checkout) at a given time. Use a negative value for no limit.",title:"Producer Pool Max Total",required:!1,deprecated:!1},producerPoolMaxWait:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum duration (value in millis) the borrowObject() method should block before throwing an exception when the pool is exhausted and producerPoolBlockWhenExhausted is true. When less than 0, the borrowObject() method may block indefinitely.",title:"Producer Pool Max Wait",required:!1,deprecated:!1},producerPoolMinEvictableIdle:{kind:"parameter",type:"integer",defaultValue:"300000",description:"Sets the minimum amount of time (value in millis) an object may sit idle in the pool before it is eligible for eviction by the idle object evictor.",title:"Producer Pool Min Evictable Idle",required:!1,deprecated:!1},producerPoolMinIdle:{kind:"parameter",type:"integer",description:"Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects.",title:"Producer Pool Min Idle",required:!1,deprecated:!1},useRelativePath:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to use a relative path in HTTP requests.",title:"Use Relative Path",required:!1,deprecated:!1},hostnameVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable/disable hostname verification on SSLEngine",title:"Hostname Verification",required:!1,deprecated:!1},allowSerializedHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP when transferExchange is true. When set to true, serializable objects in headers and properties will be added to the exchange. Otherwise Camel will exclude any non-serializable objects and log it at WARN level.",title:"Allow Serialized Headers",required:!1,deprecated:!1},channelGroup:{kind:"parameter",type:"object",description:"To use a explicit ChannelGroup.",title:"Channel Group",required:!1,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"To use a custom configured NettyHttpConfiguration for configuring this endpoint.",title:"Configuration",required:!1,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Netty HttpRequest#getContent() or HttpResponset#getContent() is cached or not (Camel will read the stream into a in light-weight memory based Stream caching) cache. By default Camel will cache the Netty input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. Mind that if you enable this option, then you cannot read the Netty stream multiple times out of the box, and you would need manually to reset the reader index on the Netty raw stream. Also Netty will auto-close the Netty stream when the Netty HTTP server/HTTP client is done processing, which means that if the asynchronous routing engine is in use then any asynchronous thread that may continue routing the org.apache.camel.Exchange may not be able to read the Netty stream, because Netty has closed it.",title:"Disable Stream Cache",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},nativeTransport:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html",title:"Native Transport",required:!1,deprecated:!1},nettyHttpBinding:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.netty.http.NettyHttpBinding for binding to/from Netty and Camel Message API.",title:"Netty Http Binding",required:!1,deprecated:!1},options:{kind:"parameter",type:"object",description:"Allows to configure additional netty options using option. as prefix. For example option.child.keepAlive=false to set the netty option child.keepAlive=false. See the Netty documentation for possible options that can be used.",title:"Options",required:!1,deprecated:!1},receiveBufferSize:{kind:"parameter",type:"integer",defaultValue:"65536",description:"The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes.",title:"Receive Buffer Size",required:!1,deprecated:!1},receiveBufferSizePredictor:{kind:"parameter",type:"integer",description:"Configures the buffer size predictor. See details at Jetty documentation and this mail thread.",title:"Receive Buffer Size Predictor",required:!1,deprecated:!1},sendBufferSize:{kind:"parameter",type:"integer",defaultValue:"65536",description:"The TCP/UDP buffer sizes to be used during outbound communication. Size is bytes.",title:"Send Buffer Size",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP. You can transfer the exchange over the wire instead of just the body. The following fields are transferred: In body, Out body, fault body, In headers, Out headers, fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Transfer Exchange",required:!1,deprecated:!1},unixDomainSocketPath:{kind:"parameter",type:"string",description:"Path to unix domain socket to use instead of inet socket. Host and port parameters will not be used, however required. It is ok to set dummy values for them. Must be used with nativeTransport=true and clientMode=false.",title:"Unix Domain Socket Path",required:!1,deprecated:!1},workerCount:{kind:"parameter",type:"integer",description:"When netty works on nio mode, it uses default workerCount parameter from Netty (which is cpu_core_threads x 2). User can use this option to override the default workerCount from Netty.",title:"Worker Count",required:!1,deprecated:!1},workerGroup:{kind:"parameter",type:"object",description:"To use a explicit EventLoopGroup as the boss thread pool. For example to share a thread pool with multiple consumers or producers. By default each consumer or producer has their own worker pool with 2 x cpu count core threads.",title:"Worker Group",required:!1,deprecated:!1},decoders:{kind:"parameter",type:"string",description:"A list of decoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup.",title:"Decoders",required:!1,deprecated:!1},encoders:{kind:"parameter",type:"string",description:"A list of encoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup.",title:"Encoders",required:!1,deprecated:!1},enabledProtocols:{kind:"parameter",type:"string",defaultValue:"TLSv1.2,TLSv1.3",description:"Which protocols to enable when using SSL",title:"Enabled Protocols",required:!1,deprecated:!1},keyStoreFile:{kind:"parameter",type:"string",description:"Client side certificate keystore to be used for encryption",title:"Key Store File",required:!1,deprecated:!1},keyStoreFormat:{kind:"parameter",type:"string",description:"Keystore format to be used for payload encryption. Defaults to JKS if not set",title:"Key Store Format",required:!1,deprecated:!1},keyStoreResource:{kind:"parameter",type:"string",description:"Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Key Store Resource",required:!1,deprecated:!1},needClientAuth:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether the server needs client authentication when using SSL.",title:"Need Client Auth",required:!1,deprecated:!1},passphrase:{kind:"parameter",type:"string",description:"Password setting to use in order to encrypt/decrypt payloads sent using SSH",title:"Passphrase",required:!1,deprecated:!1},securityConfiguration:{kind:"parameter",type:"object",description:"Refers to a org.apache.camel.component.netty.http.NettyHttpSecurityConfiguration for configuring secure web resources.",title:"Security Configuration",required:!1,deprecated:!1},securityOptions:{kind:"parameter",type:"object",description:"To configure NettyHttpSecurityConfiguration using key/value pairs from the map",title:"Security Options",required:!1,deprecated:!1},securityProvider:{kind:"parameter",type:"string",description:"Security provider to be used for payload encryption. Defaults to SunX509 if not set.",title:"Security Provider",required:!1,deprecated:!1},ssl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting to specify whether SSL encryption is applied to this endpoint",title:"Ssl",required:!1,deprecated:!1},sslClientCertHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When enabled and in SSL mode, then the Netty consumer will enrich the Camel Message with headers having information about the client certificate such as subject name, issuer name, serial number, and the valid date range.",title:"Ssl Client Cert Headers",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1},sslHandler:{kind:"parameter",type:"object",description:"Reference to a class that could be used to return an SSL Handler",title:"Ssl Handler",required:!1,deprecated:!1},trustStoreFile:{kind:"parameter",type:"string",description:"Server side certificate keystore to be used for encryption",title:"Trust Store File",required:!1,deprecated:!1},trustStoreResource:{kind:"parameter",type:"string",description:"Server side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Trust Store Resource",required:!1,deprecated:!1}}},nitrite:{type:"object",title:"Nitrite",group:"database",icon:"generic24.png",description:"Access Nitrite databases.",properties:{database:{kind:"path",type:"string",description:"Path to database file. Will be created if not exists.",title:"Database",required:!0,deprecated:!1},collection:{kind:"parameter",type:"string",description:"Name of Nitrite collection. Cannot be used in combination with repositoryClass option.",title:"Collection",required:!1,deprecated:!1},repositoryClass:{kind:"parameter",type:"string",description:"Class of Nitrite ObjectRepository. Cannot be used in combination with collection option.",title:"Repository Class",required:!1,deprecated:!1},repositoryName:{kind:"parameter",type:"string",description:"Optional name of ObjectRepository. Can be only used in combination with repositoryClass, otherwise have no effect",title:"Repository Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for Nitrite database. Required, if option username specified.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for Nitrite database. Database is not secured if option not specified.",title:"Username",required:!1,deprecated:!1}}},oaipmh:{type:"object",title:"OAI-PMH",group:"search",icon:"generic24.png",description:"Harvest metadata using OAI-PMH protocol",properties:{baseUrl:{kind:"path",type:"string",description:"Base URL of the repository to which the request is made through the OAI-PMH protocol",title:"Base Url",required:!0,deprecated:!1},from:{kind:"parameter",type:"string",description:"Specifies a lower bound for datestamp-based selective harvesting. UTC DateTime value",title:"From",required:!1,deprecated:!1},identifier:{kind:"parameter",type:"string",description:"Identifier of the requested resources. Applicable only with certain verbs",title:"Identifier",required:!1,deprecated:!1},metadataPrefix:{kind:"parameter",type:"string",defaultValue:"oai_dc",description:"Specifies the metadataPrefix of the format that should be included in the metadata part of the returned records.",title:"Metadata Prefix",required:!1,deprecated:!1},set:{kind:"parameter",type:"string",description:"Specifies membership as a criteria for set-based selective harvesting",title:"Set",required:!1,deprecated:!1},until:{kind:"parameter",type:"string",description:"Specifies an upper bound for datestamp-based selective harvesting. UTC DateTime value.",title:"Until",required:!1,deprecated:!1},verb:{kind:"parameter",type:"string",defaultValue:"ListRecords",description:"Request name supported by OAI-PMh protocol",title:"Verb",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},onlyFirst:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Returns the response of a single request. Otherwise it will make requests until there is no more data to return.",title:"Only First",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},ignoreSSLWarnings:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL certificate warnings",title:"Ignore SSLWarnings",required:!1,deprecated:!1},ssl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Causes the defined url to make an https request",title:"Ssl",required:!1,deprecated:!1}}},olingo2:{type:"object",title:"Olingo2",group:"cloud",icon:"generic24.png",description:"Communicate with OData 2.0 services using Apache Olingo.",properties:{apiName:{kind:"path",type:"object",enum:["DEFAULT"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"HTTP connection creation timeout in milliseconds, defaults to 30,000 (30 seconds)",title:"Connect Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"application/json;charset=utf-8",description:"Content-Type header value can be used to specify JSON or XML message format, defaults to application/json;charset=utf-8",title:"Content Type",required:!1,deprecated:!1},entityProviderReadProperties:{kind:"parameter",type:"object",description:"Custom entity provider read properties applied to all read operations.",title:"Entity Provider Read Properties",required:!1,deprecated:!1},entityProviderWriteProperties:{kind:"parameter",type:"object",description:"Custom entity provider write properties applied to create, update, patch, batch and merge operations. For instance users can skip the Json object wrapper or enable content only mode when sending request data. A service URI set in the properties will always be overwritten by the serviceUri configuration parameter. Please consider to using the serviceUri configuration parameter instead of setting the respective write property here.",title:"Entity Provider Write Properties",required:!1,deprecated:!1},filterAlreadySeen:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this to true to filter out results that have already been communicated by this component.",title:"Filter Already Seen",required:!1,deprecated:!1},httpHeaders:{kind:"parameter",type:"object",description:"Custom HTTP headers to inject into every request, this could include OAuth tokens, etc.",title:"Http Headers",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},proxy:{kind:"parameter",type:"object",description:"HTTP proxy server configuration",title:"Proxy",required:!1,deprecated:!1},serviceUri:{kind:"parameter",type:"string",description:"Target OData service base URI, e.g. http://services.odata.org/OData/OData.svc",title:"Service Uri",required:!1,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"HTTP request timeout in milliseconds, defaults to 30,000 (30 seconds)",title:"Socket Timeout",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},splitResult:{kind:"parameter",type:"boolean",defaultValue:"true",description:"For endpoints that return an array or collection, a consumer endpoint will map every element to distinct messages, unless splitResult is set to false.",title:"Split Result",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpAsyncClientBuilder:{kind:"parameter",type:"object",description:"Custom HTTP async client builder for more complex HTTP client configuration, overrides connectionTimeout, socketTimeout, proxy and sslContext. Note that a socketTimeout MUST be specified in the builder, otherwise OData requests could block indefinitely",title:"Http Async Client Builder",required:!1,deprecated:!1},httpClientBuilder:{kind:"parameter",type:"object",description:"Custom HTTP client builder for more complex HTTP client configuration, overrides connectionTimeout, socketTimeout, proxy and sslContext. Note that a socketTimeout MUST be specified in the builder, otherwise OData requests could block indefinitely",title:"Http Client Builder",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},olingo4:{type:"object",title:"Olingo4",group:"cloud",icon:"generic24.png",description:"Communicate with OData 4.0 services using Apache Olingo OData API.",properties:{apiName:{kind:"path",type:"object",enum:["DEFAULT"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"HTTP connection creation timeout in milliseconds, defaults to 30,000 (30 seconds)",title:"Connect Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"application/json;charset=utf-8",description:"Content-Type header value can be used to specify JSON or XML message format, defaults to application/json;charset=utf-8",title:"Content Type",required:!1,deprecated:!1},filterAlreadySeen:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this to true to filter out results that have already been communicated by this component.",title:"Filter Already Seen",required:!1,deprecated:!1},httpHeaders:{kind:"parameter",type:"object",description:"Custom HTTP headers to inject into every request, this could include OAuth tokens, etc.",title:"Http Headers",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},proxy:{kind:"parameter",type:"object",description:"HTTP proxy server configuration",title:"Proxy",required:!1,deprecated:!1},serviceUri:{kind:"parameter",type:"string",description:"Target OData service base URI, e.g. http://services.odata.org/OData/OData.svc",title:"Service Uri",required:!1,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"HTTP request timeout in milliseconds, defaults to 30,000 (30 seconds)",title:"Socket Timeout",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},splitResult:{kind:"parameter",type:"boolean",defaultValue:"true",description:"For endpoints that return an array or collection, a consumer endpoint will map every element to distinct messages, unless splitResult is set to false.",title:"Split Result",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpAsyncClientBuilder:{kind:"parameter",type:"object",description:"Custom HTTP async client builder for more complex HTTP client configuration, overrides connectionTimeout, socketTimeout, proxy and sslContext. Note that a socketTimeout MUST be specified in the builder, otherwise OData requests could block indefinitely",title:"Http Async Client Builder",required:!1,deprecated:!1},httpClientBuilder:{kind:"parameter",type:"object",description:"Custom HTTP client builder for more complex HTTP client configuration, overrides connectionTimeout, socketTimeout, proxy and sslContext. Note that a socketTimeout MUST be specified in the builder, otherwise OData requests could block indefinitely",title:"Http Client Builder",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},opensearch:{type:"object",title:"OpenSearch",group:"search,monitoring",icon:"generic24.png",description:"Send requests to OpenSearch via Java Client API.",properties:{clusterName:{kind:"path",type:"string",description:"Name of the cluster",title:"Cluster Name",required:!0,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The time in ms to wait before connection will timeout.",title:"Connection Timeout",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Disconnect after it finish calling the producer",title:"Disconnect",required:!1,deprecated:!1},from:{kind:"parameter",type:"integer",description:"Starting index of the response.",title:"From",required:!1,deprecated:!1},hostAddresses:{kind:"parameter",type:"string",description:"Comma separated list with ip:port formatted remote transport addresses to use.",title:"Host Addresses",required:!1,deprecated:!1},indexName:{kind:"parameter",type:"string",description:"The name of the index to act against",title:"Index Name",required:!1,deprecated:!1},maxRetryTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The time in ms before retry",title:"Max Retry Timeout",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["Index","Update","Bulk","GetById","MultiGet","MultiSearch","Delete","DeleteIndex","Search","Exists","Ping"],description:"What operation to perform",title:"Operation",required:!1,deprecated:!1},scrollKeepAliveMs:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Time in ms during which OpenSearch will keep search context alive",title:"Scroll Keep Alive Ms",required:!1,deprecated:!1},size:{kind:"parameter",type:"integer",description:"Size of the response.",title:"Size",required:!1,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The timeout in ms to wait before the socket will timeout.",title:"Socket Timeout",required:!1,deprecated:!1},useScroll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable scroll usage",title:"Use Scroll",required:!1,deprecated:!1},waitForActiveShards:{kind:"parameter",type:"integer",defaultValue:"1",description:"Index creation waits for the write consistency number of shards to be available",title:"Wait For Active Shards",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},documentClass:{kind:"parameter",type:"string",defaultValue:"ObjectNode",description:"The class to use when deserializing the documents.",title:"Document Class",required:!1,deprecated:!1},enableSniffer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable automatically discover nodes from a running OpenSearch cluster. If this option is used in conjunction with Spring Boot then it's managed by the Spring Boot configuration (see: Disable Sniffer in Spring Boot).",title:"Enable Sniffer",required:!1,deprecated:!1},sniffAfterFailureDelay:{kind:"parameter",type:"integer",defaultValue:"60000",description:"The delay of a sniff execution scheduled after a failure (in milliseconds)",title:"Sniff After Failure Delay",required:!1,deprecated:!1},snifferInterval:{kind:"parameter",type:"integer",defaultValue:"300000",description:"The interval between consecutive ordinary sniff executions in milliseconds. Will be honoured when sniffOnFailure is disabled or when there are no failures between consecutive sniff executions",title:"Sniffer Interval",required:!1,deprecated:!1},certificatePath:{kind:"parameter",type:"string",description:"The certificate that can be used to access the ES Cluster. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Certificate Path",required:!1,deprecated:!1},enableSSL:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable SSL",title:"Enable SSL",required:!1,deprecated:!1}}},"openshift-build-configs":{type:"object",title:"Openshift Build Config",group:"container,cloud",icon:"generic24.png",description:"Perform operations on OpenShift Build Configs.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"openshift-builds":{type:"object",title:"Openshift Builds",group:"container,cloud",icon:"generic24.png",description:"Perform operations on OpenShift Builds.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"openshift-deploymentconfigs":{type:"object",title:"Openshift Deployment Configs",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Openshift Deployment Configs and get notified on Deployment Config changes.",properties:{masterUrl:{kind:"path",type:"string",description:"Kubernetes Master url",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"openstack-cinder":{type:"object",title:"OpenStack Cinder",group:"container",icon:"generic24.png",description:"Access data in OpenStack Cinder block storage.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"V3",enum:["V2","V3"],description:"OpenStack API version",title:"Api Version",required:!1,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},subsystem:{kind:"parameter",type:"string",enum:["snapshots","volumes"],description:"OpenStack Cinder subsystem",title:"Subsystem",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"openstack-glance":{type:"object",title:"OpenStack Glance",group:"container",icon:"generic24.png",description:"Manage VM images and metadata definitions in OpenStack Glance.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"V3",enum:["V2","V3"],description:"OpenStack API version",title:"Api Version",required:!1,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"openstack-keystone":{type:"object",title:"OpenStack Keystone",group:"container",icon:"generic24.png",description:"Access OpenStack Keystone for API client authentication, service discovery and distributed multi-tenant authorization.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},subsystem:{kind:"parameter",type:"string",enum:["regions","domains","projects","users","groups"],description:"OpenStack Keystone subsystem",title:"Subsystem",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"openstack-neutron":{type:"object",title:"OpenStack Neutron",group:"container",icon:"generic24.png",description:"Access OpenStack Neutron for network services.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"V3",enum:["V2","V3"],description:"OpenStack API version",title:"Api Version",required:!1,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},subsystem:{kind:"parameter",type:"string",enum:["networks","subnets","ports","routers"],description:"OpenStack Neutron subsystem",title:"Subsystem",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"openstack-nova":{type:"object",title:"OpenStack Nova",group:"container",icon:"generic24.png",description:"Access OpenStack to manage compute resources.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"V3",enum:["V2","V3"],description:"OpenStack API version",title:"Api Version",required:!1,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},subsystem:{kind:"parameter",type:"string",enum:["flavors","servers","keypairs"],description:"OpenStack Nova subsystem",title:"Subsystem",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"openstack-swift":{type:"object",title:"OpenStack Swift",group:"container",icon:"generic24.png",description:"Access OpenStack Swift object/blob store.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"V3",enum:["V2","V3"],description:"OpenStack API version",title:"Api Version",required:!1,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},subsystem:{kind:"parameter",type:"string",enum:["objects","containers"],description:"OpenStack Swift subsystem",title:"Subsystem",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},optaplanner:{type:"object",title:"OptaPlanner",group:"workflow",icon:"generic24.png",description:"Solve planning problems with OptaPlanner.",properties:{problemName:{kind:"path",type:"string",description:"Problem name",title:"Problem Name",required:!0,deprecated:!1},problemId:{kind:"parameter",type:"integer",defaultValue:"1L",description:"In case of using SolverManager : the problem id",title:"Problem Id",required:!1,deprecated:!1},solverId:{kind:"parameter",type:"string",defaultValue:"DEFAULT_SOLVER",description:"Specifies the solverId to user for the solver instance key",title:"Solver Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},async:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies to perform operations in async mode",title:"Async",required:!1,deprecated:!1},threadPoolSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"Specifies the thread pool size to use when async is true",title:"Thread Pool Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},configFile:{kind:"parameter",type:"string",description:"If SolverManager is absent from the header {OptaPlannerConstants.SOLVER_MANAGER} : A SolverManager will be created using this Optaplanner config file.",title:"Config File",required:!1,deprecated:!1},solverManager:{kind:"parameter",type:"object",description:"SolverManager",title:"Solver Manager",required:!1,deprecated:!1}}},paho:{type:"object",title:"Paho",group:"messaging,iot",icon:"generic24.png",description:"Communicate with MQTT message brokers using Eclipse Paho MQTT Client.",properties:{topic:{kind:"path",type:"string",description:"Name of the topic",title:"Topic",required:!0,deprecated:!1},automaticReconnect:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether the client will automatically attempt to reconnect to the server if the connection is lost. If set to false, the client will not attempt to automatically reconnect to the server in the event that the connection is lost. If set to true, in the event that the connection is lost, the client will attempt to reconnect to the server. It will initially wait 1 second before it attempts to reconnect, for every failed reconnect attempt, the delay will double until it is at 2 minutes at which point the delay will stay at 2 minutes.",title:"Automatic Reconnect",required:!1,deprecated:!1},brokerUrl:{kind:"parameter",type:"string",defaultValue:"tcp://localhost:1883",description:"The URL of the MQTT broker.",title:"Broker Url",required:!1,deprecated:!1},cleanSession:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether the client and server should remember state across restarts and reconnects. If set to false both the client and server will maintain state across restarts of the client, the server and the connection. As state is maintained: Message delivery will be reliable meeting the specified QOS even if the client, server or connection are restarted. The server will treat a subscription as durable. If set to true the client and server will not maintain state across restarts of the client, the server or the connection. This means Message delivery to the specified QOS cannot be maintained if the client, server or connection are restarted The server will treat a subscription as non-durable",title:"Clean Session",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"MQTT client identifier. The identifier must be unique.",title:"Client Id",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30",description:"Sets the connection timeout value. This value, measured in seconds, defines the maximum time interval the client will wait for the network connection to the MQTT server to be established. The default timeout is 30 seconds. A value of 0 disables timeout processing meaning the client will wait until the network connection is made successfully or fails.",title:"Connection Timeout",required:!1,deprecated:!1},filePersistenceDirectory:{kind:"parameter",type:"string",description:"Base directory used by file persistence. Will by default use user directory.",title:"File Persistence Directory",required:!1,deprecated:!1},keepAliveInterval:{kind:"parameter",type:"integer",defaultValue:"60",description:"Sets the keep alive interval. This value, measured in seconds, defines the maximum time interval between messages sent or received. It enables the client to detect if the server is no longer available, without having to wait for the TCP/IP timeout. The client will ensure that at least one message travels across the network within each keep alive period. In the absence of a data-related message during the time period, the client sends a very small ping message, which the server will acknowledge. A value of 0 disables keepalive processing in the client. The default value is 60 seconds",title:"Keep Alive Interval",required:!1,deprecated:!1},maxInflight:{kind:"parameter",type:"integer",defaultValue:"10",description:"Sets the max inflight. please increase this value in a high traffic environment. The default value is 10",title:"Max Inflight",required:!1,deprecated:!1},maxReconnectDelay:{kind:"parameter",type:"integer",defaultValue:"128000",description:"Get the maximum time (in millis) to wait between reconnects",title:"Max Reconnect Delay",required:!1,deprecated:!1},mqttVersion:{kind:"parameter",type:"integer",description:"Sets the MQTT version. The default action is to connect with version 3.1.1, and to fall back to 3.1 if that fails. Version 3.1.1 or 3.1 can be selected specifically, with no fall back, by using the MQTT_VERSION_3_1_1 or MQTT_VERSION_3_1 options respectively.",title:"Mqtt Version",required:!1,deprecated:!1},persistence:{kind:"parameter",type:"object",defaultValue:"MEMORY",enum:["FILE","MEMORY"],description:"Client persistence to be used - memory or file.",title:"Persistence",required:!1,deprecated:!1},qos:{kind:"parameter",type:"integer",defaultValue:"2",description:"Client quality of service level (0-2).",title:"Qos",required:!1,deprecated:!1},retained:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Retain option",title:"Retained",required:!1,deprecated:!1},serverURIs:{kind:"parameter",type:"string",description:"Set a list of one or more serverURIs the client may connect to. Multiple servers can be separated by comma. Each serverURI specifies the address of a server that the client may connect to. Two types of connection are supported tcp:// for a TCP connection and ssl:// for a TCP connection secured by SSL/TLS. For example: tcp://localhost:1883 ssl://localhost:8883 If the port is not specified, it will default to 1883 for tcp:// URIs, and 8883 for ssl:// URIs. If serverURIs is set then it overrides the serverURI parameter passed in on the constructor of the MQTT client. When an attempt to connect is initiated the client will start with the first serverURI in the list and work through the list until a connection is established with a server. If a connection cannot be made to any of the servers then the connect attempt fails. Specifying a list of servers that a client may connect to has several uses: High Availability and reliable message delivery Some MQTT servers support a high availability feature where two or more equal MQTT servers share state. An MQTT client can connect to any of the equal servers and be assured that messages are reliably delivered and durable subscriptions are maintained no matter which server the client connects to. The cleansession flag must be set to false if durable subscriptions and/or reliable message delivery is required. Hunt List A set of servers may be specified that are not equal (as in the high availability option). As no state is shared across the servers reliable message delivery and durable subscriptions are not valid. The cleansession flag must be set to true if the hunt list mode is used",title:"Server URIs",required:!1,deprecated:!1},willPayload:{kind:"parameter",type:"string",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. Sets the message for the LWT.",title:"Will Payload",required:!1,deprecated:!1},willQos:{kind:"parameter",type:"integer",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. Sets the quality of service to publish the message at (0, 1 or 2).",title:"Will Qos",required:!1,deprecated:!1},willRetained:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. Sets whether or not the message should be retained.",title:"Will Retained",required:!1,deprecated:!1},willTopic:{kind:"parameter",type:"string",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. Sets the topic that the willPayload will be published to.",title:"Will Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"To use an existing mqtt client",title:"Client",required:!1,deprecated:!1},customWebSocketHeaders:{kind:"parameter",type:"object",description:"Sets the Custom WebSocket Headers for the WebSocket Connection.",title:"Custom Web Socket Headers",required:!1,deprecated:!1},executorServiceTimeout:{kind:"parameter",type:"integer",defaultValue:"1",description:"Set the time in seconds that the executor service should wait when terminating before forcefully terminating. It is not recommended to change this value unless you are absolutely sure that you need to.",title:"Executor Service Timeout",required:!1,deprecated:!1},httpsHostnameVerificationEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether SSL HostnameVerifier is enabled or not. The default value is true.",title:"Https Hostname Verification Enabled",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to be used for authentication against the MQTT broker",title:"Password",required:!1,deprecated:!1},socketFactory:{kind:"parameter",type:"object",description:"Sets the SocketFactory to use. This allows an application to apply its own policies around the creation of network sockets. If using an SSL connection, an SSLSocketFactory can be used to supply application-specific security settings.",title:"Socket Factory",required:!1,deprecated:!1},sslClientProps:{kind:"parameter",type:"object",description:"Sets the SSL properties for the connection. Note that these properties are only valid if an implementation of the Java Secure Socket Extensions (JSSE) is available. These properties are not used if a custom SocketFactory has been set. The following properties can be used: com.ibm.ssl.protocol One of: SSL, SSLv3, TLS, TLSv1, SSL_TLS. com.ibm.ssl.contextProvider Underlying JSSE provider. For example IBMJSSE2 or SunJSSE com.ibm.ssl.keyStore The name of the file that contains the KeyStore object that you want the KeyManager to use. For example /mydir/etc/key.p12 com.ibm.ssl.keyStorePassword The password for the KeyStore object that you want the KeyManager to use. The password can either be in plain-text, or may be obfuscated using the static method: com.ibm.micro.security.Password.obfuscate(char password). This obfuscates the password using a simple and insecure XOR and Base64 encoding mechanism. Note that this is only a simple scrambler to obfuscate clear-text passwords. com.ibm.ssl.keyStoreType Type of key store, for example PKCS12, JKS, or JCEKS. com.ibm.ssl.keyStoreProvider Key store provider, for example IBMJCE or IBMJCEFIPS. com.ibm.ssl.trustStore The name of the file that contains the KeyStore object that you want the TrustManager to use. com.ibm.ssl.trustStorePassword The password for the TrustStore object that you want the TrustManager to use. The password can either be in plain-text, or may be obfuscated using the static method: com.ibm.micro.security.Password.obfuscate(char password). This obfuscates the password using a simple and insecure XOR and Base64 encoding mechanism. Note that this is only a simple scrambler to obfuscate clear-text passwords. com.ibm.ssl.trustStoreType The type of KeyStore object that you want the default TrustManager to use. Same possible values as keyStoreType. com.ibm.ssl.trustStoreProvider Trust store provider, for example IBMJCE or IBMJCEFIPS. com.ibm.ssl.enabledCipherSuites A list of which ciphers are enabled. Values are dependent on the provider, for example: SSL_RSA_WITH_AES_128_CBC_SHA;SSL_RSA_WITH_3DES_EDE_CBC_SHA. com.ibm.ssl.keyManager Sets the algorithm that will be used to instantiate a KeyManagerFactory object instead of using the default algorithm available in the platform. Example values: IbmX509 or IBMJ9X509. com.ibm.ssl.trustManager Sets the algorithm that will be used to instantiate a TrustManagerFactory object instead of using the default algorithm available in the platform. Example values: PKIX or IBMJ9X509.",title:"Ssl Client Props",required:!1,deprecated:!1},sslHostnameVerifier:{kind:"parameter",type:"object",description:"Sets the HostnameVerifier for the SSL connection. Note that it will be used after handshake on a connection and you should do actions by yourself when hostname is verified error. There is no default HostnameVerifier",title:"Ssl Hostname Verifier",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"Username to be used for authentication against the MQTT broker",title:"User Name",required:!1,deprecated:!1}}},"paho-mqtt5":{type:"object",title:"Paho MQTT 5",group:"messaging,iot",icon:"generic24.png",description:"Communicate with MQTT message brokers using Eclipse Paho MQTT v5 Client.",properties:{topic:{kind:"path",type:"string",description:"Name of the topic",title:"Topic",required:!0,deprecated:!1},automaticReconnect:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether the client will automatically attempt to reconnect to the server if the connection is lost. If set to false, the client will not attempt to automatically reconnect to the server in the event that the connection is lost. If set to true, in the event that the connection is lost, the client will attempt to reconnect to the server. It will initially wait 1 second before it attempts to reconnect, for every failed reconnect attempt, the delay will double until it is at 2 minutes at which point the delay will stay at 2 minutes.",title:"Automatic Reconnect",required:!1,deprecated:!1},brokerUrl:{kind:"parameter",type:"string",defaultValue:"tcp://localhost:1883",description:"The URL of the MQTT broker.",title:"Broker Url",required:!1,deprecated:!1},cleanStart:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether the client and server should remember state across restarts and reconnects. If set to false both the client and server will maintain state across restarts of the client, the server and the connection. As state is maintained: Message delivery will be reliable meeting the specified QOS even if the client, server or connection are restarted. The server will treat a subscription as durable. If set to true the client and server will not maintain state across restarts of the client, the server or the connection. This means Message delivery to the specified QOS cannot be maintained if the client, server or connection are restarted The server will treat a subscription as non-durable",title:"Clean Start",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"MQTT client identifier. The identifier must be unique.",title:"Client Id",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30",description:"Sets the connection timeout value. This value, measured in seconds, defines the maximum time interval the client will wait for the network connection to the MQTT server to be established. The default timeout is 30 seconds. A value of 0 disables timeout processing meaning the client will wait until the network connection is made successfully or fails.",title:"Connection Timeout",required:!1,deprecated:!1},filePersistenceDirectory:{kind:"parameter",type:"string",description:"Base directory used by file persistence. Will by default use user directory.",title:"File Persistence Directory",required:!1,deprecated:!1},keepAliveInterval:{kind:"parameter",type:"integer",defaultValue:"60",description:"Sets the keep alive interval. This value, measured in seconds, defines the maximum time interval between messages sent or received. It enables the client to detect if the server is no longer available, without having to wait for the TCP/IP timeout. The client will ensure that at least one message travels across the network within each keep alive period. In the absence of a data-related message during the time period, the client sends a very small ping message, which the server will acknowledge. A value of 0 disables keepalive processing in the client. The default value is 60 seconds",title:"Keep Alive Interval",required:!1,deprecated:!1},maxReconnectDelay:{kind:"parameter",type:"integer",defaultValue:"128000",description:"Get the maximum time (in millis) to wait between reconnects",title:"Max Reconnect Delay",required:!1,deprecated:!1},persistence:{kind:"parameter",type:"object",defaultValue:"MEMORY",enum:["FILE","MEMORY"],description:"Client persistence to be used - memory or file.",title:"Persistence",required:!1,deprecated:!1},qos:{kind:"parameter",type:"integer",defaultValue:"2",description:"Client quality of service level (0-2).",title:"Qos",required:!1,deprecated:!1},receiveMaximum:{kind:"parameter",type:"integer",defaultValue:"65535",description:"Sets the Receive Maximum. This value represents the limit of QoS 1 and QoS 2 publications that the client is willing to process concurrently. There is no mechanism to limit the number of QoS 0 publications that the Server might try to send. The default value is 65535",title:"Receive Maximum",required:!1,deprecated:!1},retained:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Retain option",title:"Retained",required:!1,deprecated:!1},serverURIs:{kind:"parameter",type:"string",description:"Set a list of one or more serverURIs the client may connect to. Multiple servers can be separated by comma. Each serverURI specifies the address of a server that the client may connect to. Two types of connection are supported tcp:// for a TCP connection and ssl:// for a TCP connection secured by SSL/TLS. For example: tcp://localhost:1883 ssl://localhost:8883 If the port is not specified, it will default to 1883 for tcp:// URIs, and 8883 for ssl:// URIs. If serverURIs is set then it overrides the serverURI parameter passed in on the constructor of the MQTT client. When an attempt to connect is initiated the client will start with the first serverURI in the list and work through the list until a connection is established with a server. If a connection cannot be made to any of the servers then the connect attempt fails. Specifying a list of servers that a client may connect to has several uses: High Availability and reliable message delivery Some MQTT servers support a high availability feature where two or more equal MQTT servers share state. An MQTT client can connect to any of the equal servers and be assured that messages are reliably delivered and durable subscriptions are maintained no matter which server the client connects to. The cleansession flag must be set to false if durable subscriptions and/or reliable message delivery is required. Hunt List A set of servers may be specified that are not equal (as in the high availability option). As no state is shared across the servers reliable message delivery and durable subscriptions are not valid. The cleansession flag must be set to true if the hunt list mode is used",title:"Server URIs",required:!1,deprecated:!1},sessionExpiryInterval:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the Session Expiry Interval. This value, measured in seconds, defines the maximum time that the broker will maintain the session for once the client disconnects. Clients should only connect with a long Session Expiry interval if they intend to connect to the server at some later point in time. By default this value is -1 and so will not be sent, in this case, the session will not expire. If a 0 is sent, the session will end immediately once the Network Connection is closed. When the client has determined that it has no longer any use for the session, it should disconnect with a Session Expiry Interval set to 0.",title:"Session Expiry Interval",required:!1,deprecated:!1},willMqttProperties:{kind:"parameter",type:"object",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. The MQTT properties set for the message.",title:"Will Mqtt Properties",required:!1,deprecated:!1},willPayload:{kind:"parameter",type:"string",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. The byte payload for the message.",title:"Will Payload",required:!1,deprecated:!1},willQos:{kind:"parameter",type:"integer",defaultValue:"1",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. The quality of service to publish the message at (0, 1 or 2).",title:"Will Qos",required:!1,deprecated:!1},willRetained:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. Whether or not the message should be retained.",title:"Will Retained",required:!1,deprecated:!1},willTopic:{kind:"parameter",type:"string",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. The topic to publish to.",title:"Will Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"To use an existing mqtt client",title:"Client",required:!1,deprecated:!1},customWebSocketHeaders:{kind:"parameter",type:"object",description:"Sets the Custom WebSocket Headers for the WebSocket Connection.",title:"Custom Web Socket Headers",required:!1,deprecated:!1},executorServiceTimeout:{kind:"parameter",type:"integer",defaultValue:"1",description:"Set the time in seconds that the executor service should wait when terminating before forcefully terminating. It is not recommended to change this value unless you are absolutely sure that you need to.",title:"Executor Service Timeout",required:!1,deprecated:!1},httpsHostnameVerificationEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether SSL HostnameVerifier is enabled or not. The default value is true.",title:"Https Hostname Verification Enabled",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to be used for authentication against the MQTT broker",title:"Password",required:!1,deprecated:!1},socketFactory:{kind:"parameter",type:"object",description:"Sets the SocketFactory to use. This allows an application to apply its own policies around the creation of network sockets. If using an SSL connection, an SSLSocketFactory can be used to supply application-specific security settings.",title:"Socket Factory",required:!1,deprecated:!1},sslClientProps:{kind:"parameter",type:"object",description:"Sets the SSL properties for the connection. Note that these properties are only valid if an implementation of the Java Secure Socket Extensions (JSSE) is available. These properties are not used if a custom SocketFactory has been set. The following properties can be used: com.ibm.ssl.protocol One of: SSL, SSLv3, TLS, TLSv1, SSL_TLS. com.ibm.ssl.contextProvider Underlying JSSE provider. For example IBMJSSE2 or SunJSSE com.ibm.ssl.keyStore The name of the file that contains the KeyStore object that you want the KeyManager to use. For example /mydir/etc/key.p12 com.ibm.ssl.keyStorePassword The password for the KeyStore object that you want the KeyManager to use. The password can either be in plain-text, or may be obfuscated using the static method: com.ibm.micro.security.Password.obfuscate(char password). This obfuscates the password using a simple and insecure XOR and Base64 encoding mechanism. Note that this is only a simple scrambler to obfuscate clear-text passwords. com.ibm.ssl.keyStoreType Type of key store, for example PKCS12, JKS, or JCEKS. com.ibm.ssl.keyStoreProvider Key store provider, for example IBMJCE or IBMJCEFIPS. com.ibm.ssl.trustStore The name of the file that contains the KeyStore object that you want the TrustManager to use. com.ibm.ssl.trustStorePassword The password for the TrustStore object that you want the TrustManager to use. The password can either be in plain-text, or may be obfuscated using the static method: com.ibm.micro.security.Password.obfuscate(char password). This obfuscates the password using a simple and insecure XOR and Base64 encoding mechanism. Note that this is only a simple scrambler to obfuscate clear-text passwords. com.ibm.ssl.trustStoreType The type of KeyStore object that you want the default TrustManager to use. Same possible values as keyStoreType. com.ibm.ssl.trustStoreProvider Trust store provider, for example IBMJCE or IBMJCEFIPS. com.ibm.ssl.enabledCipherSuites A list of which ciphers are enabled. Values are dependent on the provider, for example: SSL_RSA_WITH_AES_128_CBC_SHA;SSL_RSA_WITH_3DES_EDE_CBC_SHA. com.ibm.ssl.keyManager Sets the algorithm that will be used to instantiate a KeyManagerFactory object instead of using the default algorithm available in the platform. Example values: IbmX509 or IBMJ9X509. com.ibm.ssl.trustManager Sets the algorithm that will be used to instantiate a TrustManagerFactory object instead of using the default algorithm available in the platform. Example values: PKIX or IBMJ9X509.",title:"Ssl Client Props",required:!1,deprecated:!1},sslHostnameVerifier:{kind:"parameter",type:"object",description:"Sets the HostnameVerifier for the SSL connection. Note that it will be used after handshake on a connection and you should do actions by yourself when hostname is verified error. There is no default HostnameVerifier",title:"Ssl Hostname Verifier",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"Username to be used for authentication against the MQTT broker",title:"User Name",required:!1,deprecated:!1}}},pdf:{type:"object",title:"PDF",group:"document,transformation",icon:"generic24.png",description:"Create, modify or extract content from PDF documents.",properties:{operation:{kind:"path",type:"object",enum:["create","append","extractText"],description:"Operation type",title:"Operation",required:!0,deprecated:!1},font:{kind:"parameter",type:"string",defaultValue:"Helvetica",enum:["Courier","Courier-Bold","Courier-Oblique","Courier-BoldOblique","Helvetica","Helvetica-Bold","Helvetica-Oblique","Helvetica-BoldOblique","Times-Roman","Times-Bold","Times-Italic","Times-BoldItalic","Symbol","ZapfDingbats"],description:"Font",title:"Font",required:!1,deprecated:!1},fontSize:{kind:"parameter",type:"number",defaultValue:"14.0",description:"Font size in pixels",title:"Font Size",required:!1,deprecated:!1},marginBottom:{kind:"parameter",type:"integer",defaultValue:"20",description:"Margin bottom in pixels",title:"Margin Bottom",required:!1,deprecated:!1},marginLeft:{kind:"parameter",type:"integer",defaultValue:"20",description:"Margin left in pixels",title:"Margin Left",required:!1,deprecated:!1},marginRight:{kind:"parameter",type:"integer",defaultValue:"40",description:"Margin right in pixels",title:"Margin Right",required:!1,deprecated:!1},marginTop:{kind:"parameter",type:"integer",defaultValue:"20",description:"Margin top in pixels",title:"Margin Top",required:!1,deprecated:!1},pageSize:{kind:"parameter",type:"string",defaultValue:"A4",enum:["LETTER","LEGAL","A0","A1","A2","A3","A4","A5","A6"],description:"Page size",title:"Page Size",required:!1,deprecated:!1},textProcessingFactory:{kind:"parameter",type:"object",defaultValue:"lineTermination",enum:["autoFormatting","lineTermination"],description:"Text processing to use. autoFormatting: Text is getting sliced by words, then max amount of words that fits in the line will be written into pdf document. With this strategy all words that doesn't fit in the line will be moved to the new line. lineTermination: Builds set of classes for line-termination writing strategy. Text getting sliced by line termination symbol and then it will be written regardless it fits in the line or not.",title:"Text Processing Factory",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"pg-replication-slot":{type:"object",title:"PostgresSQL Replication Slot",group:"database",icon:"generic24.png",description:"Poll for PostgreSQL Write-Ahead Log (WAL) records using Streaming Replication Slots.",properties:{slot:{kind:"path",type:"string",description:"Replication Slot name",title:"Slot",required:!0,deprecated:!1},host:{kind:"path",type:"string",defaultValue:"localhost",description:"Postgres host",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"5432",description:"Postgres port",title:"Port",required:!1,deprecated:!1},database:{kind:"path",type:"string",description:"Postgres database name",title:"Database",required:!0,deprecated:!1},outputPlugin:{kind:"path",type:"string",description:"Output plugin name",title:"Output Plugin",required:!0,deprecated:!1},password:{kind:"parameter",type:"string",description:"Postgres password",title:"Password",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",defaultValue:"postgres",description:"Postgres user",title:"User",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},autoCreateSlot:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Auto create slot if it does not exist",title:"Auto Create Slot",required:!1,deprecated:!1},slotOptions:{kind:"parameter",type:"object",description:"Slot options to be passed to the output plugin.",title:"Slot Options",required:!1,deprecated:!1},statusInterval:{kind:"parameter",type:"integer",defaultValue:"10",description:"Specifies the number of seconds between status packets sent back to Postgres server.",title:"Status Interval",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},pgevent:{type:"object",title:"PostgresSQL Event",group:"database",icon:"generic24.png",description:"Send and receive PostgreSQL events via LISTEN and NOTIFY commands.",properties:{host:{kind:"path",type:"string",defaultValue:"localhost",description:"To connect using hostname and port to the database.",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"5432",description:"To connect using hostname and port to the database.",title:"Port",required:!1,deprecated:!1},database:{kind:"path",type:"string",description:"The database name. The database name can take any characters because it is sent as a quoted identifier. It is part of the endpoint URI, so diacritical marks and non-Latin letters have to be URL encoded.",title:"Database",required:!0,deprecated:!1},channel:{kind:"path",type:"string",description:"The channel name",title:"Channel",required:!0,deprecated:!1},datasource:{kind:"parameter",type:"object",description:"To connect using the given javax.sql.DataSource instead of using hostname and port.",title:"Datasource",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},pass:{kind:"parameter",type:"string",description:"Password for login",title:"Pass",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",defaultValue:"postgres",description:"Username for login",title:"User",required:!1,deprecated:!1}}},"platform-http":{type:"object",title:"Platform HTTP",group:"http",icon:"generic24.png",description:"Expose HTTP endpoints using the HTTP server available in the current platform.",properties:{path:{kind:"path",type:"string",description:"The path under which this endpoint serves the HTTP requests, for proxy use 'proxy'",title:"Path",required:!0,deprecated:!1},consumes:{kind:"parameter",type:"string",description:"The content type this endpoint accepts as an input, such as application/xml or application/json. null or */* mean no restriction.",title:"Consumes",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"A comma separated list of HTTP methods to serve, e.g. GET,POST . If no methods are specified, all methods will be served.",title:"Http Method Restrict",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},produces:{kind:"parameter",type:"string",description:"The content type this endpoint produces, such as application/xml or application/json.",title:"Produces",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},fileNameExtWhitelist:{kind:"parameter",type:"string",description:"A comma or whitespace separated list of file extensions. Uploads having these extensions will be stored locally. Null value or asterisk () will allow all files.",title:"File Name Ext Whitelist",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter headers to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},platformHttpEngine:{kind:"parameter",type:"object",description:"An HTTP Server engine implementation to serve the requests of this endpoint.",title:"Platform Http Engine",required:!1,deprecated:!1}}},plc4x:{type:"object",title:"PLC4X",group:"iot",icon:"generic24.png",description:"Read and write to PLC devices",properties:{driver:{kind:"path",type:"string",description:"PLC4X connection string for the connection to the target",title:"Driver",required:!0,deprecated:!1},autoReconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to reconnect when no connection is present upon doing a request",title:"Auto Reconnect",required:!1,deprecated:!1},period:{kind:"parameter",type:"integer",description:"Interval on which the Trigger should be checked",title:"Period",required:!1,deprecated:!1},tags:{kind:"parameter",type:"object",description:"Tags as key/values from the Map to use in query",title:"Tags",required:!1,deprecated:!1},trigger:{kind:"parameter",type:"string",description:"Query to a trigger. On a rising edge of the trigger, the tags will be read once",title:"Trigger",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},pop3:{type:"object",title:"POP3",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},pop3s:{type:"object",title:"POP3S",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},pubnub:{type:"object",title:"PubNub",group:"cloud,iot,messaging",icon:"generic24.png",description:"Send and receive messages to/from PubNub data stream network for connected devices.",properties:{channel:{kind:"path",type:"string",description:"The channel used for subscribing/publishing events",title:"Channel",required:!0,deprecated:!1},uuid:{kind:"parameter",type:"string",description:"UUID to be used as a device identifier, a default UUID is generated if not passed.",title:"Uuid",required:!0,deprecated:!1},withPresence:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Also subscribe to related presence information",title:"With Presence",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",enum:["HERENOW","WHERENOW","GETSTATE","SETSTATE","GETHISTORY","PUBLISH","FIRE"],description:"The operation to perform. PUBLISH: Default. Send a message to all subscribers of a channel. FIRE: allows the client to send a message to BLOCKS Event Handlers. These messages will go directly to any Event Handlers registered on the channel. HERENOW: Obtain information about the current state of a channel including a list of unique user-ids currently subscribed to the channel and the total occupancy count. WHERENOW: Obtain information about the current list of channels to which a uuid is subscribed to. GETSTATE: Used to get key/value pairs specific to a subscriber uuid. State information is supplied as a JSON object of key/value pairs SETSTATE: Used to set key/value pairs specific to a subscriber uuid GETHISTORY: Fetches historical messages of a channel.",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},pubnub:{kind:"parameter",type:"object",description:"Reference to a Pubnub client in the registry.",title:"Pubnub",required:!1,deprecated:!1},authKey:{kind:"parameter",type:"string",description:"If Access Manager is utilized, client will use this authKey in all restricted requests.",title:"Auth Key",required:!1,deprecated:!1},cipherKey:{kind:"parameter",type:"string",description:"If cipher is passed, all communications to/from PubNub will be encrypted.",title:"Cipher Key",required:!1,deprecated:!1},publishKey:{kind:"parameter",type:"string",description:"The publish key obtained from your PubNub account. Required when publishing messages.",title:"Publish Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"The secret key used for message signing.",title:"Secret Key",required:!1,deprecated:!1},secure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Use SSL for secure transmission.",title:"Secure",required:!1,deprecated:!1},subscribeKey:{kind:"parameter",type:"string",description:"The subscribe key obtained from your PubNub account. Required when subscribing to channels or listening for presence events",title:"Subscribe Key",required:!1,deprecated:!1}}},pulsar:{type:"object",title:"Pulsar",group:"messaging",icon:"generic24.png",description:"Send and receive messages from/to Apache Pulsar messaging system.",properties:{persistence:{kind:"path",type:"string",enum:["persistent","non-persistent"],description:"Whether the topic is persistent or non-persistent",title:"Persistence",required:!0,deprecated:!1},tenant:{kind:"path",type:"string",description:"The tenant",title:"Tenant",required:!0,deprecated:!1},namespace:{kind:"path",type:"string",description:"The namespace",title:"Namespace",required:!0,deprecated:!1},topic:{kind:"path",type:"string",description:"The topic",title:"Topic",required:!0,deprecated:!1},authenticationClass:{kind:"parameter",type:"string",description:"The Authentication FQCN to be used while creating the client from URI",title:"Authentication Class",required:!1,deprecated:!1},authenticationParams:{kind:"parameter",type:"string",description:"The Authentication Parameters to be used while creating the client from URI",title:"Authentication Params",required:!1,deprecated:!1},serviceUrl:{kind:"parameter",type:"string",description:"The Pulsar Service URL to point while creating the client from URI",title:"Service Url",required:!1,deprecated:!1},ackGroupTimeMillis:{kind:"parameter",type:"integer",defaultValue:"100",description:"Group the consumer acknowledgments for the specified time in milliseconds - defaults to 100",title:"Ack Group Time Millis",required:!1,deprecated:!1},ackTimeoutMillis:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout for unacknowledged messages in milliseconds - defaults to 10000",title:"Ack Timeout Millis",required:!1,deprecated:!1},ackTimeoutRedeliveryBackoff:{kind:"parameter",type:"object",description:"RedeliveryBackoff to use for ack timeout redelivery backoff.",title:"Ack Timeout Redelivery Backoff",required:!1,deprecated:!1},allowManualAcknowledgement:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow manual message acknowledgements. If this option is enabled, then messages are not acknowledged automatically after successful route completion. Instead, an instance of PulsarMessageReceipt is stored as a header on the org.apache.camel.Exchange. Messages can then be acknowledged using PulsarMessageReceipt at any time before the ackTimeout occurs.",title:"Allow Manual Acknowledgement",required:!1,deprecated:!1},consumerName:{kind:"parameter",type:"string",defaultValue:"sole-consumer",description:"Name of the consumer when subscription is EXCLUSIVE",title:"Consumer Name",required:!1,deprecated:!1},consumerNamePrefix:{kind:"parameter",type:"string",defaultValue:"cons",description:"Prefix to add to consumer names when a SHARED or FAILOVER subscription is used",title:"Consumer Name Prefix",required:!1,deprecated:!1},consumerQueueSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"Size of the consumer queue - defaults to 10",title:"Consumer Queue Size",required:!1,deprecated:!1},deadLetterTopic:{kind:"parameter",type:"string",description:"Name of the topic where the messages which fail maxRedeliverCount times will be sent. Note: if not set, default topic name will be topicName-subscriptionName-DLQ",title:"Dead Letter Topic",required:!1,deprecated:!1},enableRetry:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable retry letter topic mode. The default retry letter topic uses this format: topicname-subscriptionname-RETRY",title:"Enable Retry",required:!1,deprecated:!1},keySharedPolicy:{kind:"parameter",type:"string",enum:["AUTO_SPLIT","STICKY"],description:"Policy to use by consumer when using key-shared subscription type.",title:"Key Shared Policy",required:!1,deprecated:!1},maxRedeliverCount:{kind:"parameter",type:"integer",description:"Maximum number of times that a message will be redelivered before being sent to the dead letter queue. If this value is not set, no Dead Letter Policy will be created",title:"Max Redeliver Count",required:!1,deprecated:!1},messageListener:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use the messageListener interface, or to receive messages using a separate thread pool",title:"Message Listener",required:!1,deprecated:!1},negativeAckRedeliveryBackoff:{kind:"parameter",type:"object",description:"RedeliveryBackoff to use for negative ack redelivery backoff.",title:"Negative Ack Redelivery Backoff",required:!1,deprecated:!1},negativeAckRedeliveryDelayMicros:{kind:"parameter",type:"integer",defaultValue:"60000000",description:"Set the negative acknowledgement delay",title:"Negative Ack Redelivery Delay Micros",required:!1,deprecated:!1},numberOfConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of consumers - defaults to 1",title:"Number Of Consumers",required:!1,deprecated:!1},numberOfConsumerThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of threads to receive and handle messages when using a separate thread pool",title:"Number Of Consumer Threads",required:!1,deprecated:!1},readCompacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable compacted topic reading.",title:"Read Compacted",required:!1,deprecated:!1},retryLetterTopic:{kind:"parameter",type:"string",description:"Name of the topic to use in retry mode. Note: if not set, default topic name will be topicName-subscriptionName-RETRY",title:"Retry Letter Topic",required:!1,deprecated:!1},subscriptionInitialPosition:{kind:"parameter",type:"object",defaultValue:"LATEST",enum:["EARLIEST","LATEST"],description:"Control the initial position in the topic of a newly created subscription. Default is latest message.",title:"Subscription Initial Position",required:!1,deprecated:!1},subscriptionName:{kind:"parameter",type:"string",defaultValue:"subs",description:"Name of the subscription to use",title:"Subscription Name",required:!1,deprecated:!1},subscriptionTopicsMode:{kind:"parameter",type:"object",defaultValue:"PersistentOnly",enum:["PersistentOnly","NonPersistentOnly","AllTopics"],description:"Determines to which topics this consumer should be subscribed to - Persistent, Non-Persistent, or both. Only used with pattern subscriptions.",title:"Subscription Topics Mode",required:!1,deprecated:!1},subscriptionType:{kind:"parameter",type:"object",defaultValue:"EXCLUSIVE",enum:["EXCLUSIVE","SHARED","FAILOVER","KEY_SHARED"],description:"Type of the subscription EXCLUSIVESHAREDFAILOVERKEY_SHARED, defaults to EXCLUSIVE",title:"Subscription Type",required:!1,deprecated:!1},topicsPattern:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the topic is a pattern (regular expression) that allows the consumer to subscribe to all matching topics in the namespace",title:"Topics Pattern",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},batcherBuilder:{kind:"parameter",type:"object",defaultValue:"DEFAULT",description:"Control batching method used by the producer.",title:"Batcher Builder",required:!1,deprecated:!1},batchingEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Control whether automatic batching of messages is enabled for the producer.",title:"Batching Enabled",required:!1,deprecated:!1},batchingMaxMessages:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The maximum size to batch messages.",title:"Batching Max Messages",required:!1,deprecated:!1},batchingMaxPublishDelayMicros:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The maximum time period within which the messages sent will be batched if batchingEnabled is true.",title:"Batching Max Publish Delay Micros",required:!1,deprecated:!1},blockIfQueueFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to block the producing thread if pending messages queue is full or to throw a ProducerQueueIsFullError",title:"Block If Queue Full",required:!1,deprecated:!1},chunkingEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Control whether chunking of messages is enabled for the producer.",title:"Chunking Enabled",required:!1,deprecated:!1},compressionType:{kind:"parameter",type:"object",defaultValue:"NONE",enum:["NONE","LZ4","ZLIB","ZSTD","SNAPPY"],description:"Compression type to use",title:"Compression Type",required:!1,deprecated:!1},initialSequenceId:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The first message published will have a sequence Id of initialSequenceId 1.",title:"Initial Sequence Id",required:!1,deprecated:!1},maxPendingMessages:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Size of the pending massages queue. When the queue is full, by default, any further sends will fail unless blockIfQueueFull=true",title:"Max Pending Messages",required:!1,deprecated:!1},maxPendingMessagesAcrossPartitions:{kind:"parameter",type:"integer",defaultValue:"50000",description:"The maximum number of pending messages for partitioned topics. The maxPendingMessages value will be reduced if (number of partitions maxPendingMessages) exceeds this value. Partitioned topics have a pending message queue for each partition.",title:"Max Pending Messages Across Partitions",required:!1,deprecated:!0},messageRouter:{kind:"parameter",type:"object",description:"Custom Message Router to use",title:"Message Router",required:!1,deprecated:!1},messageRoutingMode:{kind:"parameter",type:"object",defaultValue:"RoundRobinPartition",enum:["SinglePartition","RoundRobinPartition","CustomPartition"],description:"Message Routing Mode to use",title:"Message Routing Mode",required:!1,deprecated:!1},producerName:{kind:"parameter",type:"string",description:"Name of the producer. If unset, lets Pulsar select a unique identifier.",title:"Producer Name",required:!1,deprecated:!1},sendTimeoutMs:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Send timeout in milliseconds",title:"Send Timeout Ms",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},quartz:{type:"object",title:"Quartz",group:"scheduling",icon:"generic24.png",description:"Schedule sending of messages using the Quartz 2.x scheduler.",properties:{groupName:{kind:"path",type:"string",defaultValue:"Camel",description:"The quartz group name to use. The combination of group name and trigger name should be unique.",title:"Group Name",required:!1,deprecated:!1},triggerName:{kind:"path",type:"string",description:"The quartz trigger name to use. The combination of group name and trigger name should be unique.",title:"Trigger Name",required:!0,deprecated:!1},cron:{kind:"parameter",type:"string",description:"Specifies a cron expression to define when to trigger.",title:"Cron",required:!1,deprecated:!1},deleteJob:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If set to true, then the trigger automatically delete when route stop. Else if set to false, it will remain in scheduler. When set to false, it will also mean user may reuse pre-configured trigger with camel Uri. Just ensure the names match. Notice you cannot have both deleteJob and pauseJob set to true.",title:"Delete Job",required:!1,deprecated:!1},durableJob:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the job should remain stored after it is orphaned (no triggers point to it).",title:"Durable Job",required:!1,deprecated:!1},pauseJob:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, then the trigger automatically pauses when route stop. Else if set to false, it will remain in scheduler. When set to false, it will also mean user may reuse pre-configured trigger with camel Uri. Just ensure the names match. Notice you cannot have both deleteJob and pauseJob set to true.",title:"Pause Job",required:!1,deprecated:!1},recoverableJob:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Instructs the scheduler whether or not the job should be re-executed if a 'recovery' or 'fail-over' situation is encountered.",title:"Recoverable Job",required:!1,deprecated:!1},stateful:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Uses a Quartz PersistJobDataAfterExecution and DisallowConcurrentExecution instead of the default job.",title:"Stateful",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},customCalendar:{kind:"parameter",type:"object",description:"Specifies a custom calendar to avoid specific range of date",title:"Custom Calendar",required:!1,deprecated:!1},ignoreExpiredNextFireTime:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore quartz cannot schedule a trigger because the trigger will never fire in the future. This can happen when using a cron trigger that are configured to only run in the past. By default, Quartz will fail to schedule the trigger and therefore fail to start the Camel route. You can set this to true which then logs a WARN and then ignore the problem, meaning that the route will never fire in the future.",title:"Ignore Expired Next Fire Time",required:!1,deprecated:!1},jobParameters:{kind:"parameter",type:"object",description:"To configure additional options on the job.",title:"Job Parameters",required:!1,deprecated:!1},prefixJobNameWithEndpointId:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the job name should be prefixed with endpoint id",title:"Prefix Job Name With Endpoint Id",required:!1,deprecated:!1},triggerParameters:{kind:"parameter",type:"object",description:"To configure additional options on the trigger. The parameter timeZone is supported if the cron option is present. Otherwise the parameters repeatInterval and repeatCount are supported. Note: When using repeatInterval values of 1000 or less, the first few events after starting the camel context may be fired more rapidly than expected.",title:"Trigger Parameters",required:!1,deprecated:!1},usingFixedCamelContextName:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If it is true, JobDataMap uses the CamelContext name directly to reference the CamelContext, if it is false, JobDataMap uses use the CamelContext management name which could be changed during the deploy time.",title:"Using Fixed Camel Context Name",required:!1,deprecated:!1},autoStartScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not the scheduler should be auto started.",title:"Auto Start Scheduler",required:!1,deprecated:!1},triggerStartDelay:{kind:"parameter",type:"duration",defaultValue:"500",description:"In case of scheduler has already started, we want the trigger start slightly after current time to ensure endpoint is fully started before the job kicks in. Negative value shifts trigger start time in the past.",title:"Trigger Start Delay",required:!1,deprecated:!1}}},quickfix:{type:"object",title:"QuickFix",group:"messaging",icon:"generic24.png",description:"Open a Financial Interchange (FIX) session using an embedded QuickFix/J engine.",properties:{configurationName:{kind:"path",type:"string",description:"Path to the quickfix configuration file. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the configuration file using these protocols (classpath is default). ref will lookup the configuration file in the registry. bean will call a method on a bean to be used as the configuration. For bean you can specify the method name after dot, eg bean:myBean.myMethod",title:"Configuration Name",required:!0,deprecated:!1},lazyCreateEngine:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option allows creating QuickFIX/J engine on demand. Value true means the engine is started when first message is send or there's consumer configured in route definition. When false value is used, the engine is started at the endpoint creation. When this parameter is missing, the value of component's property lazyCreateEngines is being used.",title:"Lazy Create Engine",required:!1,deprecated:!1},sessionID:{kind:"parameter",type:"string",description:"The optional sessionID identifies a specific FIX session. The format of the sessionID is: (BeginString):(SenderCompID)/(SenderSubID)/(SenderLocationID)-(TargetCompID)/(TargetSubID)/(TargetLocationID)",title:"Session ID",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"reactive-streams":{type:"object",title:"Reactive Streams",group:"messaging",icon:"generic24.png",description:"Exchange messages with reactive stream processing libraries compatible with the reactive streams standard.",properties:{stream:{kind:"path",type:"string",description:"Name of the stream channel used by the endpoint to exchange messages.",title:"Stream",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of threads used to process exchanges in the Camel route.",title:"Concurrent Consumers",required:!1,deprecated:!1},exchangesRefillLowWatermark:{kind:"parameter",type:"number",defaultValue:"0.25",description:"Set the low watermark of requested exchanges to the active subscription as percentage of the maxInflightExchanges. When the number of pending items from the upstream source is lower than the watermark, new items can be requested to the subscription. If set to 0, the subscriber will request items in batches of maxInflightExchanges, only after all items of the previous batch have been processed. If set to 1, the subscriber can request a new item each time an exchange is processed (chatty). Any intermediate value can be used.",title:"Exchanges Refill Low Watermark",required:!1,deprecated:!1},forwardOnComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines if onComplete events should be pushed to the Camel route.",title:"Forward On Complete",required:!1,deprecated:!1},forwardOnError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines if onError events should be pushed to the Camel route. Exceptions will be set as message body.",title:"Forward On Error",required:!1,deprecated:!1},maxInflightExchanges:{kind:"parameter",type:"integer",defaultValue:"128",description:"Maximum number of exchanges concurrently being processed by Camel. This parameter controls backpressure on the stream. Setting a non-positive value will disable backpressure.",title:"Max Inflight Exchanges",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},backpressureStrategy:{kind:"parameter",type:"object",enum:["BUFFER","OLDEST","LATEST"],description:"The backpressure strategy to use when pushing events to a slow subscriber.",title:"Backpressure Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},ref:{type:"object",title:"Ref",group:"core",icon:"generic24.png",description:"Route messages to an endpoint looked up dynamically by name in the Camel Registry.",properties:{name:{kind:"path",type:"string",description:"Name of endpoint to lookup in the registry.",title:"Name",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},rest:{type:"object",title:"REST",group:"core,rest",icon:"generic24.png",description:"Expose REST services or call external REST services.",acceptInput:"",acceptOutput:"",nextSiblingAddedAsChild:"false",properties:{method:{kind:"path",type:"string",enum:["get","post","put","delete","patch","head","trace","connect","options"],description:"HTTP method to use.",title:"Method",required:!0,deprecated:!1},path:{kind:"path",type:"string",description:"The base path",title:"Path",required:!0,deprecated:!1},uriTemplate:{kind:"path",type:"string",description:"The uri template",title:"Uri Template",required:!1,deprecated:!1},consumes:{kind:"parameter",type:"string",description:"Media type such as: 'text/xml', or 'application/json' this REST service accepts. By default we accept all kinds of types.",title:"Consumes",required:!1,deprecated:!1},inType:{kind:"parameter",type:"string",description:"To declare the incoming POJO binding type as a FQN class name",title:"In Type",required:!1,deprecated:!1},outType:{kind:"parameter",type:"string",description:"To declare the outgoing POJO binding type as a FQN class name",title:"Out Type",required:!1,deprecated:!1},produces:{kind:"parameter",type:"string",description:"Media type such as: 'text/xml', or 'application/json' this REST service returns.",title:"Produces",required:!1,deprecated:!1},routeId:{kind:"parameter",type:"string",description:"Name of the route this REST services creates",title:"Route Id",required:!1,deprecated:!1},consumerComponentName:{kind:"parameter",type:"string",description:"The Camel Rest component to use for the consumer REST transport, such as jetty, servlet, undertow. If no component has been explicitly configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestConsumerFactory is registered in the registry. If either one is found, then that is being used.",title:"Consumer Component Name",required:!1,deprecated:!1},description:{kind:"parameter",type:"string",description:"Human description to document this REST service",title:"Description",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},apiDoc:{kind:"parameter",type:"string",description:"The openapi api doc resource to use. The resource is loaded from classpath by default and must be in JSON format.",title:"Api Doc",required:!1,deprecated:!1},bindingMode:{kind:"parameter",type:"object",enum:["auto","off","json","xml","json_xml"],description:"Configures the binding mode for the producer. If set to anything other than 'off' the producer will try to convert the body of the incoming message from inType to the json or xml, and the response from json or xml to outType.",title:"Binding Mode",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"Host and port of HTTP service to use (override host in openapi schema)",title:"Host",required:!1,deprecated:!1},producerComponentName:{kind:"parameter",type:"string",description:"The Camel Rest component to use for the producer REST transport, such as http, undertow. If no component has been explicitly configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestProducerFactory is registered in the registry. If either one is found, then that is being used.",title:"Producer Component Name",required:!1,deprecated:!1},queryParameters:{kind:"parameter",type:"string",description:"Query parameters for the HTTP service to call. The query parameters can contain multiple parameters separated by ampersand such such as foo=123&bar=456.",title:"Query Parameters",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"rest-api":{type:"object",title:"REST API",group:"core,rest",icon:"generic24.png",description:"Expose OpenAPI Specification of the REST services defined using Camel REST DSL.",acceptInput:"",acceptOutput:"",nextSiblingAddedAsChild:"false",properties:{path:{kind:"path",type:"string",description:"The base path",title:"Path",required:!0,deprecated:!1},apiComponentName:{kind:"parameter",type:"string",description:"The Camel Rest API component to use for generating the API of the REST services, such as openapi.",title:"Api Component Name",required:!1,deprecated:!1},consumerComponentName:{kind:"parameter",type:"string",description:"The Camel Rest component to use for the consumer REST transport, such as jetty, servlet, undertow. If no component has been explicitly configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestConsumerFactory is registered in the registry. If either one is found, then that is being used.",title:"Consumer Component Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},"rest-openapi":{type:"object",title:"REST OpenApi",group:"rest,api",icon:"generic24.png",description:"Configure REST producers based on an OpenAPI specification document delegating to a component implementing the RestProducerFactory interface.",acceptInput:"",acceptOutput:"",nextSiblingAddedAsChild:"false",properties:{specificationUri:{kind:"path",type:"string",defaultValue:"openapi.json",description:"Path to the OpenApi specification file. The scheme, host base path are taken from this specification, but these can be overridden with properties on the component or endpoint level. If not given the component tries to load openapi.json resource from the classpath. Note that the host defined on the component and endpoint of this Component should contain the scheme, hostname and optionally the port in the URI syntax (i.e. http://api.example.com:8080). Overrides component configuration. The OpenApi specification can be loaded from different sources by prefixing with file: classpath: http: https:. Support for https is limited to using the JDK installed UrlHandler, and as such it can be cumbersome to setup TLS/SSL certificates for https (such as setting a number of javax.net.ssl JVM system properties). How to do that consult the JDK documentation for UrlHandler. Default value notice: By default loads openapi.json file",title:"Specification Uri",required:!1,deprecated:!1},operationId:{kind:"path",type:"string",description:"ID of the operation from the OpenApi specification.",title:"Operation Id",required:!0,deprecated:!1},basePath:{kind:"parameter",type:"string",description:"API basePath, for example /v2. Default is unset, if set overrides the value present in OpenApi specification and in the component configuration.",title:"Base Path",required:!1,deprecated:!1},componentName:{kind:"parameter",type:"string",description:"Name of the Camel component that will perform the requests. The component must be present in Camel registry and it must implement RestProducerFactory service provider interface. If not set CLASSPATH is searched for single component that implements RestProducerFactory SPI. Overrides component configuration.",title:"Component Name",required:!1,deprecated:!1},consumes:{kind:"parameter",type:"string",description:"What payload type this component capable of consuming. Could be one type, like application/json or multiple types as application/json, application/xml; q=0.5 according to the RFC7231. This equates to the value of Accept HTTP header. If set overrides any value found in the OpenApi specification and. in the component configuration",title:"Consumes",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"Scheme hostname and port to direct the HTTP requests to in the form of https://hostname:port. Can be configured at the endpoint, component or in the corresponding REST configuration in the Camel Context. If you give this component a name (e.g. petstore) that REST configuration is consulted first, rest-openapi next, and global configuration last. If set overrides any value found in the OpenApi specification, RestConfiguration. Overrides all other configuration.",title:"Host",required:!1,deprecated:!1},produces:{kind:"parameter",type:"string",description:"What payload type this component is producing. For example application/json according to the RFC7231. This equates to the value of Content-Type HTTP header. If set overrides any value present in the OpenApi specification. Overrides all other configuration.",title:"Produces",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},robotframework:{type:"object",title:"Robot Framework",group:"testing",icon:"generic24.png",description:"Pass camel exchanges to acceptence test written in Robot DSL.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},argumentFiles:{kind:"parameter",type:"string",description:"A text String to read more arguments from.",title:"Argument Files",required:!1,deprecated:!1},combinedTagStats:{kind:"parameter",type:"string",description:"Creates combined statistics based on tags. Use the format tags:title List",title:"Combined Tag Stats",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},criticalTags:{kind:"parameter",type:"string",description:"Tests that have the given tags are considered critical. List",title:"Critical Tags",required:!1,deprecated:!1},debugFile:{kind:"parameter",type:"string",description:"A debug String that is written during execution.",title:"Debug File",required:!1,deprecated:!1},document:{kind:"parameter",type:"string",description:"Sets the documentation of the top-level tests suites.",title:"Document",required:!1,deprecated:!1},dryrun:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets dryrun mode on use. In the dry run mode tests are run without executing keywords originating from test libraries. Useful for validating test data syntax.",title:"Dryrun",required:!1,deprecated:!1},excludes:{kind:"parameter",type:"string",description:"Selects the tests cases by tags. List",title:"Excludes",required:!1,deprecated:!1},exitOnFailure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets robot to stop execution immediately if a critical test fails.",title:"Exit On Failure",required:!1,deprecated:!1},includes:{kind:"parameter",type:"string",description:"Selects the tests cases by tags. List",title:"Includes",required:!1,deprecated:!1},listener:{kind:"parameter",type:"string",description:"Sets a single listener for monitoring tests execution",title:"Listener",required:!1,deprecated:!1},listeners:{kind:"parameter",type:"string",description:"Sets multiple listeners for monitoring tests execution. Use the format ListenerWithArgs:arg1:arg2 or simply ListenerWithoutArgs List",title:"Listeners",required:!1,deprecated:!1},log:{kind:"parameter",type:"string",description:"Sets the path to the generated log String.",title:"Log",required:!1,deprecated:!1},logLevel:{kind:"parameter",type:"string",description:"Sets the threshold level for logging.",title:"Log Level",required:!1,deprecated:!1},logTitle:{kind:"parameter",type:"string",description:"Sets a title for the generated tests log.",title:"Log Title",required:!1,deprecated:!1},metadata:{kind:"parameter",type:"string",description:"Sets free metadata for the top level tests suites. comma seperated list of string resulting as List",title:"Metadata",required:!1,deprecated:!1},monitorColors:{kind:"parameter",type:"string",description:"Using ANSI colors in console. Normally colors work in unixes but not in Windows. Default is 'on'. 'on' - use colors in unixes but not in Windows 'off' - never use colors 'force' - always use colors (also in Windows)",title:"Monitor Colors",required:!1,deprecated:!1},monitorWidth:{kind:"parameter",type:"string",defaultValue:"78",description:"Width of the monitor output. Default is 78.",title:"Monitor Width",required:!1,deprecated:!1},name:{kind:"parameter",type:"string",description:"Sets the name of the top-level tests suites.",title:"Name",required:!1,deprecated:!1},nonCriticalTags:{kind:"parameter",type:"string",description:"Tests that have the given tags are not critical. List",title:"Non Critical Tags",required:!1,deprecated:!1},noStatusReturnCode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, sets the return code to zero regardless of failures in test cases. Error codes are returned normally.",title:"No Status Return Code",required:!1,deprecated:!1},output:{kind:"parameter",type:"string",description:"Sets the path to the generated output String.",title:"Output",required:!1,deprecated:!1},outputDirectory:{kind:"parameter",type:"string",description:"Configures where generated reports are to be placed.",title:"Output Directory",required:!1,deprecated:!1},randomize:{kind:"parameter",type:"string",description:"Sets the test execution order to be randomized. Valid values are all, suite, and test",title:"Randomize",required:!1,deprecated:!1},report:{kind:"parameter",type:"string",description:"Sets the path to the generated report String.",title:"Report",required:!1,deprecated:!1},reportBackground:{kind:"parameter",type:"string",description:"Sets background colors for the generated report and summary.",title:"Report Background",required:!1,deprecated:!1},reportTitle:{kind:"parameter",type:"string",description:"Sets a title for the generated tests report.",title:"Report Title",required:!1,deprecated:!1},runEmptySuite:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Executes tests also if the top level test suite is empty. Useful e.g. with --include/--exclude when it is not an error that no test matches the condition.",title:"Run Empty Suite",required:!1,deprecated:!1},runFailed:{kind:"parameter",type:"string",description:"Re-run failed tests, based on output.xml String.",title:"Run Failed",required:!1,deprecated:!1},runMode:{kind:"parameter",type:"string",description:"Sets the execution mode for this tests run. Note that this setting has been deprecated in Robot Framework 2.8. Use separate dryryn, skipTeardownOnExit, exitOnFailure, and randomize settings instead.",title:"Run Mode",required:!1,deprecated:!1},skipTeardownOnExit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the teardowns are skipped if the test execution is prematurely stopped.",title:"Skip Teardown On Exit",required:!1,deprecated:!1},splitOutputs:{kind:"parameter",type:"string",description:"Splits output and log files.",title:"Split Outputs",required:!1,deprecated:!1},suites:{kind:"parameter",type:"string",description:"Selects the tests suites by name. List",title:"Suites",required:!1,deprecated:!1},suiteStatLevel:{kind:"parameter",type:"string",description:"Defines how many levels to show in the Statistics by Suite table in outputs.",title:"Suite Stat Level",required:!1,deprecated:!1},summaryTitle:{kind:"parameter",type:"string",description:"Sets a title for the generated summary report.",title:"Summary Title",required:!1,deprecated:!1},tagDocs:{kind:"parameter",type:"string",description:"Adds documentation to the specified tags. List",title:"Tag Docs",required:!1,deprecated:!1},tags:{kind:"parameter",type:"string",description:"Sets the tags(s) to all executed tests cases. List",title:"Tags",required:!1,deprecated:!1},tagStatExcludes:{kind:"parameter",type:"string",description:"Excludes these tags from the Statistics by Tag and Test Details by Tag tables in outputs. List",title:"Tag Stat Excludes",required:!1,deprecated:!1},tagStatIncludes:{kind:"parameter",type:"string",description:"Includes only these tags in the Statistics by Tag and Test Details by Tag tables in outputs. List",title:"Tag Stat Includes",required:!1,deprecated:!1},tagStatLinks:{kind:"parameter",type:"string",description:"Adds external links to the Statistics by Tag table in outputs. Use the format pattern:link:title List",title:"Tag Stat Links",required:!1,deprecated:!1},tests:{kind:"parameter",type:"string",description:"Selects the tests cases by name. List",title:"Tests",required:!1,deprecated:!1},timestampOutputs:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Adds a timestamp to all output files.",title:"Timestamp Outputs",required:!1,deprecated:!1},variableFiles:{kind:"parameter",type:"string",description:"Sets variables using variables files. Use the format path:args List",title:"Variable Files",required:!1,deprecated:!1},variables:{kind:"parameter",type:"string",description:"Sets individual variables. Use the format name:value List",title:"Variables",required:!1,deprecated:!1},warnOnSkippedFiles:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show a warning when an invalid String is skipped.",title:"Warn On Skipped Files",required:!1,deprecated:!1},xunitFile:{kind:"parameter",type:"string",description:"Sets the path to the generated XUnit compatible result String, relative to outputDirectory. The String is in xml format. By default, the String name is derived from the testCasesDirectory parameter, replacing blanks in the directory name by underscores.",title:"Xunit File",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},rocketmq:{type:"object",title:"RocketMQ",group:"messaging",icon:"generic24.png",description:"Send and receive messages from RocketMQ cluster.",properties:{topicName:{kind:"path",type:"string",description:"Topic name of this endpoint.",title:"Topic Name",required:!0,deprecated:!1},namesrvAddr:{kind:"parameter",type:"string",defaultValue:"localhost:9876",description:"Name server address of RocketMQ cluster.",title:"Namesrv Addr",required:!1,deprecated:!1},consumerGroup:{kind:"parameter",type:"string",description:"Consumer group name.",title:"Consumer Group",required:!1,deprecated:!1},subscribeTags:{kind:"parameter",type:"string",defaultValue:"*",description:"Subscribe tags of consumer. Multiple tags could be split by , such as TagATagB",title:"Subscribe Tags",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},producerGroup:{kind:"parameter",type:"string",description:"Producer group name.",title:"Producer Group",required:!1,deprecated:!1},replyToConsumerGroup:{kind:"parameter",type:"string",description:"Consumer group name used for receiving response.",title:"Reply To Consumer Group",required:!1,deprecated:!1},replyToTopic:{kind:"parameter",type:"string",description:"Topic used for receiving response when using in-out pattern.",title:"Reply To Topic",required:!1,deprecated:!1},sendTag:{kind:"parameter",type:"string",description:"Each message would be sent with this tag.",title:"Send Tag",required:!1,deprecated:!1},waitForSendResult:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether waiting for send result before routing to next endpoint.",title:"Wait For Send Result",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},requestTimeoutCheckerIntervalMillis:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Check interval milliseconds of request timeout.",title:"Request Timeout Checker Interval Millis",required:!1,deprecated:!1},requestTimeoutMillis:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout milliseconds of receiving response when using in-out pattern.",title:"Request Timeout Millis",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for RocketMQ ACL.",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for RocketMQ ACL.",title:"Secret Key",required:!1,deprecated:!1}}},rss:{type:"object",title:"RSS",group:"document",icon:"generic24.png",description:"Poll RSS feeds.",properties:{feedUri:{kind:"path",type:"string",description:"The URI to the feed to poll.",title:"Feed Uri",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},sortEntries:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to sort entries by published date. Only works when splitEntries = true.",title:"Sort Entries",required:!1,deprecated:!1},splitEntries:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message",title:"Split Entries",required:!1,deprecated:!1},throttleEntries:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true.",title:"Throttle Entries",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},feedHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to add the feed object as a header.",title:"Feed Header",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},saga:{type:"object",title:"Saga",group:"clustering",icon:"generic24.png",description:"Execute custom actions within a route using the Saga EIP.",properties:{action:{kind:"path",type:"object",enum:["COMPLETE","COMPENSATE"],description:"Action to execute (complete or compensate)",title:"Action",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},salesforce:{type:"object",title:"Salesforce",group:"cloud,saas",icon:"generic24.png",description:"Communicate with Salesforce using Java DTOs.",properties:{operationName:{kind:"path",type:"object",enum:["getVersions","getResources","getGlobalObjects","getBasicInfo","getDescription","getSObject","createSObject","updateSObject","deleteSObject","getSObjectWithId","upsertSObject","deleteSObjectWithId","getBlobField","query","queryMore","queryAll","search","apexCall","recent","createJob","getJob","closeJob","abortJob","createBatch","getBatch","getAllBatches","getRequest","getResults","createBatchQuery","getQueryResultIds","getQueryResult","getRecentReports","getReportDescription","executeSyncReport","executeAsyncReport","getReportInstances","getReportResults","limits","approval","approvals","composite-tree","composite-batch","composite","compositeRetrieveSObjectCollections","compositeCreateSObjectCollections","compositeUpdateSObjectCollections","compositeUpsertSObjectCollections","compositeDeleteSObjectCollections","bulk2GetAllJobs","bulk2CreateJob","bulk2GetJob","bulk2CreateBatch","bulk2CloseJob","bulk2AbortJob","bulk2DeleteJob","bulk2GetSuccessfulResults","bulk2GetFailedResults","bulk2GetUnprocessedRecords","bulk2CreateQueryJob","bulk2GetQueryJob","bulk2GetAllQueryJobs","bulk2GetQueryJobResults","bulk2AbortQueryJob","bulk2DeleteQueryJob","raw","subscribe","pubSubSubscribe","pubSubPublish"],description:"The operation to use",title:"Operation Name",required:!0,deprecated:!1},topicName:{kind:"path",type:"string",description:"The name of the topic/channel to use",title:"Topic Name",required:!1,deprecated:!1},apexMethod:{kind:"parameter",type:"string",description:"APEX method name",title:"Apex Method",required:!1,deprecated:!1},apexQueryParams:{kind:"parameter",type:"object",description:"Query params for APEX method",title:"Apex Query Params",required:!1,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"56.0",description:"Salesforce API version.",title:"Api Version",required:!1,deprecated:!1},backoffIncrement:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect.",title:"Backoff Increment",required:!1,deprecated:!1},batchId:{kind:"parameter",type:"string",description:"Bulk API Batch ID",title:"Batch Id",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"object",enum:["XML","CSV","JSON","ZIP_XML","ZIP_CSV","ZIP_JSON"],description:"Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV",title:"Content Type",required:!1,deprecated:!1},defaultReplayId:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Default replayId setting if no value is found in initialReplayIdMap",title:"Default Replay Id",required:!1,deprecated:!1},fallBackReplayId:{kind:"parameter",type:"integer",defaultValue:"-1",description:"ReplayId to fall back to after an Invalid Replay Id response",title:"Fall Back Replay Id",required:!1,deprecated:!1},format:{kind:"parameter",type:"object",enum:["JSON","XML"],description:"Payload format to use for Salesforce API calls, either JSON or XML, defaults to JSON. As of Camel 3.12, this option only applies to the Raw operation.",title:"Format",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"Custom Jetty Http Client to use to connect to Salesforce.",title:"Http Client",required:!1,deprecated:!1},includeDetails:{kind:"parameter",type:"boolean",description:"Include details in Salesforce1 Analytics report, defaults to false.",title:"Include Details",required:!1,deprecated:!1},initialReplayIdMap:{kind:"parameter",type:"object",description:"Replay IDs to start from per channel name.",title:"Initial Replay Id Map",required:!1,deprecated:!1},instanceId:{kind:"parameter",type:"string",description:"Salesforce1 Analytics report execution instance ID",title:"Instance Id",required:!1,deprecated:!1},jobId:{kind:"parameter",type:"string",description:"Bulk API Job ID",title:"Job Id",required:!1,deprecated:!1},limit:{kind:"parameter",type:"integer",description:"Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation.",title:"Limit",required:!1,deprecated:!1},locator:{kind:"parameter",type:"string",description:"Locator provided by salesforce Bulk 2.0 API for use in getting results for a Query job.",title:"Locator",required:!1,deprecated:!1},maxBackoff:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect.",title:"Max Backoff",required:!1,deprecated:!1},maxRecords:{kind:"parameter",type:"integer",description:"The maximum number of records to retrieve per set of results for a Bulk 2.0 Query. The request is still subject to the size limits. If you are working with a very large number of query results, you may experience a timeout before receiving all the data from Salesforce. To prevent a timeout, specify the maximum number of records your client is expecting to receive in the maxRecords parameter. This splits the results into smaller sets with this value as the maximum size.",title:"Max Records",required:!1,deprecated:!1},notFoundBehaviour:{kind:"parameter",type:"object",defaultValue:"EXCEPTION",enum:["EXCEPTION","NULL"],description:"Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default.",title:"Not Found Behaviour",required:!1,deprecated:!1},notifyForFields:{kind:"parameter",type:"object",enum:["ALL","REFERENCED","SELECT","WHERE"],description:"Notify for fields, options are ALL, REFERENCED, SELECT, WHERE",title:"Notify For Fields",required:!1,deprecated:!1},notifyForOperationCreate:{kind:"parameter",type:"boolean",description:"Notify for create operation, defaults to false (API version >= 29.0)",title:"Notify For Operation Create",required:!1,deprecated:!1},notifyForOperationDelete:{kind:"parameter",type:"boolean",description:"Notify for delete operation, defaults to false (API version >= 29.0)",title:"Notify For Operation Delete",required:!1,deprecated:!1},notifyForOperations:{kind:"parameter",type:"object",enum:["ALL","CREATE","EXTENDED","UPDATE"],description:"Notify for operations, options are ALL, CREATE, EXTENDED, UPDATE (API version < 29.0)",title:"Notify For Operations",required:!1,deprecated:!1},notifyForOperationUndelete:{kind:"parameter",type:"boolean",description:"Notify for un-delete operation, defaults to false (API version >= 29.0)",title:"Notify For Operation Undelete",required:!1,deprecated:!1},notifyForOperationUpdate:{kind:"parameter",type:"boolean",description:"Notify for update operation, defaults to false (API version >= 29.0)",title:"Notify For Operation Update",required:!1,deprecated:!1},objectMapper:{kind:"parameter",type:"object",description:"Custom Jackson ObjectMapper to use when serializing/deserializing Salesforce objects.",title:"Object Mapper",required:!1,deprecated:!1},pkChunking:{kind:"parameter",type:"boolean",description:"Use PK Chunking. Only for use in original Bulk API. Bulk 2.0 API performs PK chunking automatically, if necessary.",title:"Pk Chunking",required:!1,deprecated:!1},pkChunkingChunkSize:{kind:"parameter",type:"integer",description:"Chunk size for use with PK Chunking. If unspecified, salesforce default is 100,000. Maximum size is 250,000.",title:"Pk Chunking Chunk Size",required:!1,deprecated:!1},pkChunkingParent:{kind:"parameter",type:"string",description:"Specifies the parent object when you're enabling PK chunking for queries on sharing objects. The chunks are based on the parent object's records rather than the sharing object's records. For example, when querying on AccountShare, specify Account as the parent object. PK chunking is supported for sharing objects as long as the parent object is supported.",title:"Pk Chunking Parent",required:!1,deprecated:!1},pkChunkingStartRow:{kind:"parameter",type:"string",description:"Specifies the 15-character or 18-character record ID to be used as the lower boundary for the first chunk. Use this parameter to specify a starting ID when restarting a job that failed between batches.",title:"Pk Chunking Start Row",required:!1,deprecated:!1},queryLocator:{kind:"parameter",type:"string",description:"Query Locator provided by salesforce for use when a query results in more records than can be retrieved in a single call. Use this value in a subsequent call to retrieve additional records.",title:"Query Locator",required:!1,deprecated:!1},rawPayload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use raw payload String for request and response (either JSON or XML depending on format), instead of DTOs, false by default",title:"Raw Payload",required:!1,deprecated:!1},reportId:{kind:"parameter",type:"string",description:"Salesforce1 Analytics report Id",title:"Report Id",required:!1,deprecated:!1},reportMetadata:{kind:"parameter",type:"object",description:"Salesforce1 Analytics report metadata for filtering",title:"Report Metadata",required:!1,deprecated:!1},resultId:{kind:"parameter",type:"string",description:"Bulk API Result ID",title:"Result Id",required:!1,deprecated:!1},sObjectBlobFieldName:{kind:"parameter",type:"string",description:"SObject blob field name",title:"SObject Blob Field Name",required:!1,deprecated:!1},sObjectClass:{kind:"parameter",type:"string",description:"Fully qualified SObject class name, usually generated using camel-salesforce-maven-plugin",title:"SObject Class",required:!1,deprecated:!1},sObjectFields:{kind:"parameter",type:"string",description:"SObject fields to retrieve",title:"SObject Fields",required:!1,deprecated:!1},sObjectId:{kind:"parameter",type:"string",description:"SObject ID if required by API",title:"SObject Id",required:!1,deprecated:!1},sObjectIdName:{kind:"parameter",type:"string",description:"SObject external ID field name",title:"SObject Id Name",required:!1,deprecated:!1},sObjectIdValue:{kind:"parameter",type:"string",description:"SObject external ID field value",title:"SObject Id Value",required:!1,deprecated:!1},sObjectName:{kind:"parameter",type:"string",description:"SObject name if required or supported by API",title:"SObject Name",required:!1,deprecated:!1},sObjectQuery:{kind:"parameter",type:"string",description:"Salesforce SOQL query string",title:"SObject Query",required:!1,deprecated:!1},sObjectSearch:{kind:"parameter",type:"string",description:"Salesforce SOSL search string",title:"SObject Search",required:!1,deprecated:!1},streamQueryResult:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, streams SOQL query result and transparently handles subsequent requests if there are multiple pages. Otherwise, results are returned one page at a time.",title:"Stream query result",required:!1,deprecated:!1},updateTopic:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to update an existing Push Topic when using the Streaming API, defaults to false",title:"Update Topic",required:!1,deprecated:!1},pubSubBatchSize:{kind:"parameter",type:"integer",defaultValue:"100",description:"Max number of events to receive in a batch from the Pub/Sub API.",title:"Pub Sub Batch Size",required:!1,deprecated:!1},pubSubDeserializeType:{kind:"parameter",type:"object",defaultValue:"AVRO",enum:["AVRO","SPECIFIC_RECORD","GENERIC_RECORD","POJO","JSON"],description:"How to deserialize events consume from the Pub/Sub API. AVRO will try a SpecificRecord subclass if found, otherwise GenericRecord.",title:"Pub Sub Deserialize Type",required:!1,deprecated:!1},pubSubPojoClass:{kind:"parameter",type:"string",description:"Fully qualified class name to deserialize Pub/Sub API event to.",title:"Pub Sub Pojo Class",required:!1,deprecated:!1},pubSubReplayId:{kind:"parameter",type:"string",description:"The replayId value to use when subscribing to the Pub/Sub API.",title:"Pub Sub Replay Id",required:!1,deprecated:!1},replayId:{kind:"parameter",type:"integer",description:"The replayId value to use when subscribing to the Streaming API.",title:"Replay Id",required:!1,deprecated:!1},replayPreset:{kind:"parameter",type:"object",defaultValue:"LATEST",enum:["LATEST","EARLIEST","CUSTOM"],description:"Replay preset for Pub/Sub API.",title:"Replay Preset",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},allOrNone:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Composite API option to indicate to rollback all records if any are not successful.",title:"All Or None",required:!1,deprecated:!1},apexUrl:{kind:"parameter",type:"string",description:"APEX method URL",title:"Apex Url",required:!1,deprecated:!1},compositeMethod:{kind:"parameter",type:"string",description:"Composite (raw) method.",title:"Composite Method",required:!1,deprecated:!1},rawHttpHeaders:{kind:"parameter",type:"string",description:"Comma separated list of message headers to include as HTTP parameters for Raw operation.",title:"Raw Http Headers",required:!1,deprecated:!1},rawMethod:{kind:"parameter",type:"string",description:"HTTP method to use for the Raw operation",title:"Raw Method",required:!1,deprecated:!1},rawPath:{kind:"parameter",type:"string",description:"The portion of the endpoint URL after the domain name. E.g., '/services/data/v52.0/sobjects/Account/'",title:"Raw Path",required:!1,deprecated:!1},rawQueryParameters:{kind:"parameter",type:"string",description:"Comma separated list of message headers to include as query parameters for Raw operation. Do not url-encode values as this will be done automatically.",title:"Raw Query Parameters",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"sap-netweaver":{type:"object",title:"SAP NetWeaver",group:"saas",icon:"generic24.png",description:"Send requests to SAP NetWeaver Gateway using HTTP.",properties:{url:{kind:"path",type:"string",description:"Url to the SAP net-weaver gateway server.",title:"Url",required:!0,deprecated:!1},flatternMap:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If the JSON Map contains only a single entry, then flattern by storing that single entry value as the message body.",title:"Flattern Map",required:!1,deprecated:!1},json:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to return data in JSON format. If this option is false, then XML is returned in Atom format.",title:"Json",required:!1,deprecated:!1},jsonAsMap:{kind:"parameter",type:"boolean",defaultValue:"true",description:"To transform the JSON from a String to a Map in the message body.",title:"Json As Map",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for account.",title:"Password",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for account.",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},scheduler:{type:"object",title:"Scheduler",group:"core,scheduling",icon:"generic24.png",description:"Generate messages in specified intervals using java.util.concurrent.ScheduledExecutorService.",properties:{name:{kind:"path",type:"string",description:"The name of the scheduler",title:"Name",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of core threads in the thread pool used by the scheduling thread pool. Is by default using a single thread",title:"Pool Size",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},schematron:{type:"object",title:"Schematron",group:"validation",icon:"generic24.png",description:"Validate XML payload using the Schematron Library.",properties:{path:{kind:"path",type:"string",description:"The path to the schematron rules file. Can either be in class path or location in the file system.",title:"Path",required:!0,deprecated:!1},abort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flag to abort the route and throw a schematron validation exception.",title:"Abort",required:!1,deprecated:!1},rules:{kind:"parameter",type:"object",description:"To use the given schematron rules instead of loading from the path",title:"Rules",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},uriResolver:{kind:"parameter",type:"object",description:"Set the URIResolver to be used for resolving schematron includes in the rules file.",title:"Uri Resolver",required:!1,deprecated:!1}}},scp:{type:"object",title:"SCP",group:"file",icon:"generic24.png",description:"Copy files to/from remote hosts using the secure copy protocol (SCP).",properties:{host:{kind:"path",type:"string",description:"Hostname of the FTP server",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port of the FTP server",title:"Port",required:!1,deprecated:!1},directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!1,deprecated:!1},chmod:{kind:"parameter",type:"string",defaultValue:"664",description:"Allows you to set chmod on the stored file. For example chmod=664.",title:"Chmod",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.",title:"Disconnect",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},strictHostKeyChecking:{kind:"parameter",type:"string",defaultValue:"no",enum:["no","yes"],description:"Sets whether to use strict host key checking. Possible values are: no, yes",title:"Strict Host Key Checking",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},disconnectOnBatchComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.",title:"Disconnect On Batch Complete",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH",title:"Connect Timeout",required:!1,deprecated:!1},soTimeout:{kind:"parameter",type:"duration",defaultValue:"300000",description:"Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended option is to set this to 300000 so as not have a hanged connection. On SFTP this option is set as timeout on the JSCH Session instance.",title:"So Timeout",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Sets the data timeout for waiting for reply Used only by FTPClient",title:"Timeout",required:!1,deprecated:!1},knownHostsFile:{kind:"parameter",type:"string",description:"Sets the known_hosts file, so that the jsch endpoint can do host key verification. You can prefix with classpath: to load the file from classpath instead of file system.",title:"Known Hosts File",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use for login",title:"Password",required:!1,deprecated:!1},preferredAuthentications:{kind:"parameter",type:"string",description:"Set a comma separated list of authentications that will be used in order of preference. Possible authentication methods are defined by JCraft JSCH. Some examples include: gssapi-with-mic,publickey,keyboard-interactive,password If not specified the JSCH and/or system defaults will be used.",title:"Preferred Authentications",required:!1,deprecated:!1},privateKeyBytes:{kind:"parameter",type:"string",description:"Set the private key bytes to that the endpoint can do private key verification. This must be used only if privateKeyFile wasn't set. Otherwise the file will have the priority.",title:"Private Key Bytes",required:!1,deprecated:!1},privateKeyFile:{kind:"parameter",type:"string",description:"Set the private key file to that the endpoint can do private key verification. You can prefix with classpath: to load the file from classpath instead of file system.",title:"Private Key File",required:!1,deprecated:!1},privateKeyFilePassphrase:{kind:"parameter",type:"string",description:"Set the private key file passphrase to that the endpoint can do private key verification.",title:"Private Key File Passphrase",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use for login",title:"Username",required:!1,deprecated:!1},useUserKnownHostsFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If knownHostFile has not been explicit configured, then use the host file from System.getProperty(user.home) /.ssh/known_hosts",title:"Use User Known Hosts File",required:!1,deprecated:!1},ciphers:{kind:"parameter",type:"string",description:"Set a comma separated list of ciphers that will be used in order of preference. Possible cipher names are defined by JCraft JSCH. Some examples include: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc. If not specified the default list from JSCH will be used.",title:"Ciphers",required:!1,deprecated:!1}}},seda:{type:"object",title:"SEDA",group:"core,messaging",icon:"generic24.png",description:"Asynchronously call another endpoint from any Camel Context in the same JVM.",properties:{name:{kind:"path",type:"string",description:"Name of queue",title:"Name",required:!0,deprecated:!1},size:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The maximum capacity of the SEDA queue (i.e., the number of messages it can hold). Will by default use the defaultSize set on the SEDA component.",title:"Size",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of concurrent threads processing exchanges.",title:"Concurrent Consumers",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},limitConcurrentConsumers:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit the number of concurrentConsumers to the maximum of 500. By default, an exception will be thrown if an endpoint is configured with a greater number. You can disable that check by turning this option off.",title:"Limit Concurrent Consumers",required:!1,deprecated:!1},multipleConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether multiple consumers are allowed. If enabled, you can use SEDA for Publish-Subscribe messaging. That is, you can send a message to the SEDA queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint.",title:"Multiple Consumers",required:!1,deprecated:!1},pollTimeout:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The timeout (in milliseconds) used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown.",title:"Poll Timeout",required:!1,deprecated:!1},purgeWhenStopping:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is discarded.",title:"Purge When Stopping",required:!1,deprecated:!1},blockWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will instead block and wait until the message can be accepted.",title:"Block When Full",required:!1,deprecated:!1},discardIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the producer should discard the message (do not add the message to the queue), when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsumers can be enabled at the same time.",title:"Discard If No Consumers",required:!1,deprecated:!1},discardWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full SEDA queue will be discarded. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will give up sending and continue, meaning that the message was not sent to the SEDA queue.",title:"Discard When Full",required:!1,deprecated:!1},failIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the producer should fail by throwing an exception, when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsumers can be enabled at the same time.",title:"Fail If No Consumers",required:!1,deprecated:!1},offerTimeout:{kind:"parameter",type:"duration",description:"Offer timeout (in milliseconds) can be added to the block case when queue is full. You can disable timeout by using 0 or a negative value.",title:"Offer Timeout",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. You can disable timeout by using 0 or a negative value.",title:"Timeout",required:!1,deprecated:!1},waitForTaskToComplete:{kind:"parameter",type:"object",defaultValue:"IfReplyExpected",enum:["Never","IfReplyExpected","Always"],description:"Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: Always, Never or IfReplyExpected. The first two values are self-explanatory. The last value, IfReplyExpected, will only wait if the message is Request Reply based. The default option is IfReplyExpected.",title:"Wait For Task To Complete",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},queue:{kind:"parameter",type:"object",description:"Define the queue instance which will be used by the endpoint",title:"Queue",required:!1,deprecated:!1}}},service:{type:"object",title:"Service",group:"cloud",icon:"generic24.png",description:"Register a Camel endpoint to a Service Registry (such as Consul, Etcd) and delegate to it.",properties:{delegateUri:{kind:"path",type:"string",description:"The endpoint uri to expose as service",title:"Delegate Uri",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},servicenow:{type:"object",title:"ServiceNow",group:"api,cloud,management",icon:"generic24.png",description:"Interact with ServiceNow via its REST API.",properties:{instanceName:{kind:"path",type:"string",description:"The ServiceNow instance name",title:"Instance Name",required:!0,deprecated:!1},display:{kind:"parameter",type:"string",defaultValue:"true",enum:["false","true","all"],description:"Set this parameter to true to return only scorecards where the indicator Display field is selected. Set this parameter to all to return scorecards with any Display field value. This parameter is true by default.",title:"Display",required:!1,deprecated:!1},displayValue:{kind:"parameter",type:"string",defaultValue:"false",enum:["false","true","all"],description:"Return the display value (true), actual value (false), or both (all) for reference fields (default: false)",title:"Display Value",required:!1,deprecated:!1},excludeReferenceLink:{kind:"parameter",type:"boolean",description:"True to exclude Table API links for reference fields (default: false)",title:"Exclude Reference Link",required:!1,deprecated:!1},favorites:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return only scorecards that are favorites of the querying user.",title:"Favorites",required:!1,deprecated:!1},includeAggregates:{kind:"parameter",type:"boolean",description:"Set this parameter to true to always return all available aggregates for an indicator, including when an aggregate has already been applied. If a value is not specified, this parameter defaults to false and returns no aggregates.",title:"Include Aggregates",required:!1,deprecated:!1},includeAvailableAggregates:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return all available aggregates for an indicator when no aggregate has been applied. If a value is not specified, this parameter defaults to false and returns no aggregates.",title:"Include Available Aggregates",required:!1,deprecated:!1},includeAvailableBreakdowns:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return all available breakdowns for an indicator. If a value is not specified, this parameter defaults to false and returns no breakdowns.",title:"Include Available Breakdowns",required:!1,deprecated:!1},includeScoreNotes:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return all notes associated with the score. The note element contains the note text as well as the author and timestamp when the note was added.",title:"Include Score Notes",required:!1,deprecated:!1},includeScores:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return all scores for a scorecard. If a value is not specified, this parameter defaults to false and returns only the most recent score value.",title:"Include Scores",required:!1,deprecated:!1},inputDisplayValue:{kind:"parameter",type:"boolean",description:"True to set raw value of input fields (default: false)",title:"Input Display Value",required:!1,deprecated:!1},key:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return only scorecards for key indicators.",title:"Key",required:!1,deprecated:!1},models:{kind:"parameter",type:"object",description:"Defines both request and response models",title:"Models",required:!1,deprecated:!1},perPage:{kind:"parameter",type:"integer",defaultValue:"10",description:"Enter the maximum number of scorecards each query can return. By default this value is 10, and the maximum is 100.",title:"Per Page",required:!1,deprecated:!1},release:{kind:"parameter",type:"object",defaultValue:"HELSINKI",enum:["FUJI","GENEVA","HELSINKI"],description:"The ServiceNow release to target, default to Helsinki See https://docs.servicenow.com",title:"Release",required:!1,deprecated:!1},requestModels:{kind:"parameter",type:"object",description:"Defines the request model",title:"Request Models",required:!1,deprecated:!1},resource:{kind:"parameter",type:"string",description:"The default resource, can be overridden by header CamelServiceNowResource",title:"Resource",required:!1,deprecated:!1},responseModels:{kind:"parameter",type:"object",description:"Defines the response model",title:"Response Models",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",enum:["value","change","changeperc","gap","gapperc","duedate","name","order","default","group","indicator_group","frequency","target","date","trend","bullet","direction"],description:"Specify the value to use when sorting results. By default, queries sort records by value.",title:"Sort By",required:!1,deprecated:!1},sortDir:{kind:"parameter",type:"string",enum:["asc","desc"],description:"Specify the sort direction, ascending or descending. By default, queries sort records in descending order. Use sysparm_sortdir=asc to sort in ascending order.",title:"Sort Dir",required:!1,deprecated:!1},suppressAutoSysField:{kind:"parameter",type:"boolean",description:"True to suppress auto generation of system fields (default: false)",title:"Suppress Auto Sys Field",required:!1,deprecated:!1},suppressPaginationHeader:{kind:"parameter",type:"boolean",description:"Set this value to true to remove the Link header from the response. The Link header allows you to request additional pages of data when the number of records matching your query exceeds the query limit",title:"Suppress Pagination Header",required:!1,deprecated:!1},table:{kind:"parameter",type:"string",description:"The default table, can be overridden by header CamelServiceNowTable",title:"Table",required:!1,deprecated:!1},target:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return only scorecards that have a target.",title:"Target",required:!1,deprecated:!1},topLevelOnly:{kind:"parameter",type:"boolean",description:"Gets only those categories whose parent is a catalog.",title:"Top Level Only",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The ServiceNow REST API version, default latest",title:"Api Version",required:!1,deprecated:!1},dateFormat:{kind:"parameter",type:"string",defaultValue:"yyyy-MM-dd",description:"The date format used for Json serialization/deserialization",title:"Date Format",required:!1,deprecated:!1},dateTimeFormat:{kind:"parameter",type:"string",defaultValue:"yyyy-MM-dd HH:mm:ss",description:"The date-time format used for Json serialization/deserialization",title:"Date Time Format",required:!1,deprecated:!1},httpClientPolicy:{kind:"parameter",type:"object",description:"To configure http-client",title:"Http Client Policy",required:!1,deprecated:!1},mapper:{kind:"parameter",type:"object",description:"Sets Jackson's ObjectMapper to use for request/reply",title:"Mapper",required:!1,deprecated:!1},proxyAuthorizationPolicy:{kind:"parameter",type:"object",description:"To configure proxy authentication",title:"Proxy Authorization Policy",required:!1,deprecated:!1},retrieveTargetRecordOnImport:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this parameter to true to retrieve the target record when using import set api. The import set result is then replaced by the target record",title:"Retrieve Target Record On Import",required:!1,deprecated:!1},timeFormat:{kind:"parameter",type:"string",defaultValue:"HH:mm:ss",description:"The time format used for Json serialization/deserialization",title:"Time Format",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"The proxy host name",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"The proxy port number",title:"Proxy Port",required:!1,deprecated:!1},apiUrl:{kind:"parameter",type:"string",description:"The ServiceNow REST API url",title:"Api Url",required:!1,deprecated:!1},oauthClientId:{kind:"parameter",type:"string",description:"OAuth2 ClientID",title:"Oauth Client Id",required:!1,deprecated:!1},oauthClientSecret:{kind:"parameter",type:"string",description:"OAuth2 ClientSecret",title:"Oauth Client Secret",required:!1,deprecated:!1},oauthTokenUrl:{kind:"parameter",type:"string",description:"OAuth token Url",title:"Oauth Token Url",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"ServiceNow account password, MUST be provided",title:"Password",required:!0,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Password for proxy authentication",title:"Proxy Password",required:!1,deprecated:!1},proxyUserName:{kind:"parameter",type:"string",description:"Username for proxy authentication",title:"Proxy User Name",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters. See http://camel.apache.org/camel-configuration-utilities.html",title:"Ssl Context Parameters",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"ServiceNow user account name, MUST be provided",title:"User Name",required:!0,deprecated:!1}}},servlet:{type:"object",title:"Servlet",group:"http",icon:"generic24.png",description:"Serve HTTP requests by a Servlet.",properties:{contextPath:{kind:"path",type:"string",description:"The context-path to use",title:"Context Path",required:!0,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",title:"Disable Stream Cache",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},httpBinding:{kind:"parameter",type:"object",description:"To use a custom HttpBinding to control the mapping between Camel message and HttpClient.",title:"Http Binding",required:!1,deprecated:!1},async:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configure the consumer to work in async mode",title:"Async",required:!1,deprecated:!1},chunked:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is false the Servlet will disable the HTTP streaming and set the content-length header on the response",title:"Chunked",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple methods can be specified separated by comma.",title:"Http Method Restrict",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},responseBufferSize:{kind:"parameter",type:"integer",description:"To use a custom buffer size on the jakarta.servlet.ServletResponse.",title:"Response Buffer Size",required:!1,deprecated:!1},servletName:{kind:"parameter",type:"string",defaultValue:"CamelServlet",description:"Name of the servlet to use",title:"Servlet Name",required:!1,deprecated:!1},attachmentMultipartBinding:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to automatic bind multipart/form-data as attachments on the Camel Exchange. The options attachmentMultipartBinding=true and disableStreamCache=false cannot work together. Remove disableStreamCache to use AttachmentMultipartBinding. This is turn off by default as this may require servlet specific configuration to enable this when using Servlet's.",title:"Attachment Multipart Binding",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eagerCheckContentAvailable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to eager check whether the HTTP requests has content if the content-length header is 0 or not present. This can be turned on in case HTTP clients do not send streamed data.",title:"Eager Check Content Available",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},fileNameExtWhitelist:{kind:"parameter",type:"string",description:"Whitelist of accepted filename extensions for accepting uploaded files. Multiple extensions can be separated by comma, such as txt,xml.",title:"File Name Ext Whitelist",required:!1,deprecated:!1},mapHttpMessageBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",title:"Map Http Message Body",required:!1,deprecated:!1},mapHttpMessageFormUrlEncodedBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.",title:"Map Http Message Form Url Encoded Body",required:!1,deprecated:!1},mapHttpMessageHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping.",title:"Map Http Message Headers",required:!1,deprecated:!1},optionsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",title:"Options Enabled",required:!1,deprecated:!1},traceEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off.",title:"Trace Enabled",required:!1,deprecated:!1}}},sftp:{type:"object",title:"SFTP",group:"file",icon:"generic24.png",description:"Upload and download files to/from SFTP servers.",properties:{host:{kind:"path",type:"string",description:"Hostname of the FTP server",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port of the FTP server",title:"Port",required:!1,deprecated:!1},directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!1,deprecated:!1},binary:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false).",title:"Binary",required:!1,deprecated:!1},charset:{kind:"parameter",type:"string",description:"This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the data into the configured charset, so do not use this if you have big messages.",title:"Charset",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.",title:"Disconnect",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},jschLoggingLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default.",title:"Jsch Logging Level",required:!1,deprecated:!1},passiveMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets passive mode connections. Default is active mode connections.",title:"Passive Mode",required:!1,deprecated:!1},separator:{kind:"parameter",type:"object",defaultValue:"UNIX",enum:["UNIX","Windows","Auto"],description:"Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name",title:"Separator",required:!1,deprecated:!1},fastExistsCheck:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has a lot of files.",title:"Fast Exists Check",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file will be deleted after it is processed successfully.",title:"Delete",required:!1,deprecated:!1},moveFailed:{kind:"parameter",type:"string",description:"Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",title:"Move Failed",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",title:"Noop",required:!1,deprecated:!1},preMove:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",title:"Pre Move",required:!1,deprecated:!1},preSort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",title:"Pre Sort",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If a directory, will look for files in all the sub-directories as well.",title:"Recursive",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time.",title:"Stream Download",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},download:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded.",title:"Download",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},ignoreFileNotFoundOrPermissionError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead.",title:"Ignore File Not Found Or Permission Error",required:!1,deprecated:!1},inProgressRepository:{kind:"parameter",type:"object",description:"A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",title:"In Progress Repository",required:!1,deprecated:!1},localWorkDirectory:{kind:"parameter",type:"string",description:"When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",title:"Local Work Directory",required:!1,deprecated:!1},onCompletionExceptionHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",title:"On Completion Exception Handler",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",title:"Process Strategy",required:!1,deprecated:!1},useList:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using LIST command when downloading a file. Default is true. In some use cases you may want to download a specific file and are not allowed to use the LIST command, and therefore you can set this option to false. Notice when using this option, then the specific file to download does not include meta-data information such as file size, timestamp, permissions etc, because those information is only possible to retrieve when LIST command is in use.",title:"Use List",required:!1,deprecated:!1},fileExist:{kind:"parameter",type:"object",defaultValue:"Override",enum:["Override","Append","Fail","Ignore","Move","TryRename"],description:"What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. The option eagerDeleteTargetFile can be used to control what to do if an moving the file, and there exists already an existing file, otherwise causing the move operation to fail. The Move option will move any existing files, before writing the target file. - TryRename is only applicable if tempFileName option is in use. This allows to try renaming the file from the temporary name to the actual name, without doing any exists check. This check may be faster on some file systems and especially FTP servers.",title:"File Exist",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},moveExisting:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language tokens: file:name, file:name.ext, file:name.noext, file:onlyname, file:onlyname.noext, file:ext, and file:parent. Notice the file:parent is not supported by the FTP component, as the FTP component can only move any existing files to a relative directory based on current dir as base.",title:"Move Existing",required:!1,deprecated:!1},tempFileName:{kind:"parameter",type:"string",description:"The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the option 'fileName', not the target directory in the base uri. For example if option fileName includes a directory prefix: dir/finalFilename then tempFileName is relative to that subdirectory dir.",title:"Temp File Name",required:!1,deprecated:!1},tempPrefix:{kind:"parameter",type:"string",description:"This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read locks) reading in progress files. Is often used by FTP when uploading big files.",title:"Temp Prefix",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},chmod:{kind:"parameter",type:"string",description:"Allows you to set chmod on the stored file. For example chmod=640.",title:"Chmod",required:!1,deprecated:!1},chmodDirectory:{kind:"parameter",type:"string",description:"Allows you to set chmod during path creation. For example chmod=640.",title:"Chmod Directory",required:!1,deprecated:!1},disconnectOnBatchComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.",title:"Disconnect On Batch Complete",required:!1,deprecated:!1},eagerDeleteTargetFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before the temp file is being renamed to the target filename. This option is also used to control whether to delete any existing files when fileExist=Move is enabled, and an existing file exists. If this option copyAndDeleteOnRenameFails false, then an exception will be thrown if an existing file existed, if its true, then the existing file is deleted before the move operation.",title:"Eager Delete Target File",required:!1,deprecated:!1},keepLastModified:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers.",title:"Keep Last Modified",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},sendNoop:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off.",title:"Send Noop",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",title:"Auto Create",required:!1,deprecated:!1},bindAddress:{kind:"parameter",type:"string",description:"Specifies the address of the local interface against which the connection should bind.",title:"Bind Address",required:!1,deprecated:!1},bulkRequests:{kind:"parameter",type:"integer",description:"Specifies how many requests may be outstanding at any one time. Increasing this value may slightly improve file transfer speed but will increase memory usage.",title:"Bulk Requests",required:!1,deprecated:!1},compression:{kind:"parameter",type:"integer",description:"To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to the classpath for compression support.",title:"Compression",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH",title:"Connect Timeout",required:!1,deprecated:!1},existDirCheckUsingLs:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to check for existing directory using LS command or CD. By default LS is used which is safer as otherwise Camel needs to change the directory back after checking. However LS has been reported to cause a problem on windows system in some situations and therefore you can disable this option to use CD.",title:"Exist Dir Check Using Ls",required:!1,deprecated:!1},filenameEncoding:{kind:"parameter",type:"string",description:"Encoding to use for FTP client when parsing filenames. By default, UTF-8 is used.",title:"Filename Encoding",required:!1,deprecated:!1},maximumReconnectAttempts:{kind:"parameter",type:"integer",description:"Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.",title:"Maximum Reconnect Attempts",required:!1,deprecated:!1},proxy:{kind:"parameter",type:"object",description:"To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume/send messages from the target SFTP host.",title:"Proxy",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Delay in millis Camel will wait before performing a reconnect attempt.",title:"Reconnect Delay",required:!1,deprecated:!1},serverAliveCountMax:{kind:"parameter",type:"integer",defaultValue:"1",description:"Sets the number of keep-alive messages which may be sent without receiving any messages back from the server. If this threshold is reached while keep-alive messages are being sent, the connection will be disconnected. The default value is one.",title:"Server Alive Count Max",required:!1,deprecated:!1},serverAliveInterval:{kind:"parameter",type:"integer",description:"Sets the interval (millis) to send a keep-alive message. If zero is specified, any keep-alive message must not be sent. The default interval is zero.",title:"Server Alive Interval",required:!1,deprecated:!1},soTimeout:{kind:"parameter",type:"duration",defaultValue:"300000",description:"Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended option is to set this to 300000 so as not have a hanged connection. On SFTP this option is set as timeout on the JSCH Session instance.",title:"So Timeout",required:!1,deprecated:!1},stepwise:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether we should stepwise change directories while traversing file structures when downloading files, or as well when uploading a file to a directory. You can disable this if you for example are in a situation where you cannot change directory on the FTP server due security reasons. Stepwise cannot be used together with streamDownload.",title:"Stepwise",required:!1,deprecated:!1},throwExceptionOnConnectFailed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should an exception be thrown if connection failed (exhausted)By default exception is not thrown and a WARN is logged. You can use this to enable exception being thrown and handle the thrown exception from the org.apache.camel.spi.PollingConsumerPollStrategy rollback method.",title:"Throw Exception On Connect Failed",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Sets the data timeout for waiting for reply Used only by FTPClient",title:"Timeout",required:!1,deprecated:!1},antExclude:{kind:"parameter",type:"string",description:"Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",title:"Ant Exclude",required:!1,deprecated:!1},antFilterCaseSensitive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets case sensitive flag on ant filter.",title:"Ant Filter Case Sensitive",required:!1,deprecated:!1},antInclude:{kind:"parameter",type:"string",description:"Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",title:"Ant Include",required:!1,deprecated:!1},eagerMaxMessagesPerPoll:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",title:"Eager Max Messages Per Poll",required:!1,deprecated:!1},exclude:{kind:"parameter",type:"string",description:"Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Exclude",required:!1,deprecated:!1},excludeExt:{kind:"parameter",type:"string",description:"Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Exclude Ext",required:!1,deprecated:!1},filter:{kind:"parameter",type:"object",description:"Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",title:"Filter",required:!1,deprecated:!1},filterDirectory:{kind:"parameter",type:"string",description:"Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",title:"Filter Directory",required:!1,deprecated:!1},filterFile:{kind:"parameter",type:"string",description:"Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",title:"Filter File",required:!1,deprecated:!1},idempotent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",title:"Idempotent",required:!1,deprecated:!1},idempotentKey:{kind:"parameter",type:"string",description:"To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",title:"Idempotent Key",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",title:"Idempotent Repository",required:!1,deprecated:!1},include:{kind:"parameter",type:"string",description:"Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Include",required:!1,deprecated:!1},includeExt:{kind:"parameter",type:"string",description:"Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Include Ext",required:!1,deprecated:!1},maxDepth:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum depth to traverse when recursively processing a directory.",title:"Max Depth",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",title:"Max Messages Per Poll",required:!1,deprecated:!1},minDepth:{kind:"parameter",type:"integer",description:"The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",title:"Min Depth",required:!1,deprecated:!1},move:{kind:"parameter",type:"string",description:"Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",title:"Move",required:!1,deprecated:!1},exclusiveReadLockStrategy:{kind:"parameter",type:"object",description:"Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",title:"Exclusive Read Lock Strategy",required:!1,deprecated:!1},readLock:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","markerFile","fileLock","rename","changed","idempotent","idempotent-changed","idempotent-rename"],description:"Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan.",title:"Read Lock",required:!1,deprecated:!1},readLockCheckInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Check Interval",required:!1,deprecated:!1},readLockDeleteOrphanLockFiles:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",title:"Read Lock Delete Orphan Lock Files",required:!1,deprecated:!1},readLockIdempotentReleaseAsync:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Async",required:!1,deprecated:!1},readLockIdempotentReleaseAsyncPoolSize:{kind:"parameter",type:"integer",description:"The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Async Pool Size",required:!1,deprecated:!1},readLockIdempotentReleaseDelay:{kind:"parameter",type:"integer",description:"Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if you have configured readLockRemoveOnCommit to true.",title:"Read Lock Idempotent Release Delay",required:!1,deprecated:!1},readLockIdempotentReleaseExecutorService:{kind:"parameter",type:"object",description:"To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Executor Service",required:!1,deprecated:!1},readLockLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename.",title:"Read Lock Logging Level",required:!1,deprecated:!1},readLockMarkerFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",title:"Read Lock Marker File",required:!1,deprecated:!1},readLockMinAge:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",title:"Read Lock Min Age",required:!1,deprecated:!1},readLockMinLength:{kind:"parameter",type:"integer",defaultValue:"1",description:"This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",title:"Read Lock Min Length",required:!1,deprecated:!1},readLockRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Remove On Commit",required:!1,deprecated:!1},readLockRemoveOnRollback:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",title:"Read Lock Remove On Rollback",required:!1,deprecated:!1},readLockTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},ciphers:{kind:"parameter",type:"string",description:"Set a comma separated list of ciphers that will be used in order of preference. Possible cipher names are defined by JCraft JSCH. Some examples include: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc. If not specified the default list from JSCH will be used.",title:"Ciphers",required:!1,deprecated:!1},keyExchangeProtocols:{kind:"parameter",type:"string",description:"Set a comma separated list of key exchange protocols that will be used in order of preference. Possible cipher names are defined by JCraft JSCH. Some examples include: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1, diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521. If not specified the default list from JSCH will be used.",title:"Key Exchange Protocols",required:!1,deprecated:!1},keyPair:{kind:"parameter",type:"object",description:"Sets a key pair of the public and private key so to that the SFTP endpoint can do public/private key verification.",title:"Key Pair",required:!1,deprecated:!1},knownHosts:{kind:"parameter",type:"string",description:"Sets the known_hosts from the byte array, so that the SFTP endpoint can do host key verification.",title:"Known Hosts",required:!1,deprecated:!1},knownHostsFile:{kind:"parameter",type:"string",description:"Sets the known_hosts file, so that the SFTP endpoint can do host key verification.",title:"Known Hosts File",required:!1,deprecated:!1},knownHostsUri:{kind:"parameter",type:"string",description:"Sets the known_hosts file (loaded from classpath by default), so that the SFTP endpoint can do host key verification.",title:"Known Hosts Uri",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use for login",title:"Password",required:!1,deprecated:!1},preferredAuthentications:{kind:"parameter",type:"string",description:"Set the preferred authentications which SFTP endpoint will used. Some example include:password,publickey. If not specified the default list from JSCH will be used.",title:"Preferred Authentications",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"string",description:"Set the private key as byte so that the SFTP endpoint can do private key verification.",title:"Private Key",required:!1,deprecated:!1},privateKeyFile:{kind:"parameter",type:"string",description:"Set the private key file so that the SFTP endpoint can do private key verification.",title:"Private Key File",required:!1,deprecated:!1},privateKeyPassphrase:{kind:"parameter",type:"string",description:"Set the private key file passphrase so that the SFTP endpoint can do private key verification.",title:"Private Key Passphrase",required:!1,deprecated:!1},privateKeyUri:{kind:"parameter",type:"string",description:"Set the private key file (loaded from classpath by default) so that the SFTP endpoint can do private key verification.",title:"Private Key Uri",required:!1,deprecated:!1},publicKeyAcceptedAlgorithms:{kind:"parameter",type:"string",description:"Set a comma separated list of public key accepted algorithms. Some examples include: ssh-dss,ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521. If not specified the default list from JSCH will be used.",title:"Public Key Accepted Algorithms",required:!1,deprecated:!1},serverHostKeys:{kind:"parameter",type:"string",description:"Set a comma separated list of algorithms supported for the server host key. Some examples include: ssh-dss,ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521. If not specified the default list from JSCH will be used.",title:"Server Host Keys",required:!1,deprecated:!1},strictHostKeyChecking:{kind:"parameter",type:"string",defaultValue:"no",enum:["no","yes"],description:"Sets whether to use strict host key checking.",title:"Strict Host Key Checking",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use for login",title:"Username",required:!1,deprecated:!1},useUserKnownHostsFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If knownHostFile has not been explicit configured then use the host file from System.getProperty(user.home)/.ssh/known_hosts",title:"Use User Known Hosts File",required:!1,deprecated:!1},shuffle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To shuffle the list of files (sort in random order)",title:"Shuffle",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",description:"Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",title:"Sort By",required:!1,deprecated:!1},sorter:{kind:"parameter",type:"object",description:"Pluggable sorter as a java.util.Comparator class.",title:"Sorter",required:!1,deprecated:!1}}},sjms:{type:"object",title:"Simple JMS",group:"messaging",icon:"generic24.png",description:"Send and receive messages to/from a JMS Queue or Topic using plain JMS 1.x API.",properties:{destinationType:{kind:"path",type:"string",defaultValue:"queue",enum:["queue","topic"],description:"The kind of destination to use",title:"Destination Type",required:!1,deprecated:!1},destinationName:{kind:"path",type:"string",description:"DestinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name.",title:"Destination Name",required:!0,deprecated:!1},acknowledgementMode:{kind:"parameter",type:"object",defaultValue:"AUTO_ACKNOWLEDGE",enum:["SESSION_TRANSACTED","CLIENT_ACKNOWLEDGE","AUTO_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"],description:"The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",title:"Acknowledgement Mode",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",title:"Reply To",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",title:"Async Consumer",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead.",title:"Client Id",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Concurrent Consumers",required:!1,deprecated:!1},durableSubscriptionName:{kind:"parameter",type:"string",description:"The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",title:"Durable Subscription Name",required:!1,deprecated:!1},replyToDeliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to use persistent delivery by default for replies.",title:"Reply To Delivery Persistent",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eagerLoadingOfProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",title:"Eager Loading Of Properties",required:!1,deprecated:!1},eagerPoisonBody:{kind:"parameter",type:"string",defaultValue:"Poison JMS message due to ${exception.message}",description:"If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",title:"Eager Poison Body",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},messageSelector:{kind:"parameter",type:"string",description:"Sets the JMS Message selector syntax.",title:"Message Selector",required:!1,deprecated:!1},replyToSameDestinationAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",title:"Reply To Same Destination Allowed",required:!1,deprecated:!1},deliveryMode:{kind:"parameter",type:"integer",enum:["1","2"],description:"Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",title:"Delivery Mode",required:!1,deprecated:!1},deliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether persistent delivery is used by default.",title:"Delivery Persistent",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",defaultValue:"4",enum:["1","2","3","4","5","6","7","8","9"],description:"Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",title:"Priority",required:!1,deprecated:!1},replyToConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Concurrent Consumers",required:!1,deprecated:!1},replyToOverride:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",title:"Reply To Override",required:!1,deprecated:!1},replyToType:{kind:"parameter",type:"object",enum:["Temporary","Exclusive"],description:"Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Exclusive is used.",title:"Reply To Type",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"duration",defaultValue:"20000",description:"The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.",title:"Request Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"integer",defaultValue:"-1",description:"When sending messages, specifies the time-to-live of the message (in milliseconds).",title:"Time To Live",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},disableTimeToLive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expire on the receiver system. See below in section About time to live for more details.",title:"Disable Time To Live",required:!1,deprecated:!1},explicitQosEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",title:"Explicit Qos Enabled",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},preserveMessageQos:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header.",title:"Preserve Message Qos",required:!1,deprecated:!1},asyncStartListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to startup the consumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that if the connection could not be established, then an exception is logged at WARN level, and the consumer will not be able to receive messages; You can then restart the route to retry.",title:"Async Start Listener",required:!1,deprecated:!1},asyncStopListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to stop the consumer message listener asynchronously, when stopping a route.",title:"Async Stop Listener",required:!1,deprecated:!1},destinationCreationStrategy:{kind:"parameter",type:"object",description:"To use a custom DestinationCreationStrategy.",title:"Destination Creation Strategy",required:!1,deprecated:!1},exceptionListener:{kind:"parameter",type:"object",description:"Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.",title:"Exception Listener",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},includeAllJMSXProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",title:"Include All JMSXProperties",required:!1,deprecated:!1},jmsKeyFormatStrategy:{kind:"parameter",type:"object",description:"Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.",title:"Jms Key Format Strategy",required:!1,deprecated:!1},mapJmsMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc. See section about how mapping works below for more details.",title:"Map Jms Message",required:!1,deprecated:!1},messageCreatedStrategy:{kind:"parameter",type:"object",description:"To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message.",title:"Message Created Strategy",required:!1,deprecated:!1},recoveryInterval:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds.",title:"Recovery Interval",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The caught exception is required to be serializable. The original Exception on the consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException when returned to the producer. Use this with caution as the data is using Java Object serialization and requires the received to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumer!",title:"Transfer Exception",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to use transacted mode",title:"Transacted",required:!1,deprecated:!1}}},sjms2:{type:"object",title:"Simple JMS2",group:"messaging",icon:"generic24.png",description:"Send and receive messages to/from a JMS Queue or Topic using plain JMS 2.x API.",properties:{destinationType:{kind:"path",type:"string",defaultValue:"queue",enum:["queue","topic"],description:"The kind of destination to use",title:"Destination Type",required:!1,deprecated:!1},destinationName:{kind:"path",type:"string",description:"DestinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name.",title:"Destination Name",required:!0,deprecated:!1},acknowledgementMode:{kind:"parameter",type:"object",defaultValue:"AUTO_ACKNOWLEDGE",enum:["SESSION_TRANSACTED","CLIENT_ACKNOWLEDGE","AUTO_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"],description:"The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",title:"Acknowledgement Mode",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",title:"Reply To",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",title:"Async Consumer",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead.",title:"Client Id",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Concurrent Consumers",required:!1,deprecated:!1},durable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the topic to be durable",title:"Durable",required:!1,deprecated:!1},durableSubscriptionName:{kind:"parameter",type:"string",description:"The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",title:"Durable Subscription Name",required:!1,deprecated:!1},replyToDeliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to use persistent delivery by default for replies.",title:"Reply To Delivery Persistent",required:!1,deprecated:!1},shared:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the topic to be shared",title:"Shared",required:!1,deprecated:!1},subscriptionId:{kind:"parameter",type:"string",description:"Sets the topic subscription id, required for durable or shared topics.",title:"Subscription Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eagerLoadingOfProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",title:"Eager Loading Of Properties",required:!1,deprecated:!1},eagerPoisonBody:{kind:"parameter",type:"string",defaultValue:"Poison JMS message due to ${exception.message}",description:"If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",title:"Eager Poison Body",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},messageSelector:{kind:"parameter",type:"string",description:"Sets the JMS Message selector syntax.",title:"Message Selector",required:!1,deprecated:!1},replyToSameDestinationAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",title:"Reply To Same Destination Allowed",required:!1,deprecated:!1},deliveryMode:{kind:"parameter",type:"integer",enum:["1","2"],description:"Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",title:"Delivery Mode",required:!1,deprecated:!1},deliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether persistent delivery is used by default.",title:"Delivery Persistent",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",defaultValue:"4",enum:["1","2","3","4","5","6","7","8","9"],description:"Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",title:"Priority",required:!1,deprecated:!1},replyToConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Concurrent Consumers",required:!1,deprecated:!1},replyToOverride:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",title:"Reply To Override",required:!1,deprecated:!1},replyToType:{kind:"parameter",type:"object",enum:["Temporary","Exclusive"],description:"Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Exclusive is used.",title:"Reply To Type",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"duration",defaultValue:"20000",description:"The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.",title:"Request Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"integer",defaultValue:"-1",description:"When sending messages, specifies the time-to-live of the message (in milliseconds).",title:"Time To Live",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},disableTimeToLive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expire on the receiver system. See below in section About time to live for more details.",title:"Disable Time To Live",required:!1,deprecated:!1},explicitQosEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",title:"Explicit Qos Enabled",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},preserveMessageQos:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header.",title:"Preserve Message Qos",required:!1,deprecated:!1},asyncStartListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to startup the consumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that if the connection could not be established, then an exception is logged at WARN level, and the consumer will not be able to receive messages; You can then restart the route to retry.",title:"Async Start Listener",required:!1,deprecated:!1},asyncStopListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to stop the consumer message listener asynchronously, when stopping a route.",title:"Async Stop Listener",required:!1,deprecated:!1},destinationCreationStrategy:{kind:"parameter",type:"object",description:"To use a custom DestinationCreationStrategy.",title:"Destination Creation Strategy",required:!1,deprecated:!1},exceptionListener:{kind:"parameter",type:"object",description:"Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.",title:"Exception Listener",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},includeAllJMSXProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",title:"Include All JMSXProperties",required:!1,deprecated:!1},jmsKeyFormatStrategy:{kind:"parameter",type:"object",description:"Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.",title:"Jms Key Format Strategy",required:!1,deprecated:!1},mapJmsMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc. See section about how mapping works below for more details.",title:"Map Jms Message",required:!1,deprecated:!1},messageCreatedStrategy:{kind:"parameter",type:"object",description:"To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message.",title:"Message Created Strategy",required:!1,deprecated:!1},recoveryInterval:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds.",title:"Recovery Interval",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The caught exception is required to be serializable. The original Exception on the consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException when returned to the producer. Use this with caution as the data is using Java Object serialization and requires the received to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumer!",title:"Transfer Exception",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to use transacted mode",title:"Transacted",required:!1,deprecated:!1}}},slack:{type:"object",title:"Slack",group:"social",icon:"generic24.png",description:"Send and receive messages to/from Slack.",properties:{channel:{kind:"path",type:"string",description:"The channel name (syntax #name) or slack user (syntax userName) to send a message directly to an user.",title:"Channel",required:!0,deprecated:!1},token:{kind:"parameter",type:"string",description:"The token to access Slack. This app needs to have channels:history, groups:history, im:history, mpim:history, channels:read, groups:read, im:read and mpim:read permissions. The User OAuth Token is the kind of token needed.",title:"Token",required:!1,deprecated:!1},conversationType:{kind:"parameter",type:"object",defaultValue:"PUBLIC_CHANNEL",enum:["PUBLIC_CHANNEL","PRIVATE_CHANNEL","MPIM","IM"],description:"Type of conversation",title:"Conversation Type",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"string",defaultValue:"10",description:"The Max Result for the poll",title:"Max Results",required:!1,deprecated:!1},naturalOrder:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Create exchanges in natural order (oldest to newest) or not",title:"Natural Order",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},serverUrl:{kind:"parameter",type:"string",defaultValue:"https://slack.com",description:"The Server URL of the Slack instance",title:"Server Url",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},iconEmoji:{kind:"parameter",type:"string",description:"Use a Slack emoji as an avatar",title:"Icon Emoji",required:!1,deprecated:!0},iconUrl:{kind:"parameter",type:"string",description:"The avatar that the component will use when sending message to a channel or user.",title:"Icon Url",required:!1,deprecated:!0},username:{kind:"parameter",type:"string",description:"This is the username that the bot will have when sending messages to a channel or user.",title:"Username",required:!1,deprecated:!0},webhookUrl:{kind:"parameter",type:"string",description:"The incoming webhook URL",title:"Webhook Url",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},smpp:{type:"object",title:"SMPP",group:"mobile",icon:"generic24.png",description:"Send and receive SMS messages using a SMSC (Short Message Service Center).",properties:{host:{kind:"path",type:"string",defaultValue:"localhost",description:"Hostname for the SMSC server to use.",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"2775",description:"Port number for the SMSC server to use.",title:"Port",required:!1,deprecated:!1},initialReconnectDelay:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Defines the initial delay in milliseconds after the consumer/producer tries to reconnect to the SMSC, after the connection was lost.",title:"Initial Reconnect Delay",required:!1,deprecated:!1},maxReconnect:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"Defines the maximum number of attempts to reconnect to the SMSC, if SMSC returns a negative bind response",title:"Max Reconnect",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Defines the interval in milliseconds between the reconnect attempts, if the connection to the SMSC was lost and the previous was not succeed.",title:"Reconnect Delay",required:!1,deprecated:!1},splittingPolicy:{kind:"parameter",type:"object",defaultValue:"ALLOW",enum:["ALLOW","REJECT","TRUNCATE"],description:"You can specify a policy for handling long messages: ALLOW - the default, long messages are split to 140 bytes per message TRUNCATE - long messages are split and only the first fragment will be sent to the SMSC. Some carriers drop subsequent fragments so this reduces load on the SMPP connection sending parts of a message that will never be delivered. REJECT - if a message would need to be split, it is rejected with an SMPP NegativeResponseException and the reason code signifying the message is too long.",title:"Splitting Policy",required:!1,deprecated:!1},systemType:{kind:"parameter",type:"string",description:"This parameter is used to categorize the type of ESME (External Short Message Entity) that is binding to the SMSC (max. 13 characters).",title:"System Type",required:!1,deprecated:!1},addressRange:{kind:"parameter",type:"string",description:"You can specify the address range for the SmppConsumer as defined in section 5.2.7 of the SMPP 3.4 specification. The SmppConsumer will receive messages only from SMSC's which target an address (MSISDN or IP address) within this range.",title:"Address Range",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},destAddr:{kind:"parameter",type:"string",defaultValue:"1717",description:"Defines the destination SME address. For mobile terminated messages, this is the directory number of the recipient MS. Only for SubmitSm, SubmitMulti, CancelSm and DataSm.",title:"Dest Addr",required:!1,deprecated:!1},destAddrNpi:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the type of number (TON) to be used in the SME destination address parameters. Only for SubmitSm, SubmitMulti, CancelSm and DataSm. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Dest Addr Npi",required:!1,deprecated:!1},destAddrTon:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME destination address parameters. Only for SubmitSm, SubmitMulti, CancelSm and DataSm. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Dest Addr Ton",required:!1,deprecated:!1},lazySessionCreation:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sessions can be lazily created to avoid exceptions, if the SMSC is not available when the Camel producer is started. Camel will check the in message headers 'CamelSmppSystemId' and 'CamelSmppPassword' of the first exchange. If they are present, Camel will use these data to connect to the SMSC.",title:"Lazy Session Creation",required:!1,deprecated:!1},messageReceiverRouteId:{kind:"parameter",type:"string",description:"Set this on producer in order to benefit from transceiver (TRX) binding type. So once set, you don't need to define an 'SMTPP consumer' endpoint anymore. You would set this to a 'Direct consumer' endpoint instead. DISCALIMER: This feature is only tested with 'Direct consumer' endpoint. The behavior with any other consumer type is unknown and not tested.",title:"Message Receiver Route Id",required:!1,deprecated:!1},numberingPlanIndicator:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the numeric plan indicator (NPI) to be used in the SME. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Numbering Plan Indicator",required:!1,deprecated:!1},priorityFlag:{kind:"parameter",type:"integer",enum:["0","1","2","3"],description:"Allows the originating SME to assign a priority level to the short message. Only for SubmitSm and SubmitMulti. Four Priority Levels are supported: 0: Level 0 (lowest) priority 1: Level 1 priority 2: Level 2 priority 3: Level 3 (highest) priority",title:"Priority Flag",required:!1,deprecated:!1},protocolId:{kind:"parameter",type:"integer",description:"The protocol id",title:"Protocol Id",required:!1,deprecated:!1},registeredDelivery:{kind:"parameter",type:"integer",enum:["0","1","2"],description:"Is used to request an SMSC delivery receipt and/or SME originated acknowledgements. The following values are defined: 0: No SMSC delivery receipt requested. 1: SMSC delivery receipt requested where final delivery outcome is success or failure. 2: SMSC delivery receipt requested where the final delivery outcome is delivery failure.",title:"Registered Delivery",required:!1,deprecated:!1},replaceIfPresentFlag:{kind:"parameter",type:"integer",enum:["0","1"],description:"Used to request the SMSC to replace a previously submitted message, that is still pending delivery. The SMSC will replace an existing message provided that the source address, destination address and service type match the same fields in the new message. The following replace if present flag values are defined: 0: Don't replace 1: Replace",title:"Replace If Present Flag",required:!1,deprecated:!1},serviceType:{kind:"parameter",type:"string",enum:["CMT","CPT","VMN","VMA","WAP","USSD"],description:"The service type parameter can be used to indicate the SMS Application service associated with the message. The following generic service_types are defined: CMT: Cellular Messaging CPT: Cellular Paging VMN: Voice Mail Notification VMA: Voice Mail Alerting WAP: Wireless Application Protocol USSD: Unstructured Supplementary Services Data",title:"Service Type",required:!1,deprecated:!1},sourceAddr:{kind:"parameter",type:"string",defaultValue:"1616",description:"Defines the address of SME (Short Message Entity) which originated this message.",title:"Source Addr",required:!1,deprecated:!1},sourceAddrNpi:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the numeric plan indicator (NPI) to be used in the SME originator address parameters. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Source Addr Npi",required:!1,deprecated:!1},sourceAddrTon:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME originator address parameters. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Source Addr Ton",required:!1,deprecated:!1},typeOfNumber:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Type Of Number",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},enquireLinkTimer:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Defines the interval in milliseconds between the confidence checks. The confidence check is used to test the communication path between an ESME and an SMSC.",title:"Enquire Link Timer",required:!1,deprecated:!1},pduProcessorDegree:{kind:"parameter",type:"integer",defaultValue:"3",description:"Sets the number of threads which can read PDU and process them in parallel.",title:"Pdu Processor Degree",required:!1,deprecated:!1},pduProcessorQueueCapacity:{kind:"parameter",type:"integer",defaultValue:"100",description:"Sets the capacity of the working queue for PDU processing.",title:"Pdu Processor Queue Capacity",required:!1,deprecated:!1},sessionStateListener:{kind:"parameter",type:"object",description:"You can refer to a org.jsmpp.session.SessionStateListener in the Registry to receive callbacks when the session state changed.",title:"Session State Listener",required:!1,deprecated:!1},singleDLR:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When true, the SMSC delivery receipt would be requested only for the last segment of a multi-segment (long) message. For short messages, with only 1 segment the behaviour is unchanged.",title:"Single DLR",required:!1,deprecated:!1},transactionTimer:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Defines the maximum period of inactivity allowed after a transaction, after which an SMPP entity may assume that the session is no longer active. This timer may be active on either communicating SMPP entity (i.e. SMSC or ESME).",title:"Transaction Timer",required:!1,deprecated:!1},alphabet:{kind:"parameter",type:"integer",enum:["0","4","8"],description:"Defines encoding of data according the SMPP 3.4 specification, section 5.2.19. 0: SMSC Default Alphabet 4: 8 bit Alphabet 8: UCS2 Alphabet",title:"Alphabet",required:!1,deprecated:!1},dataCoding:{kind:"parameter",type:"integer",description:"Defines the data coding according the SMPP 3.4 specification, section 5.2.19. Example data encodings are: 0: SMSC Default Alphabet 3: Latin 1 (ISO-8859-1) 4: Octet unspecified (8-bit binary) 8: UCS2 (ISO/IEC-10646) 13: Extended Kanji JIS(X 0212-1990)",title:"Data Coding",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",defaultValue:"ISO-8859-1",description:"Defines the encoding scheme of the short message user data. Only for SubmitSm, ReplaceSm and SubmitMulti.",title:"Encoding",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"If you need to tunnel SMPP through a HTTP proxy, set this attribute to the hostname or ip address of your HTTP proxy.",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"If your HTTP proxy requires basic authentication, set this attribute to the password required for your HTTP proxy.",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",defaultValue:"3128",description:"If you need to tunnel SMPP through a HTTP proxy, set this attribute to the port of your HTTP proxy.",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUsername:{kind:"parameter",type:"string",description:"If your HTTP proxy requires basic authentication, set this attribute to the username required for your HTTP proxy.",title:"Http Proxy Username",required:!1,deprecated:!1},proxyHeaders:{kind:"parameter",type:"object",description:"These headers will be passed to the proxy server while establishing the connection.",title:"Proxy Headers",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for connecting to SMSC server.",title:"Password",required:!1,deprecated:!1},systemId:{kind:"parameter",type:"string",defaultValue:"smppclient",description:"The system id (username) for connecting to SMSC server.",title:"System Id",required:!1,deprecated:!1},usingSSL:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether using SSL with the smpps protocol",title:"Using SSL",required:!1,deprecated:!1}}},smpps:{type:"object",title:"SMPP (Secure)",group:"mobile",icon:"generic24.png",description:"Send and receive SMS messages using a SMSC (Short Message Service Center).",properties:{host:{kind:"path",type:"string",defaultValue:"localhost",description:"Hostname for the SMSC server to use.",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"2775",description:"Port number for the SMSC server to use.",title:"Port",required:!1,deprecated:!1},initialReconnectDelay:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Defines the initial delay in milliseconds after the consumer/producer tries to reconnect to the SMSC, after the connection was lost.",title:"Initial Reconnect Delay",required:!1,deprecated:!1},maxReconnect:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"Defines the maximum number of attempts to reconnect to the SMSC, if SMSC returns a negative bind response",title:"Max Reconnect",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Defines the interval in milliseconds between the reconnect attempts, if the connection to the SMSC was lost and the previous was not succeed.",title:"Reconnect Delay",required:!1,deprecated:!1},splittingPolicy:{kind:"parameter",type:"object",defaultValue:"ALLOW",enum:["ALLOW","REJECT","TRUNCATE"],description:"You can specify a policy for handling long messages: ALLOW - the default, long messages are split to 140 bytes per message TRUNCATE - long messages are split and only the first fragment will be sent to the SMSC. Some carriers drop subsequent fragments so this reduces load on the SMPP connection sending parts of a message that will never be delivered. REJECT - if a message would need to be split, it is rejected with an SMPP NegativeResponseException and the reason code signifying the message is too long.",title:"Splitting Policy",required:!1,deprecated:!1},systemType:{kind:"parameter",type:"string",description:"This parameter is used to categorize the type of ESME (External Short Message Entity) that is binding to the SMSC (max. 13 characters).",title:"System Type",required:!1,deprecated:!1},addressRange:{kind:"parameter",type:"string",description:"You can specify the address range for the SmppConsumer as defined in section 5.2.7 of the SMPP 3.4 specification. The SmppConsumer will receive messages only from SMSC's which target an address (MSISDN or IP address) within this range.",title:"Address Range",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},destAddr:{kind:"parameter",type:"string",defaultValue:"1717",description:"Defines the destination SME address. For mobile terminated messages, this is the directory number of the recipient MS. Only for SubmitSm, SubmitMulti, CancelSm and DataSm.",title:"Dest Addr",required:!1,deprecated:!1},destAddrNpi:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the type of number (TON) to be used in the SME destination address parameters. Only for SubmitSm, SubmitMulti, CancelSm and DataSm. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Dest Addr Npi",required:!1,deprecated:!1},destAddrTon:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME destination address parameters. Only for SubmitSm, SubmitMulti, CancelSm and DataSm. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Dest Addr Ton",required:!1,deprecated:!1},lazySessionCreation:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sessions can be lazily created to avoid exceptions, if the SMSC is not available when the Camel producer is started. Camel will check the in message headers 'CamelSmppSystemId' and 'CamelSmppPassword' of the first exchange. If they are present, Camel will use these data to connect to the SMSC.",title:"Lazy Session Creation",required:!1,deprecated:!1},messageReceiverRouteId:{kind:"parameter",type:"string",description:"Set this on producer in order to benefit from transceiver (TRX) binding type. So once set, you don't need to define an 'SMTPP consumer' endpoint anymore. You would set this to a 'Direct consumer' endpoint instead. DISCALIMER: This feature is only tested with 'Direct consumer' endpoint. The behavior with any other consumer type is unknown and not tested.",title:"Message Receiver Route Id",required:!1,deprecated:!1},numberingPlanIndicator:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the numeric plan indicator (NPI) to be used in the SME. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Numbering Plan Indicator",required:!1,deprecated:!1},priorityFlag:{kind:"parameter",type:"integer",enum:["0","1","2","3"],description:"Allows the originating SME to assign a priority level to the short message. Only for SubmitSm and SubmitMulti. Four Priority Levels are supported: 0: Level 0 (lowest) priority 1: Level 1 priority 2: Level 2 priority 3: Level 3 (highest) priority",title:"Priority Flag",required:!1,deprecated:!1},protocolId:{kind:"parameter",type:"integer",description:"The protocol id",title:"Protocol Id",required:!1,deprecated:!1},registeredDelivery:{kind:"parameter",type:"integer",enum:["0","1","2"],description:"Is used to request an SMSC delivery receipt and/or SME originated acknowledgements. The following values are defined: 0: No SMSC delivery receipt requested. 1: SMSC delivery receipt requested where final delivery outcome is success or failure. 2: SMSC delivery receipt requested where the final delivery outcome is delivery failure.",title:"Registered Delivery",required:!1,deprecated:!1},replaceIfPresentFlag:{kind:"parameter",type:"integer",enum:["0","1"],description:"Used to request the SMSC to replace a previously submitted message, that is still pending delivery. The SMSC will replace an existing message provided that the source address, destination address and service type match the same fields in the new message. The following replace if present flag values are defined: 0: Don't replace 1: Replace",title:"Replace If Present Flag",required:!1,deprecated:!1},serviceType:{kind:"parameter",type:"string",enum:["CMT","CPT","VMN","VMA","WAP","USSD"],description:"The service type parameter can be used to indicate the SMS Application service associated with the message. The following generic service_types are defined: CMT: Cellular Messaging CPT: Cellular Paging VMN: Voice Mail Notification VMA: Voice Mail Alerting WAP: Wireless Application Protocol USSD: Unstructured Supplementary Services Data",title:"Service Type",required:!1,deprecated:!1},sourceAddr:{kind:"parameter",type:"string",defaultValue:"1616",description:"Defines the address of SME (Short Message Entity) which originated this message.",title:"Source Addr",required:!1,deprecated:!1},sourceAddrNpi:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the numeric plan indicator (NPI) to be used in the SME originator address parameters. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Source Addr Npi",required:!1,deprecated:!1},sourceAddrTon:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME originator address parameters. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Source Addr Ton",required:!1,deprecated:!1},typeOfNumber:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Type Of Number",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},enquireLinkTimer:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Defines the interval in milliseconds between the confidence checks. The confidence check is used to test the communication path between an ESME and an SMSC.",title:"Enquire Link Timer",required:!1,deprecated:!1},pduProcessorDegree:{kind:"parameter",type:"integer",defaultValue:"3",description:"Sets the number of threads which can read PDU and process them in parallel.",title:"Pdu Processor Degree",required:!1,deprecated:!1},pduProcessorQueueCapacity:{kind:"parameter",type:"integer",defaultValue:"100",description:"Sets the capacity of the working queue for PDU processing.",title:"Pdu Processor Queue Capacity",required:!1,deprecated:!1},sessionStateListener:{kind:"parameter",type:"object",description:"You can refer to a org.jsmpp.session.SessionStateListener in the Registry to receive callbacks when the session state changed.",title:"Session State Listener",required:!1,deprecated:!1},singleDLR:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When true, the SMSC delivery receipt would be requested only for the last segment of a multi-segment (long) message. For short messages, with only 1 segment the behaviour is unchanged.",title:"Single DLR",required:!1,deprecated:!1},transactionTimer:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Defines the maximum period of inactivity allowed after a transaction, after which an SMPP entity may assume that the session is no longer active. This timer may be active on either communicating SMPP entity (i.e. SMSC or ESME).",title:"Transaction Timer",required:!1,deprecated:!1},alphabet:{kind:"parameter",type:"integer",enum:["0","4","8"],description:"Defines encoding of data according the SMPP 3.4 specification, section 5.2.19. 0: SMSC Default Alphabet 4: 8 bit Alphabet 8: UCS2 Alphabet",title:"Alphabet",required:!1,deprecated:!1},dataCoding:{kind:"parameter",type:"integer",description:"Defines the data coding according the SMPP 3.4 specification, section 5.2.19. Example data encodings are: 0: SMSC Default Alphabet 3: Latin 1 (ISO-8859-1) 4: Octet unspecified (8-bit binary) 8: UCS2 (ISO/IEC-10646) 13: Extended Kanji JIS(X 0212-1990)",title:"Data Coding",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",defaultValue:"ISO-8859-1",description:"Defines the encoding scheme of the short message user data. Only for SubmitSm, ReplaceSm and SubmitMulti.",title:"Encoding",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"If you need to tunnel SMPP through a HTTP proxy, set this attribute to the hostname or ip address of your HTTP proxy.",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"If your HTTP proxy requires basic authentication, set this attribute to the password required for your HTTP proxy.",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",defaultValue:"3128",description:"If you need to tunnel SMPP through a HTTP proxy, set this attribute to the port of your HTTP proxy.",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUsername:{kind:"parameter",type:"string",description:"If your HTTP proxy requires basic authentication, set this attribute to the username required for your HTTP proxy.",title:"Http Proxy Username",required:!1,deprecated:!1},proxyHeaders:{kind:"parameter",type:"object",description:"These headers will be passed to the proxy server while establishing the connection.",title:"Proxy Headers",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for connecting to SMSC server.",title:"Password",required:!1,deprecated:!1},systemId:{kind:"parameter",type:"string",defaultValue:"smppclient",description:"The system id (username) for connecting to SMSC server.",title:"System Id",required:!1,deprecated:!1},usingSSL:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether using SSL with the smpps protocol",title:"Using SSL",required:!1,deprecated:!1}}},smtp:{type:"object",title:"SMTP",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},smtps:{type:"object",title:"SMTPS",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},snmp:{type:"object",title:"SNMP",group:"monitoring",icon:"generic24.png",description:"Receive traps and poll SNMP (Simple Network Management Protocol) capable devices.",properties:{host:{kind:"path",type:"string",description:"Hostname of the SNMP enabled device",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number of the SNMP enabled device",title:"Port",required:!0,deprecated:!1},oids:{kind:"parameter",type:"object",description:"Defines which values you are interested in. Please have a look at the Wikipedia to get a better understanding. You may provide a single OID or a coma separated list of OIDs. Example: oids=1.3.6.1.2.1.1.3.0,1.3.6.1.2.1.25.3.2.1.5.1,1.3.6.1.2.1.25.3.5.1.1.1,1.3.6.1.2.1.43.5.1.1.11.1",title:"Oids",required:!1,deprecated:!1},protocol:{kind:"parameter",type:"string",defaultValue:"udp",enum:["tcp","udp"],description:"Here you can select which protocol to use. You can use either udp or tcp.",title:"Protocol",required:!1,deprecated:!1},retries:{kind:"parameter",type:"integer",defaultValue:"2",description:"Defines how often a retry is made before canceling the request.",title:"Retries",required:!1,deprecated:!1},snmpCommunity:{kind:"parameter",type:"string",defaultValue:"public",description:"Sets the community octet string for the snmp request.",title:"Snmp Community",required:!1,deprecated:!1},snmpContextEngineId:{kind:"parameter",type:"string",description:"Sets the context engine ID field of the scoped PDU.",title:"Snmp Context Engine Id",required:!1,deprecated:!1},snmpContextName:{kind:"parameter",type:"string",description:"Sets the context name field of this scoped PDU.",title:"Snmp Context Name",required:!1,deprecated:!1},snmpVersion:{kind:"parameter",type:"integer",defaultValue:"0",enum:["0","1","3"],description:"Sets the snmp version for the request. The value 0 means SNMPv1, 1 means SNMPv2c, and the value 3 means SNMPv3",title:"Snmp Version",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"1500",description:"Sets the timeout value for the request in millis.",title:"Timeout",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",enum:["TRAP","POLL","GET_NEXT"],description:"Which operation to perform such as poll, trap, etc.",title:"Type",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Sets update rate in seconds",title:"Delay",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},treeList:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the flag whether the scoped PDU will be displayed as the list if it has child elements in its tree",title:"Tree List",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},authenticationPassphrase:{kind:"parameter",type:"string",description:"The authentication passphrase. If not null, authenticationProtocol must also be not null. RFC3414 11.2 requires passphrases to have a minimum length of 8 bytes. If the length of authenticationPassphrase is less than 8 bytes an IllegalArgumentException is thrown.",title:"Authentication Passphrase",required:!1,deprecated:!1},authenticationProtocol:{kind:"parameter",type:"string",enum:["MD5","SHA1"],description:"Authentication protocol to use if security level is set to enable authentication The possible values are: MD5, SHA1",title:"Authentication Protocol",required:!1,deprecated:!1},privacyPassphrase:{kind:"parameter",type:"string",description:"The privacy passphrase. If not null, privacyProtocol must also be not null. RFC3414 11.2 requires passphrases to have a minimum length of 8 bytes. If the length of authenticationPassphrase is less than 8 bytes an IllegalArgumentException is thrown.",title:"Privacy Passphrase",required:!1,deprecated:!1},privacyProtocol:{kind:"parameter",type:"string",description:"The privacy protocol ID to be associated with this user. If set to null, this user only supports unencrypted messages.",title:"Privacy Protocol",required:!1,deprecated:!1},securityLevel:{kind:"parameter",type:"integer",defaultValue:"3",enum:["1","2","3"],description:"Sets the security level for this target. The supplied security level must be supported by the security model dependent information associated with the security name set for this target. The value 1 means: No authentication and no encryption. Anyone can create and read messages with this security level The value 2 means: Authentication and no encryption. Only the one with the right authentication key can create messages with this security level, but anyone can read the contents of the message. The value 3 means: Authentication and encryption. Only the one with the right authentication key can create messages with this security level, and only the one with the right encryption/decryption key can read the contents of the message.",title:"Security Level",required:!1,deprecated:!1},securityName:{kind:"parameter",type:"string",description:"Sets the security name to be used with this target.",title:"Security Name",required:!1,deprecated:!1}}},splunk:{type:"object",title:"Splunk",group:"iot,monitoring",icon:"generic24.png",description:"Publish or search for events in Splunk.",properties:{name:{kind:"path",type:"string",description:"Name has no purpose",title:"Name",required:!0,deprecated:!1},app:{kind:"parameter",type:"string",description:"Splunk app",title:"App",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Timeout in MS when connecting to Splunk server",title:"Connection Timeout",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",defaultValue:"localhost",description:"Splunk host.",title:"Host",required:!1,deprecated:!1},owner:{kind:"parameter",type:"string",description:"Splunk owner",title:"Owner",required:!1,deprecated:!1},port:{kind:"parameter",type:"integer",defaultValue:"8089",description:"Splunk port",title:"Port",required:!1,deprecated:!1},scheme:{kind:"parameter",type:"string",defaultValue:"https",description:"Splunk scheme",title:"Scheme",required:!1,deprecated:!1},count:{kind:"parameter",type:"integer",description:"A number that indicates the maximum number of entities to return.",title:"Count",required:!1,deprecated:!1},earliestTime:{kind:"parameter",type:"string",description:"Earliest time of the search time window.",title:"Earliest Time",required:!1,deprecated:!1},initEarliestTime:{kind:"parameter",type:"string",description:"Initial start offset of the first search",title:"Init Earliest Time",required:!1,deprecated:!1},latestTime:{kind:"parameter",type:"string",description:"Latest time of the search time window.",title:"Latest Time",required:!1,deprecated:!1},savedSearch:{kind:"parameter",type:"string",description:"The name of the query saved in Splunk to run",title:"Saved Search",required:!1,deprecated:!1},search:{kind:"parameter",type:"string",description:"The Splunk query to run",title:"Search",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streaming:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets streaming mode. Streaming mode sends exchanges as they are received, rather than in a batch.",title:"Streaming",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},eventHost:{kind:"parameter",type:"string",description:"Override the default Splunk event host field",title:"Event Host",required:!1,deprecated:!1},index:{kind:"parameter",type:"string",description:"Splunk index to write to",title:"Index",required:!1,deprecated:!1},raw:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should the payload be inserted raw",title:"Raw",required:!1,deprecated:!1},source:{kind:"parameter",type:"string",description:"Splunk source argument",title:"Source",required:!1,deprecated:!1},sourceType:{kind:"parameter",type:"string",description:"Splunk sourcetype argument",title:"Source Type",required:!1,deprecated:!1},tcpReceiverLocalPort:{kind:"parameter",type:"integer",description:"Splunk tcp receiver port defined locally on splunk server. (For example if splunk port 9997 is mapped to 12345, tcpReceiverLocalPort has to be 9997)",title:"Tcp Receiver Local Port",required:!1,deprecated:!1},tcpReceiverPort:{kind:"parameter",type:"integer",description:"Splunk tcp receiver port",title:"Tcp Receiver Port",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for Splunk",title:"Password",required:!1,deprecated:!1},sslProtocol:{kind:"parameter",type:"object",defaultValue:"TLSv1.2",enum:["TLSv1.2","TLSv1.1","TLSv1","SSLv3"],description:"Set the ssl protocol to use",title:"Ssl Protocol",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"User's token for Splunk. This takes precedence over password when both are set",title:"Token",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for Splunk",title:"Username",required:!1,deprecated:!1},useSunHttpsHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use sun.net.www.protocol.https.Handler Https handler to establish the Splunk Connection. Can be useful when running in application servers to avoid app. server https handling.",title:"Use Sun Https Handler",required:!1,deprecated:!1}}},"splunk-hec":{type:"object",title:"Splunk HEC",group:"monitoring",icon:"generic24.png",description:"The splunk component allows to publish events in Splunk using the HTTP Event Collector.",properties:{splunkURL:{kind:"path",type:"string",description:"Splunk Host and Port (example: my_splunk_server:8089)",title:"Splunk URL",required:!0,deprecated:!1},token:{kind:"path",type:"string",description:"Splunk HEC token (this is the token created for HEC and not the user's token)",title:"Token",required:!0,deprecated:!1},bodyOnly:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send only the message body",title:"Body Only",required:!1,deprecated:!1},headersOnly:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send only message headers",title:"Headers Only",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"Splunk host field of the event message. This is not the Splunk host to connect to.",title:"Host",required:!1,deprecated:!1},index:{kind:"parameter",type:"string",defaultValue:"camel",description:"Splunk index to write to",title:"Index",required:!1,deprecated:!1},source:{kind:"parameter",type:"string",defaultValue:"camel",description:"Splunk source argument",title:"Source",required:!1,deprecated:!1},sourceType:{kind:"parameter",type:"string",defaultValue:"camel",description:"Splunk sourcetype argument",title:"Source Type",required:!1,deprecated:!1},splunkEndpoint:{kind:"parameter",type:"string",defaultValue:"/services/collector/event",description:"Splunk endpoint Defaults to /services/collector/event To write RAW data like JSON use /services/collector/raw For a list of all endpoints refer to splunk documentation (HTTP Event Collector REST API endpoints) Example for Spunk 8.2.x: https://docs.splunk.com/Documentation/SplunkCloud/8.2.2203/Data/HECRESTendpoints To extract timestamps in Splunk8.0 /services/collector/eventauto_extract_timestamp=true Remember to utilize RAW{} for questionmarks or slashes in parameters.",title:"Splunk Endpoint",required:!1,deprecated:!1},time:{kind:"parameter",type:"integer",description:"Time this even occurred. By default, the time will be when this event hits the splunk server.",title:"Time",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},https:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Contact HEC over https.",title:"Https",required:!1,deprecated:!1},skipTlsVerify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Splunk HEC TLS verification.",title:"Skip Tls Verify",required:!1,deprecated:!1}}},"spring-batch":{type:"object",title:"Spring Batch",group:"workflow",icon:"generic24.png",description:"Send messages to Spring Batch for further processing.",properties:{jobName:{kind:"path",type:"string",description:"The name of the Spring Batch job located in the registry.",title:"Job Name",required:!0,deprecated:!1},jobFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Explicitly defines if the jobName should be taken from the headers instead of the URI.",title:"Job From Header",required:!1,deprecated:!1},jobLauncher:{kind:"parameter",type:"object",description:"Explicitly specifies a JobLauncher to be used.",title:"Job Launcher",required:!1,deprecated:!1},jobRegistry:{kind:"parameter",type:"object",description:"Explicitly specifies a JobRegistry to be used.",title:"Job Registry",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"spring-event":{type:"object",title:"Spring Event",group:"messaging",icon:"generic24.png",description:"Listen for Spring Application Events.",properties:{name:{kind:"path",type:"string",description:"Name of endpoint",title:"Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"spring-jdbc":{type:"object",title:"Spring JDBC",group:"database",icon:"generic24.png",description:"Access databases through SQL and JDBC with Spring Transaction support.",properties:{dataSourceName:{kind:"path",type:"string",description:"Name of DataSource to lookup in the Registry. If the name is dataSource or default, then Camel will attempt to lookup a default DataSource from the registry, meaning if there is a only one instance of DataSource found, then this DataSource will be used.",title:"Data Source Name",required:!0,deprecated:!1},allowNamedParameters:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using named parameters in the queries.",title:"Allow Named Parameters",required:!1,deprecated:!1},outputClass:{kind:"parameter",type:"string",description:"Specify the full package and class name to use as conversion when outputType=SelectOne or SelectList.",title:"Output Class",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"SelectList",enum:["SelectOne","SelectList","StreamList"],description:"Determines the output the producer should use.",title:"Output Type",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Optional parameters to the java.sql.Statement. For example to set maxRows, fetchSize etc.",title:"Parameters",required:!1,deprecated:!1},readSize:{kind:"parameter",type:"integer",description:"The default maximum number of rows that can be read by a polling query. The default value is 0.",title:"Read Size",required:!1,deprecated:!1},resetAutoCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Camel will set the autoCommit on the JDBC connection to be false, commit the change after executed the statement and reset the autoCommit flag of the connection at the end, if the resetAutoCommit is true. If the JDBC connection doesn't support to reset the autoCommit flag, you can set the resetAutoCommit flag to be false, and Camel will not try to reset the autoCommit flag. When used with XA transactions you most likely need to set it to false so that the transaction manager is in charge of committing this tx.",title:"Reset Auto Commit",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether transactions are in use.",title:"Transacted",required:!1,deprecated:!1},useGetBytesForBlob:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To read BLOB columns as bytes instead of string data. This may be needed for certain databases such as Oracle where you must read BLOB columns as bytes.",title:"Use Get Bytes For Blob",required:!1,deprecated:!1},useHeadersAsParameters:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this option to true to use the prepareStatementStrategy with named parameters. This allows to define queries with named placeholders, and use headers with the dynamic values for the query placeholders.",title:"Use Headers As Parameters",required:!1,deprecated:!1},useJDBC4ColumnNameAndLabelSemantics:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to use JDBC 4 or JDBC 3.0 or older semantic when retrieving column name. JDBC 4.0 uses columnLabel to get the column name where as JDBC 3.0 uses both columnName or columnLabel. Unfortunately JDBC drivers behave differently so you can use this option to work out issues around your JDBC driver if you get problem using this component This option is default true.",title:"Use JDBC4 Column Name And Label Semantics",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},beanRowMapper:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.jdbc.BeanRowMapper when using outputClass. The default implementation will lower case the row names and skip underscores, and dashes. For example CUST_ID is mapped as custId.",title:"Bean Row Mapper",required:!1,deprecated:!1},connectionStrategy:{kind:"parameter",type:"object",description:"To use a custom strategy for working with connections. Do not use a custom strategy when using the spring-jdbc component because a special Spring ConnectionStrategy is used by default to support Spring Transactions.",title:"Connection Strategy",required:!1,deprecated:!1},prepareStatementStrategy:{kind:"parameter",type:"object",description:"Allows the plugin to use a custom org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy to control preparation of the query and prepared statement.",title:"Prepare Statement Strategy",required:!1,deprecated:!1}}},"spring-ldap":{type:"object",title:"Spring LDAP",group:"security",icon:"generic24.png",description:"Perform searches in LDAP servers using filters as the message payload.",properties:{templateName:{kind:"path",type:"string",description:"Name of the Spring LDAP Template bean",title:"Template Name",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["SEARCH","BIND","UNBIND","AUTHENTICATE","MODIFY_ATTRIBUTES","FUNCTION_DRIVEN"],description:"The LDAP operation to be performed.",title:"Operation",required:!0,deprecated:!1},scope:{kind:"parameter",type:"string",defaultValue:"subtree",enum:["object","onelevel","subtree"],description:"The scope of the search operation.",title:"Scope",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"spring-rabbitmq":{type:"object",title:"Spring RabbitMQ",group:"messaging",icon:"generic24.png",description:"Send and receive messages from RabbitMQ using Spring RabbitMQ client.",properties:{exchangeName:{kind:"path",type:"string",description:"The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead.",title:"Exchange Name",required:!0,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},routingKey:{kind:"parameter",type:"string",description:"The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance.",title:"Routing Key",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},acknowledgeMode:{kind:"parameter",type:"object",enum:["NONE","MANUAL","AUTO"],description:"Flag controlling the behaviour of the container with respect to message acknowledgement. The most common usage is to let the container handle the acknowledgements (so the listener doesn't need to know about the channel or the message). Set to AcknowledgeMode.MANUAL if the listener will send the acknowledgements itself using Channel.basicAck(long, boolean). Manual acks are consistent with either a transactional or non-transactional channel, but if you are doing no other work on the channel at the same other than receiving a single message then the transaction is probably unnecessary. Set to AcknowledgeMode.NONE to tell the broker not to expect any acknowledgements, and it will assume all messages are acknowledged as soon as they are sent (this is autoack in native Rabbit broker terms). If AcknowledgeMode.NONE then the channel cannot be transactional (so the container will fail on start up if that flag is accidentally set).",title:"Acknowledge Mode",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer processes the Exchange asynchronously. If enabled then the consumer may pickup the next message from the queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the consumer will pickup the next message from the queue.",title:"Async Consumer",required:!1,deprecated:!1},autoDeclare:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer should auto declare binding between exchange, queue and routing key when starting.",title:"Auto Declare",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},deadLetterExchange:{kind:"parameter",type:"string",description:"The name of the dead letter exchange",title:"Dead Letter Exchange",required:!1,deprecated:!1},deadLetterExchangeType:{kind:"parameter",type:"string",defaultValue:"direct",enum:["direct","fanout","headers","topic"],description:"The type of the dead letter exchange",title:"Dead Letter Exchange Type",required:!1,deprecated:!1},deadLetterQueue:{kind:"parameter",type:"string",description:"The name of the dead letter queue",title:"Dead Letter Queue",required:!1,deprecated:!1},deadLetterRoutingKey:{kind:"parameter",type:"string",description:"The routing key for the dead letter exchange",title:"Dead Letter Routing Key",required:!1,deprecated:!1},exchangeType:{kind:"parameter",type:"string",defaultValue:"direct",enum:["direct","fanout","headers","topic"],description:"The type of the exchange",title:"Exchange Type",required:!1,deprecated:!1},exclusive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true for an exclusive consumer",title:"Exclusive",required:!1,deprecated:!1},maximumRetryAttempts:{kind:"parameter",type:"integer",defaultValue:"5",description:"How many times a Rabbitmq consumer will retry the same message if Camel failed to process the message",title:"Maximum Retry Attempts",required:!1,deprecated:!1},noLocal:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true for an no-local consumer",title:"No Local",required:!1,deprecated:!1},queues:{kind:"parameter",type:"string",description:"The queue(s) to use for consuming messages. Multiple queue names can be separated by comma. If none has been configured then Camel will generate an unique id as the queue name for the consumer.",title:"Queues",required:!1,deprecated:!1},rejectAndDontRequeue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether a Rabbitmq consumer should reject the message without requeuing. This enables failed messages to be sent to a Dead Letter Exchange/Queue, if the broker is so configured.",title:"Reject And Dont Requeue",required:!1,deprecated:!1},retryDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Delay in millis a Rabbitmq consumer will wait before redelivering a message that Camel failed to process",title:"Retry Delay",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",description:"The number of consumers",title:"Concurrent Consumers",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},maxConcurrentConsumers:{kind:"parameter",type:"integer",description:"The maximum number of consumers (available only with SMLC)",title:"Max Concurrent Consumers",required:!1,deprecated:!1},messageListenerContainerType:{kind:"parameter",type:"string",defaultValue:"DMLC",enum:["DMLC","SMLC"],description:"The type of the MessageListenerContainer",title:"Message Listener Container Type",required:!1,deprecated:!1},prefetchCount:{kind:"parameter",type:"integer",description:"Tell the broker how many messages to send in a single request. Often this can be set quite high to improve throughput.",title:"Prefetch Count",required:!1,deprecated:!1},retry:{kind:"parameter",type:"object",description:"Custom retry configuration to use. If this is configured then the other settings such as maximumRetryAttempts for retry are not in use.",title:"Retry",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an MessageConversionException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},confirm:{kind:"parameter",type:"string",defaultValue:"auto",enum:["auto","enabled","disabled"],description:"Controls whether to wait for confirms. The connection factory must be configured for publisher confirms and this method. auto = Camel detects if the connection factory uses confirms or not. disabled = Confirms is disabled. enabled = Confirms is enabled.",title:"Confirm",required:!1,deprecated:!1},confirmTimeout:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specify the timeout in milliseconds to be used when waiting for a message sent to be confirmed by RabbitMQ when doing send only messaging (InOnly). The default value is 5 seconds. A negative value indicates an indefinite timeout.",title:"Confirm Timeout",required:!1,deprecated:!1},replyTimeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Specify the timeout in milliseconds to be used when waiting for a reply message when doing request/reply (InOut) messaging. The default value is 30 seconds. A negative value indicates an indefinite timeout (Beware that this will cause a memory leak if a reply is not received).",title:"Reply Timeout",required:!1,deprecated:!1},usePublisherConnection:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use a separate connection for publishers and consumers",title:"Use Publisher Connection",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},args:{kind:"parameter",type:"object",description:"Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000",title:"Args",required:!1,deprecated:!1},messageConverter:{kind:"parameter",type:"object",description:"To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message.",title:"Message Converter",required:!1,deprecated:!1},messagePropertiesConverter:{kind:"parameter",type:"object",description:"To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties.",title:"Message Properties Converter",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1}}},"spring-redis":{type:"object",title:"Spring Redis",group:"cache",icon:"generic24.png",description:"Send and receive messages from Redis.",properties:{host:{kind:"path",type:"string",description:"The host where Redis server is running.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Redis server port number",title:"Port",required:!0,deprecated:!1},channels:{kind:"parameter",type:"string",description:"List of topic names or name patterns to subscribe to. Multiple names can be separated by comma.",title:"Channels",required:!1,deprecated:!1},command:{kind:"parameter",type:"object",defaultValue:"SET",enum:["PING","SET","GET","QUIT","EXISTS","DEL","TYPE","FLUSHDB","KEYS","RANDOMKEY","RENAME","RENAMENX","RENAMEX","DBSIZE","EXPIRE","EXPIREAT","TTL","SELECT","MOVE","FLUSHALL","GETSET","MGET","SETNX","SETEX","MSET","MSETNX","DECRBY","DECR","INCRBY","INCR","APPEND","SUBSTR","HSET","HGET","HSETNX","HMSET","HMGET","HINCRBY","HEXISTS","HDEL","HLEN","HKEYS","HVALS","HGETALL","RPUSH","LPUSH","LLEN","LRANGE","LTRIM","LINDEX","LSET","LREM","LPOP","RPOP","RPOPLPUSH","SADD","SMEMBERS","SREM","SPOP","SMOVE","SCARD","SISMEMBER","SINTER","SINTERSTORE","SUNION","SUNIONSTORE","SDIFF","SDIFFSTORE","SRANDMEMBER","ZADD","ZRANGE","ZREM","ZINCRBY","ZRANK","ZREVRANK","ZREVRANGE","ZCARD","ZSCORE","MULTI","DISCARD","EXEC","WATCH","UNWATCH","SORT","BLPOP","BRPOP","AUTH","SUBSCRIBE","PUBLISH","UNSUBSCRIBE","PSUBSCRIBE","PUNSUBSCRIBE","ZCOUNT","ZRANGEBYSCORE","ZREVRANGEBYSCORE","ZREMRANGEBYRANK","ZREMRANGEBYSCORE","ZUNIONSTORE","ZINTERSTORE","SAVE","BGSAVE","BGREWRITEAOF","LASTSAVE","SHUTDOWN","INFO","MONITOR","SLAVEOF","CONFIG","STRLEN","SYNC","LPUSHX","PERSIST","RPUSHX","ECHO","LINSERT","DEBUG","BRPOPLPUSH","SETBIT","GETBIT","SETRANGE","GETRANGE","PEXPIRE","PEXPIREAT","GEOADD","GEODIST","GEOHASH","GEOPOS","GEORADIUS","GEORADIUSBYMEMBER"],description:"Default command, which can be overridden by message header. Notice the consumer only supports the following commands: PSUBSCRIBE and SUBSCRIBE",title:"Command",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"Reference to a pre-configured RedisConnectionFactory instance to use.",title:"Connection Factory",required:!1,deprecated:!1},redisTemplate:{kind:"parameter",type:"object",description:"Reference to a pre-configured RedisTemplate instance to use.",title:"Redis Template",required:!1,deprecated:!1},serializer:{kind:"parameter",type:"object",description:"Reference to a pre-configured RedisSerializer instance to use.",title:"Serializer",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},listenerContainer:{kind:"parameter",type:"object",description:"Reference to a pre-configured RedisMessageListenerContainer instance to use.",title:"Listener Container",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"spring-ws":{type:"object",title:"Spring WebService",group:"webservice",icon:"generic24.png",description:"Access external web services as a client or expose your own web services.",properties:{type:{kind:"path",type:"object",enum:["ROOT_QNAME","ACTION","TO","SOAP_ACTION","XPATHRESULT","URI","URI_PATH","BEANNAME"],description:"Endpoint mapping type if endpoint mapping is used. rootqname - Offers the option to map web service requests based on the qualified name of the root element contained in the message. soapaction - Used to map web service requests based on the SOAP action specified in the header of the message. uri - In order to map web service requests that target a specific URI. xpathresult - Used to map web service requests based on the evaluation of an XPath expression against the incoming message. The result of the evaluation should match the XPath result specified in the endpoint URI. beanname - Allows you to reference an org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher object in order to integrate with existing (legacy) endpoint mappings like PayloadRootQNameEndpointMapping, SoapActionEndpointMapping, etc",title:"Type",required:!1,deprecated:!1},lookupKey:{kind:"path",type:"string",description:"Endpoint mapping key if endpoint mapping is used",title:"Lookup Key",required:!1,deprecated:!1},webServiceEndpointUri:{kind:"path",type:"string",description:"The default Web Service endpoint uri to use for the producer.",title:"Web Service Endpoint Uri",required:!1,deprecated:!1},messageFilter:{kind:"parameter",type:"object",description:"Option to provide a custom MessageFilter. For example when you want to process your headers or attachments by your own.",title:"Message Filter",required:!1,deprecated:!1},messageIdStrategy:{kind:"parameter",type:"object",description:"Option to provide a custom MessageIdStrategy to control generation of WS-Addressing unique message ids.",title:"Message Id Strategy",required:!1,deprecated:!1},endpointDispatcher:{kind:"parameter",type:"object",description:"Spring org.springframework.ws.server.endpoint.MessageEndpoint for dispatching messages received by Spring-WS to a Camel endpoint, to integrate with existing (legacy) endpoint mappings like PayloadRootQNameEndpointMapping, SoapActionEndpointMapping, etc.",title:"Endpoint Dispatcher",required:!1,deprecated:!1},endpointMapping:{kind:"parameter",type:"object",description:"Reference to an instance of org.apache.camel.component.spring.ws.bean.CamelEndpointMapping in the Registry/ApplicationContext. Only one bean is required in the registry to serve all Camel/Spring-WS endpoints. This bean is auto-discovered by the MessageDispatcher and used to map requests to Camel endpoints based on characteristics specified on the endpoint (like root QName, SOAP action, etc)",title:"Endpoint Mapping",required:!1,deprecated:!1},expression:{kind:"parameter",type:"string",description:"The XPath expression to use when option type=xpathresult. Then this option is required to be configured.",title:"Expression",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},allowResponseAttachmentOverride:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to override soap response attachments in in/out exchange with attachments from the actual service layer. If the invoked service appends or rewrites the soap attachments this option when set to true, allows the modified soap attachments to be overwritten in in/out message attachments",title:"Allow Response Attachment Override",required:!1,deprecated:!1},allowResponseHeaderOverride:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to override soap response header in in/out exchange with header info from the actual service layer. If the invoked service appends or rewrites the soap header this option when set to true, allows the modified soap header to be overwritten in in/out message headers",title:"Allow Response Header Override",required:!1,deprecated:!1},faultAction:{kind:"parameter",type:"string",description:"Signifies the value for the faultAction response WS-Addressing Fault Action header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details.",title:"Fault Action",required:!1,deprecated:!1},faultTo:{kind:"parameter",type:"string",description:"Signifies the value for the faultAction response WS-Addressing FaultTo header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details.",title:"Fault To",required:!1,deprecated:!1},messageFactory:{kind:"parameter",type:"object",description:"Option to provide a custom WebServiceMessageFactory. For example when you want Apache Axiom to handle web service messages instead of SAAJ.",title:"Message Factory",required:!1,deprecated:!1},messageSender:{kind:"parameter",type:"object",description:"Option to provide a custom WebServiceMessageSender. For example to perform authentication or use alternative transports",title:"Message Sender",required:!1,deprecated:!1},outputAction:{kind:"parameter",type:"string",description:"Signifies the value for the response WS-Addressing Action header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details.",title:"Output Action",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Signifies the value for the replyTo response WS-Addressing ReplyTo header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details.",title:"Reply To",required:!1,deprecated:!1},soapAction:{kind:"parameter",type:"string",description:"SOAP action to include inside a SOAP request when accessing remote web services",title:"Soap Action",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",description:"Sets the socket read timeout (in milliseconds) while invoking a webservice using the producer, see URLConnection.setReadTimeout() and CommonsHttpMessageSender.setReadTimeout(). This option works when using the built-in message sender implementations: CommonsHttpMessageSender and HttpUrlConnectionMessageSender. One of these implementations will be used by default for HTTP based services unless you customize the Spring WS configuration options supplied to the component. If you are using a non-standard sender, it is assumed that you will handle your own timeout configuration. The built-in message sender HttpComponentsMessageSender is considered instead of CommonsHttpMessageSender which has been deprecated, see HttpComponentsMessageSender.setReadTimeout().",title:"Timeout",required:!1,deprecated:!1},webServiceTemplate:{kind:"parameter",type:"object",description:"Option to provide a custom WebServiceTemplate. This allows for full control over client-side web services handling; like adding a custom interceptor or specifying a fault resolver, message sender or message factory.",title:"Web Service Template",required:!1,deprecated:!1},wsAddressingAction:{kind:"parameter",type:"string",description:"WS-Addressing 1.0 action header to include when accessing web services. The To header is set to the address of the web service as specified in the endpoint URI (default Spring-WS behavior).",title:"Ws Addressing Action",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},sql:{type:"object",title:"SQL",group:"database",icon:"generic24.png",description:"Perform SQL queries using Spring JDBC.",properties:{query:{kind:"path",type:"string",description:"Sets the SQL query to perform. You can externalize the query by using file: or classpath: as prefix and specify the location of the file.",title:"Query",required:!0,deprecated:!1},allowNamedParameters:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using named parameters in the queries.",title:"Allow Named Parameters",required:!1,deprecated:!1},dataSource:{kind:"parameter",type:"object",description:"Sets the DataSource to use to communicate with the database at endpoint level.",title:"Data Source",required:!1,deprecated:!1},outputClass:{kind:"parameter",type:"string",description:"Specify the full package and class name to use as conversion when outputType=SelectOne.",title:"Output Class",required:!1,deprecated:!1},outputHeader:{kind:"parameter",type:"string",description:"Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved.",title:"Output Header",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"SelectList",enum:["SelectOne","SelectList","StreamList"],description:"Make the output of consumer or producer to SelectList as List of Map, or SelectOne as single Java object in the following way: a) If the query has only single column, then that JDBC Column object is returned. (such as SELECT COUNT( ) FROM PROJECT will return a Long object. b) If the query has more than one column, then it will return a Map of that result. c) If the outputClass is set, then it will convert the query result into an Java bean object by calling all the setters that match the column names. It will assume your class has a default constructor to create instance with. d) If the query resulted in more than one rows, it throws an non-unique result exception. StreamList streams the result of the query using an Iterator. This can be used with the Splitter EIP in streaming mode to process the ResultSet in streaming fashion.",title:"Output Type",required:!1,deprecated:!1},separator:{kind:"parameter",type:"string",defaultValue:",",description:"The separator to use when parameter values is taken from message body (if the body is a String type), to be inserted at # placeholders. Notice if you use named parameters, then a Map type is used instead. The default value is comma",title:"Separator",required:!1,deprecated:!1},breakBatchOnConsumeFail:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to break batch if onConsume failed.",title:"Break Batch On Consume Fail",required:!1,deprecated:!1},expectedUpdateCount:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets an expected update count to validate when using onConsume.",title:"Expected Update Count",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Sets the maximum number of messages to poll",title:"Max Messages Per Poll",required:!1,deprecated:!1},onConsume:{kind:"parameter",type:"string",description:"After processing each row then this query can be executed, if the Exchange was processed successfully, for example to mark the row as processed. The query can have parameter.",title:"On Consume",required:!1,deprecated:!1},onConsumeBatchComplete:{kind:"parameter",type:"string",description:"After processing the entire batch, this query can be executed to bulk update rows etc. The query cannot have parameters.",title:"On Consume Batch Complete",required:!1,deprecated:!1},onConsumeFailed:{kind:"parameter",type:"string",description:"After processing each row then this query can be executed, if the Exchange failed, for example to mark the row as failed. The query can have parameter.",title:"On Consume Failed",required:!1,deprecated:!1},routeEmptyResultSet:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether empty resultset should be allowed to be sent to the next hop. Defaults to false. So the empty resultset will be filtered out.",title:"Route Empty Result Set",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables or disables transaction. If enabled then if processing an exchange failed then the consumer breaks out processing any further exchanges to cause a rollback eager.",title:"Transacted",required:!1,deprecated:!1},useIterator:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets how resultset should be delivered to route. Indicates delivery as either a list or individual object. defaults to true.",title:"Use Iterator",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processingStrategy:{kind:"parameter",type:"object",description:"Allows to plugin to use a custom org.apache.camel.component.sql.SqlProcessingStrategy to execute queries when the consumer has processed the rows/batch.",title:"Processing Strategy",required:!1,deprecated:!1},batch:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables or disables batch mode",title:"Batch",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set, will ignore the results of the SQL query and use the existing IN message as the OUT message for the continuation of processing",title:"Noop",required:!1,deprecated:!1},useMessageBodyForSql:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use the message body as the SQL and then headers for parameters. If this option is enabled then the SQL in the uri is not used. Note that query parameters in the message body are represented by a question mark instead of a # symbol.",title:"Use Message Body For Sql",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},alwaysPopulateStatement:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled then the populateStatement method from org.apache.camel.component.sql.SqlPrepareStatementStrategy is always invoked, also if there is no expected parameters to be prepared. When this is false then the populateStatement is only invoked if there is 1 or more expected parameters to be set; for example this avoids reading the message body/headers for SQL queries with no parameters.",title:"Always Populate Statement",required:!1,deprecated:!1},parametersCount:{kind:"parameter",type:"integer",description:"If set greater than zero, then Camel will use this count value of parameters to replace instead of querying via JDBC metadata API. This is useful if the JDBC vendor could not return correct parameters count, then user may override instead.",title:"Parameters Count",required:!1,deprecated:!1},placeholder:{kind:"parameter",type:"string",defaultValue:"#",description:"Specifies a character that will be replaced to in SQL query. Notice, that it is simple String.replaceAll() operation and no SQL parsing is involved (quoted strings will also change).",title:"Placeholder",required:!1,deprecated:!1},prepareStatementStrategy:{kind:"parameter",type:"object",description:"Allows to plugin to use a custom org.apache.camel.component.sql.SqlPrepareStatementStrategy to control preparation of the query and prepared statement.",title:"Prepare Statement Strategy",required:!1,deprecated:!1},rowMapperFactory:{kind:"parameter",type:"object",description:"Factory for creating RowMapper",title:"Row Mapper Factory",required:!1,deprecated:!1},templateOptions:{kind:"parameter",type:"object",description:"Configures the Spring JdbcTemplate with the key/values from the Map",title:"Template Options",required:!1,deprecated:!1},usePlaceholder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to use placeholder and replace all placeholder characters with sign in the SQL queries.",title:"Use Placeholder",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},"sql-stored":{type:"object",title:"SQL Stored Procedure",group:"database",icon:"generic24.png",description:"Perform SQL queries as a JDBC Stored Procedures using Spring JDBC.",properties:{template:{kind:"path",type:"string",description:"Sets the stored procedure template to perform. You can externalize the template by using file: or classpath: as prefix and specify the location of the file.",title:"Template",required:!0,deprecated:!1},batch:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables or disables batch mode",title:"Batch",required:!1,deprecated:!1},dataSource:{kind:"parameter",type:"object",description:"Sets the DataSource to use to communicate with the database.",title:"Data Source",required:!1,deprecated:!1},function:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether this call is for a function.",title:"Function",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set, will ignore the results of the stored procedure template and use the existing IN message as the OUT message for the continuation of processing",title:"Noop",required:!1,deprecated:!1},outputHeader:{kind:"parameter",type:"string",description:"Store the template result in a header instead of the message body. By default, outputHeader == null and the template result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the template result and the original message body is preserved.",title:"Output Header",required:!1,deprecated:!1},useMessageBodyForTemplate:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use the message body as the stored procedure template and then headers for parameters. If this option is enabled then the template in the uri is not used.",title:"Use Message Body For Template",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},templateOptions:{kind:"parameter",type:"object",description:"Configures the Spring JdbcTemplate with the key/values from the Map",title:"Template Options",required:!1,deprecated:!1}}},ssh:{type:"object",title:"SSH",group:"file",icon:"generic24.png",description:"Execute commands on remote hosts using SSH.",properties:{host:{kind:"path",type:"string",description:"Sets the hostname of the remote SSH server.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"22",description:"Sets the port number for the remote SSH server.",title:"Port",required:!1,deprecated:!1},failOnUnknownHost:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether a connection to an unknown host should fail or not. This value is only checked when the property knownHosts is set.",title:"Fail On Unknown Host",required:!1,deprecated:!1},knownHostsResource:{kind:"parameter",type:"string",description:"Sets the resource path for a known_hosts file",title:"Known Hosts Resource",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Sets the timeout in milliseconds to wait in establishing the remote SSH server connection. Defaults to 30000 milliseconds.",title:"Timeout",required:!1,deprecated:!1},pollCommand:{kind:"parameter",type:"string",description:"Sets the command string to send to the remote SSH server during every poll cycle. Only works with camel-ssh component being used as a consumer, i.e. from(ssh://...) You may need to end your command with a newline, and that must be URL encoded %0A",title:"Poll Command",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},channelType:{kind:"parameter",type:"string",defaultValue:"exec",description:"Sets the channel type to pass to the Channel as part of command execution. Defaults to exec.",title:"Channel Type",required:!1,deprecated:!1},shellPrompt:{kind:"parameter",type:"string",description:"Sets the shellPrompt to be dropped when response is read after command execution",title:"Shell Prompt",required:!1,deprecated:!1},sleepForShellPrompt:{kind:"parameter",type:"integer",defaultValue:"100",description:"Sets the sleep period in milliseconds to wait reading response from shell prompt. Defaults to 100 milliseconds.",title:"Sleep For Shell Prompt",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},certResource:{kind:"parameter",type:"string",description:"Sets the resource path of the certificate to use for Authentication. Will use ResourceHelperKeyPairProvider to resolve file based certificate, and depends on keyType setting.",title:"Cert Resource",required:!1,deprecated:!1},certResourcePassword:{kind:"parameter",type:"string",description:"Sets the password to use in loading certResource, if certResource is an encrypted key.",title:"Cert Resource Password",required:!1,deprecated:!1},keyPairProvider:{kind:"parameter",type:"object",description:"Sets the KeyPairProvider reference to use when connecting using Certificates to the remote SSH Server.",title:"Key Pair Provider",required:!1,deprecated:!1},keyType:{kind:"parameter",type:"string",description:"Sets the key type to pass to the KeyPairProvider as part of authentication. KeyPairProvider.loadKey(...) will be passed this value. From Camel 3.0.0 / 2.25.0, by default Camel will select the first available KeyPair that is loaded. Prior to this, a KeyType of 'ssh-rsa' was enforced by default.",title:"Key Type",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Sets the password to use in connecting to remote SSH server. Requires keyPairProvider to be set to null.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Sets the username to use in logging into the remote SSH server.",title:"Username",required:!1,deprecated:!1}}},stax:{type:"object",title:"StAX",group:"transformation",icon:"generic24.png",description:"Process XML payloads by a SAX ContentHandler.",properties:{contentHandlerClass:{kind:"path",type:"string",description:"The FQN class name for the ContentHandler implementation to use.",title:"Content Handler Class",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},stitch:{type:"object",title:"Stitch",group:"cloud,api,saas,bigdata",icon:"generic24.png",description:"Stitch is a cloud ETL service that integrates various data sources into a central data warehouse through various integrations.",properties:{tableName:{kind:"path",type:"string",description:"The name of the destination table the data is being pushed to. Table names must be unique in each destination schema, or loading issues will occur. Note: The number of characters in the table name should be within the destination's allowed limits or data will rejected.",title:"Table Name",required:!1,deprecated:!1},keyNames:{kind:"parameter",type:"string",description:"A collection of comma separated strings representing the Primary Key fields in the source table. Stitch use these Primary Keys to de-dupe data during loading If not provided, the table will be loaded in an append-only manner.",title:"Key Names",required:!1,deprecated:!1},region:{kind:"parameter",type:"object",defaultValue:"EUROPE",enum:["NORTH_AMERICA","EUROPE"],description:"Stitch account region, e.g: europe",title:"Region",required:!1,deprecated:!1},stitchSchema:{kind:"parameter",type:"object",description:"A schema that describes the record(s)",title:"Stitch Schema",required:!1,deprecated:!1},connectionProvider:{kind:"parameter",type:"object",description:"ConnectionProvider contain configuration for the HttpClient like Maximum connection limit .. etc, you can inject this ConnectionProvider and the StitchClient will initialize HttpClient with this ConnectionProvider",title:"Connection Provider",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"Reactor Netty HttpClient, you can injected it if you want to have custom HttpClient",title:"Http Client",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},stitchClient:{kind:"parameter",type:"object",description:"Set a custom StitchClient that implements org.apache.camel.component.stitch.client.StitchClient interface",title:"Stitch Client",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"Stitch access token for the Stitch Import API",title:"Token",required:!0,deprecated:!1}}},stomp:{type:"object",title:"Stomp",group:"messaging",icon:"generic24.png",description:"Send and rececive messages to/from STOMP (Simple Text Oriented Messaging Protocol) compliant message brokers.",properties:{destination:{kind:"path",type:"string",description:"Name of the queue",title:"Destination",required:!0,deprecated:!1},brokerURL:{kind:"parameter",type:"string",defaultValue:"tcp://localhost:61613",description:"The URI of the Stomp broker to connect to",title:"Broker URL",required:!0,deprecated:!1},customHeaders:{kind:"parameter",type:"object",description:"To set custom headers",title:"Custom Headers",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"The virtual host name",title:"Host",required:!1,deprecated:!1},version:{kind:"parameter",type:"string",description:"The stomp version (1.1, or 1.2)",title:"Version",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},login:{kind:"parameter",type:"string",description:"The username",title:"Login",required:!1,deprecated:!1},passcode:{kind:"parameter",type:"string",description:"The password",title:"Passcode",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},stream:{type:"object",title:"Stream",group:"file,core",icon:"generic24.png",description:"Read from system-in and write to system-out and system-err streams.",properties:{kind:{kind:"path",type:"string",enum:["in","out","err","header","file","http"],description:"Kind of stream to use such as System.in, System.out, a file, or a http url.",title:"Kind",required:!0,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"You can configure the encoding (is a charset name) to use text-based streams (for example, message body is a String object). If not provided, Camel uses the JVM default Charset.",title:"Encoding",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"When using the stream:file URI format, this option specifies the filename to stream to/from.",title:"File Name",required:!1,deprecated:!1},fileWatcher:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To use JVM file watcher to listen for file change events to support re-loading files that may be overwritten, somewhat like tail --retry",title:"File Watcher",required:!1,deprecated:!1},groupLines:{kind:"parameter",type:"integer",description:"To group X number of lines in the consumer. For example to group 10 lines and therefore only spit out an Exchange with 10 lines, instead of 1 Exchange per line.",title:"Group Lines",required:!1,deprecated:!1},groupStrategy:{kind:"parameter",type:"object",description:"Allows to use a custom GroupStrategy to control how to group lines.",title:"Group Strategy",required:!1,deprecated:!1},httpHeaders:{kind:"parameter",type:"string",description:"When using stream:http format, this option specifies optional http headers, such as Accept: application/json. Multiple headers can be separated by comma.",title:"Http Headers",required:!1,deprecated:!1},httpUrl:{kind:"parameter",type:"string",description:"When using stream:http format, this option specifies the http url to stream from.",title:"Http Url",required:!1,deprecated:!1},initialPromptDelay:{kind:"parameter",type:"integer",defaultValue:"2000",description:"Initial delay in milliseconds before showing the message prompt. This delay occurs only once. Can be used during system startup to avoid message prompts being written while other logging is done to the system out.",title:"Initial Prompt Delay",required:!1,deprecated:!1},promptDelay:{kind:"parameter",type:"integer",description:"Optional delay in milliseconds before showing the message prompt.",title:"Prompt Delay",required:!1,deprecated:!1},promptMessage:{kind:"parameter",type:"string",description:"Message prompt to use when reading from stream:in; for example, you could set this to Enter a command:",title:"Prompt Message",required:!1,deprecated:!1},readLine:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to read the input stream in line mode (terminate by line breaks). Setting this to false, will instead read the entire stream until EOL.",title:"Read Line",required:!1,deprecated:!1},retry:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will retry opening the stream if it's overwritten, somewhat like tail --retry If reading from files then you should also enable the fileWatcher option, to make it work reliable.",title:"Retry",required:!1,deprecated:!1},scanStream:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To be used for continuously reading a stream such as the unix tail command.",title:"Scan Stream",required:!1,deprecated:!1},scanStreamDelay:{kind:"parameter",type:"integer",description:"Delay in milliseconds between read attempts when using scanStream.",title:"Scan Stream Delay",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},appendNewLine:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to append a new line character at end of output.",title:"Append New Line",required:!1,deprecated:!1},autoCloseCount:{kind:"parameter",type:"integer",description:"Number of messages to process before closing stream on Producer side. Never close stream by default (only when Producer is stopped). If more messages are sent, the stream is reopened for another autoCloseCount batch.",title:"Auto Close Count",required:!1,deprecated:!1},closeOnDone:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is used in combination with Splitter and streaming to the same file. The idea is to keep the stream open and only close when the Splitter is done, to improve performance. Mind this requires that you only stream to the same file, and not 2 or more files.",title:"Close On Done",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",description:"Initial delay in milliseconds before producing the stream.",title:"Delay",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},readTimeout:{kind:"parameter",type:"integer",description:"Sets the read timeout to a specified timeout, in milliseconds. A non-zero value specifies the timeout when reading from Input stream when a connection is established to a resource. If the timeout expires before there is data available for read, a java.net.SocketTimeoutException is raised. A timeout of zero is interpreted as an infinite timeout.",title:"Read Timeout",required:!1,deprecated:!1}}},"string-template":{type:"object",title:"String Template",group:"transformation,script",icon:"generic24.png",description:"Transform messages using StringTemplate engine.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},delimiterStart:{kind:"parameter",type:"string",defaultValue:"<",description:"The variable start delimiter",title:"Delimiter Start",required:!1,deprecated:!1},delimiterStop:{kind:"parameter",type:"string",defaultValue:">",description:"The variable end delimiter",title:"Delimiter Stop",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},stub:{type:"object",title:"Stub",group:"core,testing",icon:"generic24.png",description:"Stub out any physical endpoints while in development or testing.",properties:{name:{kind:"path",type:"string",description:"Name of queue",title:"Name",required:!0,deprecated:!1},size:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The maximum capacity of the SEDA queue (i.e., the number of messages it can hold). Will by default use the defaultSize set on the SEDA component.",title:"Size",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of concurrent threads processing exchanges.",title:"Concurrent Consumers",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},limitConcurrentConsumers:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit the number of concurrentConsumers to the maximum of 500. By default, an exception will be thrown if an endpoint is configured with a greater number. You can disable that check by turning this option off.",title:"Limit Concurrent Consumers",required:!1,deprecated:!1},multipleConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether multiple consumers are allowed. If enabled, you can use SEDA for Publish-Subscribe messaging. That is, you can send a message to the SEDA queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint.",title:"Multiple Consumers",required:!1,deprecated:!1},pollTimeout:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The timeout (in milliseconds) used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown.",title:"Poll Timeout",required:!1,deprecated:!1},purgeWhenStopping:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is discarded.",title:"Purge When Stopping",required:!1,deprecated:!1},blockWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will instead block and wait until the message can be accepted.",title:"Block When Full",required:!1,deprecated:!1},discardIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the producer should discard the message (do not add the message to the queue), when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsumers can be enabled at the same time.",title:"Discard If No Consumers",required:!1,deprecated:!1},discardWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full SEDA queue will be discarded. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will give up sending and continue, meaning that the message was not sent to the SEDA queue.",title:"Discard When Full",required:!1,deprecated:!1},failIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the producer should fail by throwing an exception, when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsumers can be enabled at the same time.",title:"Fail If No Consumers",required:!1,deprecated:!1},offerTimeout:{kind:"parameter",type:"duration",description:"Offer timeout (in milliseconds) can be added to the block case when queue is full. You can disable timeout by using 0 or a negative value.",title:"Offer Timeout",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. You can disable timeout by using 0 or a negative value.",title:"Timeout",required:!1,deprecated:!1},waitForTaskToComplete:{kind:"parameter",type:"object",defaultValue:"IfReplyExpected",enum:["Never","IfReplyExpected","Always"],description:"Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: Always, Never or IfReplyExpected. The first two values are self-explanatory. The last value, IfReplyExpected, will only wait if the message is Request Reply based. The default option is IfReplyExpected.",title:"Wait For Task To Complete",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},queue:{kind:"parameter",type:"object",description:"Define the queue instance which will be used by the endpoint",title:"Queue",required:!1,deprecated:!1}}},telegram:{type:"object",title:"Telegram",group:"cloud,api,chat",icon:"generic24.png",description:"Send and receive messages acting as a Telegram Bot Telegram Bot API.",properties:{type:{kind:"path",type:"string",enum:["bots"],description:"The endpoint type. Currently, only the 'bots' type is supported.",title:"Type",required:!0,deprecated:!1},limit:{kind:"parameter",type:"integer",defaultValue:"100",description:"Limit on the number of updates that can be received in a single polling request.",title:"Limit",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"30",description:"Timeout in seconds for long polling. Put 0 for short polling or a bigger number for long polling. Long polling produces shorter response time.",title:"Timeout",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},chatId:{kind:"parameter",type:"string",description:"The identifier of the chat that will receive the produced messages. Chat ids can be first obtained from incoming messages (eg. when a telegram user starts a conversation with a bot, its client sends automatically a '/start' message containing the chat id). It is an optional parameter, as the chat id can be set dynamically for each outgoing message (using body or headers).",title:"Chat Id",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},baseUri:{kind:"parameter",type:"string",description:"Can be used to set an alternative base URI, e.g. when you want to test the component against a mock Telegram API",title:"Base Uri",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"1048576",description:"The initial in-memory buffer size used when transferring data between Camel and AHC Client.",title:"Buffer Size",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"To use a custom HttpClient",title:"Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"HTTP proxy host which could be used when sending out the message.",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"HTTP proxy port which could be used when sending out the message.",title:"Proxy Port",required:!1,deprecated:!1},proxyType:{kind:"parameter",type:"object",defaultValue:"HTTP",enum:["HTTP","SOCKS4","SOCKS5"],description:"HTTP proxy type which could be used when sending out the message.",title:"Proxy Type",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},authorizationToken:{kind:"parameter",type:"string",description:"The authorization token for using the bot (ask the BotFather)",title:"Authorization Token",required:!0,deprecated:!1}}},thrift:{type:"object",title:"Thrift",group:"rpc,transformation",icon:"generic24.png",description:"Call and expose remote procedures (RPC) with Apache Thrift data format and serialization mechanism.",properties:{host:{kind:"path",type:"string",description:"The Thrift server host name. This is localhost or 0.0.0.0 (if not defined) when being a consumer or remote server host name when using producer.",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"integer",description:"The Thrift server port",title:"Port",required:!0,deprecated:!1},service:{kind:"path",type:"string",description:"Fully qualified service name from the thrift descriptor file (package dot service definition name)",title:"Service",required:!0,deprecated:!1},compressionType:{kind:"parameter",type:"object",defaultValue:"NONE",enum:["NONE","ZLIB"],description:"Protocol compression mechanism type",title:"Compression Type",required:!1,deprecated:!1},exchangeProtocol:{kind:"parameter",type:"object",defaultValue:"BINARY",enum:["BINARY","JSON","SJSON","COMPACT"],description:"Exchange protocol serialization type",title:"Exchange Protocol",required:!1,deprecated:!1},clientTimeout:{kind:"parameter",type:"integer",description:"Client timeout for consumers",title:"Client Timeout",required:!1,deprecated:!1},maxPoolSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"The Thrift server consumer max thread pool size",title:"Max Pool Size",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Thrift server consumer initial thread pool size",title:"Pool Size",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},method:{kind:"parameter",type:"string",description:"The Thrift invoked method name",title:"Method",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},negotiationType:{kind:"parameter",type:"object",defaultValue:"PLAINTEXT",enum:["PLAINTEXT","SSL","SASL"],description:"Security negotiation type",title:"Negotiation Type",required:!1,deprecated:!1},sslParameters:{kind:"parameter",type:"object",description:"Configuration parameters for SSL/TLS security negotiation",title:"Ssl Parameters",required:!1,deprecated:!1}}},tika:{type:"object",title:"Tika",group:"document,transformation",icon:"generic24.png",description:"Parse documents and extract metadata and text using Apache Tika.",properties:{operation:{kind:"path",type:"object",enum:["parse","detect"],description:"Operation type",title:"Operation",required:!0,deprecated:!1},tikaParseOutputEncoding:{kind:"parameter",type:"string",description:"Tika Parse Output Encoding",title:"Tika Parse Output Encoding",required:!1,deprecated:!1},tikaParseOutputFormat:{kind:"parameter",type:"object",defaultValue:"xml",enum:["xml","html","text","textMain"],description:"Tika Output Format. Supported output formats. xml: Returns Parsed Content as XML. html: Returns Parsed Content as HTML. text: Returns Parsed Content as Text. textMain: Uses the boilerpipe library to automatically extract the main content from a web page.",title:"Tika Parse Output Format",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},tikaConfig:{kind:"parameter",type:"object",description:"Tika Config",title:"Tika Config",required:!1,deprecated:!1},tikaConfigUri:{kind:"parameter",type:"string",description:"Tika Config Url",title:"Tika Config Uri",required:!1,deprecated:!1}}},timer:{type:"object",title:"Timer",group:"core,scheduling",icon:"generic24.png",description:"Generate messages in specified intervals using java.util.Timer.",properties:{timerName:{kind:"path",type:"string",description:"The name of the timer",title:"Timer Name",required:!0,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Delay before first event is triggered.",title:"Delay",required:!1,deprecated:!1},fixedRate:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Events take place at approximately regular intervals, separated by the specified period.",title:"Fixed Rate",required:!1,deprecated:!1},includeMetadata:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to include metadata in the exchange such as fired time, timer name, timer count etc. This information is default included.",title:"Include Metadata",required:!1,deprecated:!1},period:{kind:"parameter",type:"duration",defaultValue:"1000",description:"If greater than 0, generate periodic events every period.",title:"Period",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the timer will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},daemon:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether or not the thread associated with the timer endpoint runs as a daemon. The default value is true.",title:"Daemon",required:!1,deprecated:!1},pattern:{kind:"parameter",type:"string",description:"Allows you to specify a custom Date pattern to use for setting the time option using URI syntax.",title:"Pattern",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},time:{kind:"parameter",type:"string",description:"A java.util.Date the first event should be generated. If using the URI, the pattern expected is: yyyy-MM-dd HH:mm:ss or yyyy-MM-dd'T'HH:mm:ss.",title:"Time",required:!1,deprecated:!1},timer:{kind:"parameter",type:"object",description:"To use a custom Timer",title:"Timer",required:!1,deprecated:!1}}},twilio:{type:"object",title:"Twilio",group:"api,messaging,cloud",icon:"generic24.png",description:"Interact with Twilio REST APIs using Twilio Java SDK.",properties:{apiName:{kind:"path",type:"object",enum:["ACCOUNT","ADDRESS","APPLICATION","AVAILABLE_PHONE_NUMBER_COUNTRY","CALL","CONFERENCE","CONNECT_APP","INCOMING_PHONE_NUMBER","KEY","MESSAGE","NEW_KEY","NEW_SIGNING_KEY","NOTIFICATION","OUTGOING_CALLER_ID","QUEUE","RECORDING","SHORT_CODE","SIGNING_KEY","TOKEN","TRANSCRIPTION","VALIDATION_REQUEST","ADDRESS_DEPENDENT_PHONE_NUMBER","AVAILABLE_PHONE_NUMBER_COUNTRY_LOCAL","AVAILABLE_PHONE_NUMBER_COUNTRY_MOBILE","AVAILABLE_PHONE_NUMBER_COUNTRY_TOLL_FREE","CALL_FEEDBACK","CALL_FEEDBACK_SUMMARY","CALL_NOTIFICATION","CALL_RECORDING","CONFERENCE_PARTICIPANT","INCOMING_PHONE_NUMBER_LOCAL","INCOMING_PHONE_NUMBER_MOBILE","INCOMING_PHONE_NUMBER_TOLL_FREE","MESSAGE_FEEDBACK","MESSAGE_MEDIA","QUEUE_MEMBER","RECORDING_ADD_ON_RESULT","RECORDING_TRANSCRIPTION","RECORDING_ADD_ON_RESULT_PAYLOAD","SIP_CREDENTIAL_LIST","SIP_DOMAIN","SIP_IP_ACCESS_CONTROL_LIST","SIP_CREDENTIAL_LIST_CREDENTIAL","SIP_DOMAIN_CREDENTIAL_LIST_MAPPING","SIP_DOMAIN_IP_ACCESS_CONTROL_LIST_MAPPING","SIP_IP_ACCESS_CONTROL_LIST_IP_ADDRESS","USAGE_RECORD","USAGE_TRIGGER","USAGE_RECORD_ALL_TIME","USAGE_RECORD_DAILY","USAGE_RECORD_LAST_MONTH","USAGE_RECORD_MONTHLY","USAGE_RECORD_THIS_MONTH","USAGE_RECORD_TODAY","USAGE_RECORD_YEARLY","USAGE_RECORD_YESTERDAY"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["create","delete","fetch","read","update"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},"twitter-directmessage":{type:"object",title:"Twitter Direct Message",group:"saas,social",icon:"generic24.png",description:"Send and receive Twitter direct messages.",properties:{user:{kind:"path",type:"string",description:"The user name to send a direct message. This will be ignored for consumer.",title:"User",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",defaultValue:"polling",enum:["polling","direct"],description:"Endpoint type to use.",title:"Type",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},distanceMetric:{kind:"parameter",type:"string",defaultValue:"km",enum:["km","mi"],description:"Used by the geography search, to search by radius using the configured metrics. The unit can either be mi for miles, or km for kilometers. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Distance Metric",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},extendedMode:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for enabling full text from twitter (eg receive tweets that contains more than 140 characters).",title:"Extended Mode",required:!1,deprecated:!1},latitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by latitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Latitude",required:!1,deprecated:!1},locations:{kind:"parameter",type:"string",description:"Bounding boxes, created by pairs of lat/lons. Can be used for filter. A pair is defined as lat,lon. And multiple pairs can be separated by semicolon.",title:"Locations",required:!1,deprecated:!1},longitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by longitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Longitude",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},radius:{kind:"parameter",type:"number",description:"Used by the geography search to search by radius. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Radius",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},count:{kind:"parameter",type:"integer",defaultValue:"5",description:"Limiting number of results per page.",title:"Count",required:!1,deprecated:!1},filterOld:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Filter out old tweets, that has previously been polled. This state is stored in memory only, and based on last tweet id.",title:"Filter Old",required:!1,deprecated:!1},lang:{kind:"parameter",type:"string",description:"The lang string ISO_639-1 which will be used for searching",title:"Lang",required:!1,deprecated:!1},numberOfPages:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of pages result which you want camel-twitter to consume.",title:"Number Of Pages",required:!1,deprecated:!1},sinceId:{kind:"parameter",type:"integer",defaultValue:"1",description:"The last tweet id which will be used for pulling the tweets. It is useful when the camel route is restarted after a long running.",title:"Since Id",required:!1,deprecated:!1},userIds:{kind:"parameter",type:"string",description:"To filter by user ids for filter. Multiple values can be separated by comma.",title:"User Ids",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"The http proxy host which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"The http proxy password which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",description:"The http proxy port which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUser:{kind:"parameter",type:"string",description:"The http proxy user which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy User",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token. Can also be configured on the TwitterComponent level instead.",title:"Access Token",required:!1,deprecated:!1},accessTokenSecret:{kind:"parameter",type:"string",description:"The access secret. Can also be configured on the TwitterComponent level instead.",title:"Access Token Secret",required:!1,deprecated:!1},consumerKey:{kind:"parameter",type:"string",description:"The consumer key. Can also be configured on the TwitterComponent level instead.",title:"Consumer Key",required:!1,deprecated:!1},consumerSecret:{kind:"parameter",type:"string",description:"The consumer secret. Can also be configured on the TwitterComponent level instead.",title:"Consumer Secret",required:!1,deprecated:!1},sortById:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sorts by id, so the oldest are first, and newest last.",title:"Sort By Id",required:!1,deprecated:!1}}},"twitter-search":{type:"object",title:"Twitter Search",group:"saas,social",icon:"generic24.png",description:"Access Twitter Search.",properties:{keywords:{kind:"path",type:"string",description:"The search query, use the keywords AND, OR, - and () to narrow the search results.",title:"Keywords",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",defaultValue:"polling",enum:["polling","direct"],description:"Endpoint type to use.",title:"Type",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},distanceMetric:{kind:"parameter",type:"string",defaultValue:"km",enum:["km","mi"],description:"Used by the geography search, to search by radius using the configured metrics. The unit can either be mi for miles, or km for kilometers. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Distance Metric",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},extendedMode:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for enabling full text from twitter (eg receive tweets that contains more than 140 characters).",title:"Extended Mode",required:!1,deprecated:!1},latitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by latitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Latitude",required:!1,deprecated:!1},locations:{kind:"parameter",type:"string",description:"Bounding boxes, created by pairs of lat/lons. Can be used for filter. A pair is defined as lat,lon. And multiple pairs can be separated by semicolon.",title:"Locations",required:!1,deprecated:!1},longitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by longitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Longitude",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},radius:{kind:"parameter",type:"number",description:"Used by the geography search to search by radius. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Radius",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},count:{kind:"parameter",type:"integer",defaultValue:"5",description:"Limiting number of results per page.",title:"Count",required:!1,deprecated:!1},filterOld:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Filter out old tweets, that has previously been polled. This state is stored in memory only, and based on last tweet id.",title:"Filter Old",required:!1,deprecated:!1},lang:{kind:"parameter",type:"string",description:"The lang string ISO_639-1 which will be used for searching",title:"Lang",required:!1,deprecated:!1},numberOfPages:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of pages result which you want camel-twitter to consume.",title:"Number Of Pages",required:!1,deprecated:!1},sinceId:{kind:"parameter",type:"integer",defaultValue:"1",description:"The last tweet id which will be used for pulling the tweets. It is useful when the camel route is restarted after a long running.",title:"Since Id",required:!1,deprecated:!1},userIds:{kind:"parameter",type:"string",description:"To filter by user ids for filter. Multiple values can be separated by comma.",title:"User Ids",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"The http proxy host which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"The http proxy password which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",description:"The http proxy port which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUser:{kind:"parameter",type:"string",description:"The http proxy user which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy User",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token. Can also be configured on the TwitterComponent level instead.",title:"Access Token",required:!1,deprecated:!1},accessTokenSecret:{kind:"parameter",type:"string",description:"The access secret. Can also be configured on the TwitterComponent level instead.",title:"Access Token Secret",required:!1,deprecated:!1},consumerKey:{kind:"parameter",type:"string",description:"The consumer key. Can also be configured on the TwitterComponent level instead.",title:"Consumer Key",required:!1,deprecated:!1},consumerSecret:{kind:"parameter",type:"string",description:"The consumer secret. Can also be configured on the TwitterComponent level instead.",title:"Consumer Secret",required:!1,deprecated:!1},sortById:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sorts by id, so the oldest are first, and newest last.",title:"Sort By Id",required:!1,deprecated:!1}}},"twitter-timeline":{type:"object",title:"Twitter Timeline",group:"saas,social",icon:"generic24.png",description:"Send tweets and receive tweets from user's timeline.",properties:{timelineType:{kind:"path",type:"object",enum:["PUBLIC","HOME","USER","MENTIONS","LIST","UNKNOWN"],description:"The timeline type to produce/consume.",title:"Timeline Type",required:!0,deprecated:!1},list:{kind:"parameter",type:"string",description:"The list name when using timelineType=list",title:"List",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"The username when using timelineType=user",title:"User",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",defaultValue:"polling",enum:["polling","direct"],description:"Endpoint type to use.",title:"Type",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},distanceMetric:{kind:"parameter",type:"string",defaultValue:"km",enum:["km","mi"],description:"Used by the geography search, to search by radius using the configured metrics. The unit can either be mi for miles, or km for kilometers. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Distance Metric",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},extendedMode:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for enabling full text from twitter (eg receive tweets that contains more than 140 characters).",title:"Extended Mode",required:!1,deprecated:!1},latitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by latitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Latitude",required:!1,deprecated:!1},locations:{kind:"parameter",type:"string",description:"Bounding boxes, created by pairs of lat/lons. Can be used for filter. A pair is defined as lat,lon. And multiple pairs can be separated by semicolon.",title:"Locations",required:!1,deprecated:!1},longitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by longitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Longitude",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},radius:{kind:"parameter",type:"number",description:"Used by the geography search to search by radius. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Radius",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},count:{kind:"parameter",type:"integer",defaultValue:"5",description:"Limiting number of results per page.",title:"Count",required:!1,deprecated:!1},filterOld:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Filter out old tweets, that has previously been polled. This state is stored in memory only, and based on last tweet id.",title:"Filter Old",required:!1,deprecated:!1},lang:{kind:"parameter",type:"string",description:"The lang string ISO_639-1 which will be used for searching",title:"Lang",required:!1,deprecated:!1},numberOfPages:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of pages result which you want camel-twitter to consume.",title:"Number Of Pages",required:!1,deprecated:!1},sinceId:{kind:"parameter",type:"integer",defaultValue:"1",description:"The last tweet id which will be used for pulling the tweets. It is useful when the camel route is restarted after a long running.",title:"Since Id",required:!1,deprecated:!1},userIds:{kind:"parameter",type:"string",description:"To filter by user ids for filter. Multiple values can be separated by comma.",title:"User Ids",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"The http proxy host which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"The http proxy password which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",description:"The http proxy port which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUser:{kind:"parameter",type:"string",description:"The http proxy user which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy User",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token. Can also be configured on the TwitterComponent level instead.",title:"Access Token",required:!1,deprecated:!1},accessTokenSecret:{kind:"parameter",type:"string",description:"The access secret. Can also be configured on the TwitterComponent level instead.",title:"Access Token Secret",required:!1,deprecated:!1},consumerKey:{kind:"parameter",type:"string",description:"The consumer key. Can also be configured on the TwitterComponent level instead.",title:"Consumer Key",required:!1,deprecated:!1},consumerSecret:{kind:"parameter",type:"string",description:"The consumer secret. Can also be configured on the TwitterComponent level instead.",title:"Consumer Secret",required:!1,deprecated:!1},sortById:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sorts by id, so the oldest are first, and newest last.",title:"Sort By Id",required:!1,deprecated:!1}}},undertow:{type:"object",title:"Undertow",group:"http,networking",icon:"generic24.png",description:"Expose HTTP and WebSocket endpoints and access external HTTP/WebSocket servers.",properties:{httpURI:{kind:"path",type:"string",description:"The url of the HTTP endpoint to use.",title:"Http URI",required:!0,deprecated:!1},useStreaming:{kind:"parameter",type:"boolean",defaultValue:"false",description:"For HTTP endpoint: if true, text and binary messages will be wrapped as java.io.InputStream before they are passed to an Exchange; otherwise they will be passed as byte. For WebSocket endpoint: if true, text and binary messages will be wrapped as java.io.Reader and java.io.InputStream respectively before they are passed to an Exchange; otherwise they will be passed as String and byte respectively.",title:"Use Streaming",required:!1,deprecated:!1},accessLog:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should write access log",title:"Access Log",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple methods can be specified separated by comma.",title:"Http Method Restrict",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},optionsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",title:"Options Enabled",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},handlers:{kind:"parameter",type:"string",description:"Specifies a comma-delimited set of io.undertow.server.HttpHandler instances to lookup in your Registry. These handlers are added to the Undertow handler chain (for example, to add security). Important: You can not use different handlers with different Undertow endpoints using the same port number. The handlers is associated to the port number. If you need different handlers, then use different port numbers.",title:"Handlers",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},keepAlive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to ensure socket is not closed due to inactivity",title:"Keep Alive",required:!1,deprecated:!1},options:{kind:"parameter",type:"object",description:"Sets additional channel options. The options that can be used are defined in org.xnio.Options. To configure from endpoint uri, then prefix each option with option., such as option.close-abort=true&option.send-buffer=8192",title:"Options",required:!1,deprecated:!1},preserveHostHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If the option is true, UndertowProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server to reflect the URL called by the upstream client, this allows applications which use the Host header to generate accurate URL's for a proxied service.",title:"Preserve Host Header",required:!1,deprecated:!1},reuseAddresses:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to facilitate socket multiplexing",title:"Reuse Addresses",required:!1,deprecated:!1},tcpNoDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to improve TCP protocol performance",title:"Tcp No Delay",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code.",title:"Throw Exception On Failure",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},accessLogReceiver:{kind:"parameter",type:"object",description:"Which Undertow AccessLogReceiver should be used Will use JBossLoggingAccessLogReceiver if not specified",title:"Access Log Receiver",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},undertowHttpBinding:{kind:"parameter",type:"object",description:"To use a custom UndertowHttpBinding to control the mapping between Camel message and undertow.",title:"Undertow Http Binding",required:!1,deprecated:!1},allowedRoles:{kind:"parameter",type:"string",description:"Configuration used by UndertowSecurityProvider. Comma separated list of allowed roles.",title:"Allowed Roles",required:!1,deprecated:!1},securityConfiguration:{kind:"parameter",type:"object",description:"OConfiguration used by UndertowSecurityProvider. Security configuration object for use from UndertowSecurityProvider. Configuration is UndertowSecurityProvider specific. Each provider decides whether accepts configuration.",title:"Security Configuration",required:!1,deprecated:!1},securityProvider:{kind:"parameter",type:"object",description:"Security provider allows plug in the provider, which will be used to secure requests. SPI approach could be used too (endpoint then finds security provider using SPI).",title:"Security Provider",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1},fireWebSocketChannelEvents:{kind:"parameter",type:"boolean",defaultValue:"false",description:"if true, the consumer will post notifications to the route when a new WebSocket peer connects, disconnects, etc. See UndertowConstants.EVENT_TYPE and EventType.",title:"Fire Web Socket Channel Events",required:!1,deprecated:!1},sendTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Timeout in milliseconds when sending to a websocket channel. The default timeout is 30000 (30 seconds).",title:"Send Timeout",required:!1,deprecated:!1},sendToAll:{kind:"parameter",type:"boolean",description:"To send to all websocket subscribers. Can be used to configure on endpoint level, instead of having to use the UndertowConstants.SEND_TO_ALL header on the message.",title:"Send To All",required:!1,deprecated:!1}}},validator:{type:"object",title:"Validator",group:"core,validation",icon:"generic24.png",description:"Validate the payload using XML Schema and JAXP Validation.",properties:{resourceUri:{kind:"path",type:"string",description:"URL to a local resource on the classpath, or a reference to lookup a bean in the Registry, or a full URL to a remote resource or resource on the file system which contains the XSD to validate against.",title:"Resource Uri",required:!0,deprecated:!1},failOnNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to fail if no body exists.",title:"Fail On Null Body",required:!1,deprecated:!1},failOnNullHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to fail if no header exists when validating against a header.",title:"Fail On Null Header",required:!1,deprecated:!1},headerName:{kind:"parameter",type:"string",description:"To validate against a header instead of the message body.",title:"Header Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},errorHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.processor.validation.ValidatorErrorHandler. The default error handler captures the errors and throws an exception.",title:"Error Handler",required:!1,deprecated:!1},resourceResolver:{kind:"parameter",type:"object",description:"To use a custom LSResourceResolver. Do not use together with resourceResolverFactory",title:"Resource Resolver",required:!1,deprecated:!1},resourceResolverFactory:{kind:"parameter",type:"object",description:"To use a custom LSResourceResolver which depends on a dynamic endpoint resource URI. The default resource resolver factory resturns a resource resolver which can read files from the class path and file system. Do not use together with resourceResolver.",title:"Resource Resolver Factory",required:!1,deprecated:!1},schemaFactory:{kind:"parameter",type:"object",description:"To use a custom javax.xml.validation.SchemaFactory",title:"Schema Factory",required:!1,deprecated:!1},schemaLanguage:{kind:"parameter",type:"string",defaultValue:"http://www.w3.org/2001/XMLSchema",description:"Configures the W3C XML Schema Namespace URI.",title:"Schema Language",required:!1,deprecated:!1},useSharedSchema:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the Schema instance should be shared or not. This option is introduced to work around a JDK 1.6.x bug. Xerces should not have this issue.",title:"Use Shared Schema",required:!1,deprecated:!1}}},velocity:{type:"object",title:"Velocity",group:"transformation",icon:"generic24.png",description:"Transform messages using a Velocity template.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"Character encoding of the resource content.",title:"Encoding",required:!1,deprecated:!1},loaderCache:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enables / disables the velocity resource loader cache which is enabled by default",title:"Loader Cache",required:!1,deprecated:!1},propertiesFile:{kind:"parameter",type:"string",description:"The URI of the properties file which is used for VelocityEngine initialization.",title:"Properties File",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},vertx:{type:"object",title:"Vert.x",group:"messaging",icon:"generic24.png",description:"Send and receive messages to/from Vert.x Event Bus.",properties:{address:{kind:"path",type:"string",description:"Sets the event bus address used to communicate",title:"Address",required:!0,deprecated:!1},pubSub:{kind:"parameter",type:"boolean",description:"Whether to use publish/subscribe instead of point to point when sending to a vertx endpoint.",title:"Pub Sub",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"vertx-http":{type:"object",title:"Vert.x HTTP Client",group:"http",icon:"generic24.png",description:"Send requests to external HTTP servers using Vert.x",properties:{httpUri:{kind:"path",type:"string",description:"The HTTP URI to connect to",title:"Http Uri",required:!0,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"60000",description:"The amount of time in milliseconds until a connection is established. A timeout value of zero is interpreted as an infinite timeout.",title:"Connect Timeout",required:!1,deprecated:!1},cookieStore:{kind:"parameter",type:"object",defaultValue:"InMemoryCookieStore",description:"A custom CookieStore to use when session management is enabled. If this option is not set then an in-memory CookieStore is used",title:"Cookie Store",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",defaultValue:"VertxHttpHeaderFilterStrategy",description:"A custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},httpMethod:{kind:"parameter",type:"object",description:"The HTTP method to use. The HttpMethod header cannot override this option if set",title:"Http Method",required:!1,deprecated:!1},okStatusCodeRange:{kind:"parameter",type:"string",defaultValue:"200-299",description:"The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included",title:"Ok Status Code Range",required:!1,deprecated:!1},responsePayloadAsByteArray:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the response body should be byte or as io.vertx.core.buffer.Buffer",title:"Response Payload As Byte Array",required:!1,deprecated:!1},sessionManagement:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables session management via WebClientSession. By default the client is configured to use an in-memory CookieStore. The cookieStore option can be used to override this",title:"Session Management",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Disable throwing HttpOperationFailedException in case of failed responses from the remote server",title:"Throw Exception On Failure",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The amount of time in milliseconds after which if the request does not return any data within the timeout period a TimeoutException fails the request. Setting zero or a negative value disables the timeout.",title:"Timeout",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was sent back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Camel will deserialize the incoming data from the request to a Java object, which can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},useCompression:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether compression is enabled to handled compressed (E.g gzipped) responses",title:"Use Compression",required:!1,deprecated:!1},vertxHttpBinding:{kind:"parameter",type:"object",description:"A custom VertxHttpBinding which can control how to bind between Vert.x and Camel.",title:"Vertx Http Binding",required:!1,deprecated:!1},webClientOptions:{kind:"parameter",type:"object",description:"Sets customized options for configuring the Vert.x WebClient",title:"Web Client Options",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"The proxy server host address",title:"Proxy Host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"The proxy server password if authentication is required",title:"Proxy Password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"The proxy server port",title:"Proxy Port",required:!1,deprecated:!1},proxyType:{kind:"parameter",type:"object",enum:["HTTP","SOCKS4","SOCKS5"],description:"The proxy server type",title:"Proxy Type",required:!1,deprecated:!1},proxyUsername:{kind:"parameter",type:"string",description:"The proxy server username if authentication is required",title:"Proxy Username",required:!1,deprecated:!1},basicAuthPassword:{kind:"parameter",type:"string",description:"The password to use for basic authentication",title:"Basic Auth Password",required:!1,deprecated:!1},basicAuthUsername:{kind:"parameter",type:"string",description:"The user name to use for basic authentication",title:"Basic Auth Username",required:!1,deprecated:!1},bearerToken:{kind:"parameter",type:"string",description:"The bearer token to use for bearer token authentication",title:"Bearer Token",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},"vertx-websocket":{type:"object",title:"Vert.x WebSocket",group:"http,networking",icon:"generic24.png",description:"Expose WebSocket endpoints and connect to remote WebSocket servers using Vert.x",properties:{host:{kind:"path",type:"string",description:"WebSocket hostname, such as localhost or a remote host when in client mode.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"WebSocket port number to use.",title:"Port",required:!0,deprecated:!1},path:{kind:"path",type:"string",description:"WebSocket path to use.",title:"Path",required:!1,deprecated:!1},allowedOriginPattern:{kind:"parameter",type:"string",description:"Regex pattern to match the origin header sent by WebSocket clients",title:"Allowed Origin Pattern",required:!1,deprecated:!1},allowOriginHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the WebSocket client should add the Origin header to the WebSocket handshake request.",title:"Allow Origin Header",required:!1,deprecated:!1},consumeAsClient:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When set to true, the consumer acts as a WebSocket client, creating exchanges on each received WebSocket event.",title:"Consume As Client",required:!1,deprecated:!1},fireWebSocketConnectionEvents:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the server consumer will create a message exchange when a new WebSocket peer connects or disconnects",title:"Fire Web Socket Connection Events",required:!1,deprecated:!1},maxReconnectAttempts:{kind:"parameter",type:"integer",defaultValue:"0",description:"When consumeAsClient is set to true this sets the maximum number of allowed reconnection attempts to a previously closed WebSocket. A value of 0 (the default) will attempt to reconnect indefinitely.",title:"Max Reconnect Attempts",required:!1,deprecated:!1},originHeaderUrl:{kind:"parameter",type:"string",description:"The value of the Origin header that the WebSocket client should use on the WebSocket handshake request. When not specified, the WebSocket client will automatically determine the value for the Origin from the request URL.",title:"Origin Header Url",required:!1,deprecated:!1},reconnectInitialDelay:{kind:"parameter",type:"integer",defaultValue:"0",description:"When consumeAsClient is set to true this sets the initial delay in milliseconds before attempting to reconnect to a previously closed WebSocket.",title:"Reconnect Initial Delay",required:!1,deprecated:!1},reconnectInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"When consumeAsClient is set to true this sets the interval in milliseconds at which reconnecting to a previously closed WebSocket occurs.",title:"Reconnect Interval",required:!1,deprecated:!1},router:{kind:"parameter",type:"object",description:"To use an existing vertx router for the HTTP server",title:"Router",required:!1,deprecated:!1},serverOptions:{kind:"parameter",type:"object",description:"Sets customized options for configuring the HTTP server hosting the WebSocket for the consumer",title:"Server Options",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},clientOptions:{kind:"parameter",type:"object",description:"Sets customized options for configuring the WebSocket client used in the producer",title:"Client Options",required:!1,deprecated:!1},clientSubProtocols:{kind:"parameter",type:"string",description:"Comma separated list of WebSocket subprotocols that the client should use for the Sec-WebSocket-Protocol header",title:"Client Sub Protocols",required:!1,deprecated:!1},sendToAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To send to all websocket subscribers. Can be used to configure at the endpoint level, instead of providing the VertxWebsocketConstants.SEND_TO_ALL header on the message. Note that when using this option, the host name specified for the vertx-websocket producer URI must match one used for an existing vertx-websocket consumer. Note that this option only applies when producing messages to endpoints hosted by the vertx-websocket consumer and not to an externally hosted WebSocket.",title:"Send To All",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},weather:{type:"object",title:"Weather",group:"api",icon:"generic24.png",description:"Poll the weather information from Open Weather Map.",properties:{name:{kind:"path",type:"string",description:"The name value is not used.",title:"Name",required:!0,deprecated:!1},appid:{kind:"parameter",type:"string",description:"APPID ID used to authenticate the user connected to the API Server",title:"Appid",required:!0,deprecated:!1},headerName:{kind:"parameter",type:"string",description:"To store the weather result in this header instead of the message body. This is useable if you want to keep current message body as-is.",title:"Header Name",required:!1,deprecated:!1},language:{kind:"parameter",type:"object",defaultValue:"en",enum:["en","ru","it","es","sp","uk","ua","de","pt","ro","pl","fi","nl","fr","bg","sv","se","zh_tw","zh","zh_cn","tr","hr","ca"],description:"Language of the response.",title:"Language",required:!1,deprecated:!1},mode:{kind:"parameter",type:"object",defaultValue:"JSON",enum:["HTML","JSON","XML"],description:"The output format of the weather data.",title:"Mode",required:!1,deprecated:!1},period:{kind:"parameter",type:"string",description:"If null, the current weather will be returned, else use values of 5, 7, 14 days. Only the numeric value for the forecast period is actually parsed, so spelling, capitalisation of the time period is up to you (its ignored)",title:"Period",required:!1,deprecated:!1},units:{kind:"parameter",type:"object",enum:["IMPERIAL","METRIC"],description:"The units for temperature measurement.",title:"Units",required:!1,deprecated:!1},weatherApi:{kind:"parameter",type:"object",enum:["Current","Station","Hourly","Daily"],description:"The API to use (current, forecast/3 hour, forecast daily, station)",title:"Weather Api",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},geoLocationProvider:{kind:"parameter",type:"object",description:"A custum geolocation provider to determine the longitude and latitude to use when no location information is set. The default implementaion uses the ipstack API and requires geolocationAccessKey and geolocationRequestHostIP",title:"Geo Location Provider",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"To use an existing configured http client (for example with http proxy)",title:"Http Client",required:!1,deprecated:!1},cnt:{kind:"parameter",type:"integer",description:"Number of results to be found",title:"Cnt",required:!1,deprecated:!1},ids:{kind:"parameter",type:"string",description:"List of id's of city/stations. You can separate multiple ids by comma.",title:"Ids",required:!1,deprecated:!1},lat:{kind:"parameter",type:"string",description:"Latitude of location. You can use lat and lon options instead of location. For boxed queries this is the bottom latitude.",title:"Lat",required:!1,deprecated:!1},location:{kind:"parameter",type:"string",description:"If null Camel will try and determine your current location using the geolocation of your ip address, else specify the city,country. For well known city names, Open Weather Map will determine the best fit, but multiple results may be returned. Hence specifying and country as well will return more accurate data. If you specify current as the location then the component will try to get the current latitude and longitude and use that to get the weather details. You can use lat and lon options instead of location.",title:"Location",required:!1,deprecated:!1},lon:{kind:"parameter",type:"string",description:"Longitude of location. You can use lat and lon options instead of location. For boxed queries this is the left longtitude.",title:"Lon",required:!1,deprecated:!1},rightLon:{kind:"parameter",type:"string",description:"For boxed queries this is the right longtitude. Needs to be used in combination with topLat and zoom.",title:"Right Lon",required:!1,deprecated:!1},topLat:{kind:"parameter",type:"string",description:"For boxed queries this is the top latitude. Needs to be used in combination with rightLon and zoom.",title:"Top Lat",required:!1,deprecated:!1},zip:{kind:"parameter",type:"string",description:"Zip-code, e.g. 94040,us",title:"Zip",required:!1,deprecated:!1},zoom:{kind:"parameter",type:"integer",description:"For boxed queries this is the zoom. Needs to be used in combination with rightLon and topLat.",title:"Zoom",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},geolocationAccessKey:{kind:"parameter",type:"string",description:"The geolocation service now needs an accessKey to be used",title:"Geolocation Access Key",required:!0,deprecated:!1},geolocationRequestHostIP:{kind:"parameter",type:"string",description:"The geolocation service now needs to specify the IP associated to the accessKey you're using",title:"Geolocation Request Host IP",required:!0,deprecated:!1}}},web3j:{type:"object",title:"Web3j Ethereum Blockchain",group:"blockchain",icon:"generic24.png",description:"Interact with Ethereum nodes using web3j client API.",properties:{nodeAddress:{kind:"path",type:"string",description:"Sets the node address used to communicate",title:"Node Address",required:!0,deprecated:!1},addresses:{kind:"parameter",type:"array",description:"Contract address or a list of addresses.",title:"Addresses",required:!1,deprecated:!1},fromAddress:{kind:"parameter",type:"string",description:"The address the transaction is send from",title:"From Address",required:!1,deprecated:!1},fromBlock:{kind:"parameter",type:"string",defaultValue:"latest",description:"The block number, or the string latest for the last mined block or pending, earliest for not yet mined transactions.",title:"From Block",required:!1,deprecated:!1},fullTransactionObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true it returns the full transaction objects, if false only the hashes of the transactions.",title:"Full Transaction Objects",required:!1,deprecated:!1},gasLimit:{kind:"parameter",type:"object",description:"The maximum gas allowed in this block.",title:"Gas Limit",required:!1,deprecated:!1},privateFor:{kind:"parameter",type:"array",description:"A transaction privateFor nodes with public keys in a Quorum network",title:"Private For",required:!1,deprecated:!1},quorumAPI:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, this will support Quorum API.",title:"Quorum API",required:!1,deprecated:!1},toAddress:{kind:"parameter",type:"string",description:"The address the transaction is directed to.",title:"To Address",required:!1,deprecated:!1},toBlock:{kind:"parameter",type:"string",defaultValue:"latest",description:"The block number, or the string latest for the last mined block or pending, earliest for not yet mined transactions.",title:"To Block",required:!1,deprecated:!1},topics:{kind:"parameter",type:"string",description:"Topics are order-dependent. Each topic can also be a list of topics. Specify multiple topics separated by comma.",title:"Topics",required:!1,deprecated:!1},web3j:{kind:"parameter",type:"object",description:"The preconfigured Web3j object.",title:"Web3j",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},address:{kind:"parameter",type:"string",description:"Contract address.",title:"Address",required:!1,deprecated:!1},atBlock:{kind:"parameter",type:"string",defaultValue:"latest",description:"The block number, or the string latest for the last mined block or pending, earliest for not yet mined transactions.",title:"At Block",required:!1,deprecated:!1},blockHash:{kind:"parameter",type:"string",description:"Hash of the block where this transaction was in.",title:"Block Hash",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"A random hexadecimal(32 bytes) ID identifying the client.",title:"Client Id",required:!1,deprecated:!1},data:{kind:"parameter",type:"string",description:"The compiled code of a contract OR the hash of the invoked method signature and encoded parameters.",title:"Data",required:!1,deprecated:!1},databaseName:{kind:"parameter",type:"string",description:"The local database name.",title:"Database Name",required:!1,deprecated:!1},filterId:{kind:"parameter",type:"object",description:"The filter id to use.",title:"Filter Id",required:!1,deprecated:!1},gasPrice:{kind:"parameter",type:"object",description:"Gas price used for each paid gas.",title:"Gas Price",required:!1,deprecated:!1},hashrate:{kind:"parameter",type:"string",description:"A hexadecimal string representation (32 bytes) of the hash rate.",title:"Hashrate",required:!1,deprecated:!1},headerPowHash:{kind:"parameter",type:"string",description:"The header's pow-hash (256 bits) used for submitting a proof-of-work solution.",title:"Header Pow Hash",required:!1,deprecated:!1},index:{kind:"parameter",type:"object",description:"The transactions/uncle index position in the block.",title:"Index",required:!1,deprecated:!1},keyName:{kind:"parameter",type:"string",description:"The key name in the database.",title:"Key Name",required:!1,deprecated:!1},mixDigest:{kind:"parameter",type:"string",description:"The mix digest (256 bits) used for submitting a proof-of-work solution.",title:"Mix Digest",required:!1,deprecated:!1},nonce:{kind:"parameter",type:"string",description:"The nonce found (64 bits) used for submitting a proof-of-work solution.",title:"Nonce",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",defaultValue:"transaction",description:"Operation to use.",title:"Operation",required:!1,deprecated:!1},position:{kind:"parameter",type:"object",description:"The transaction index position withing a block.",title:"Position",required:!1,deprecated:!1},priority:{kind:"parameter",type:"object",description:"The priority of a whisper message.",title:"Priority",required:!1,deprecated:!1},sha3HashOfDataToSign:{kind:"parameter",type:"string",description:"Message to sign by calculating an Ethereum specific signature.",title:"Sha3 Hash Of Data To Sign",required:!1,deprecated:!1},signedTransactionData:{kind:"parameter",type:"string",description:"The signed transaction data for a new message call transaction or a contract creation for signed transactions.",title:"Signed Transaction Data",required:!1,deprecated:!1},sourceCode:{kind:"parameter",type:"string",description:"The source code to compile.",title:"Source Code",required:!1,deprecated:!1},transactionHash:{kind:"parameter",type:"string",description:"The information about a transaction requested by transaction hash.",title:"Transaction Hash",required:!1,deprecated:!1},ttl:{kind:"parameter",type:"object",description:"The time to live in seconds of a whisper message.",title:"Ttl",required:!1,deprecated:!1},value:{kind:"parameter",type:"object",description:"The value sent within a transaction.",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},webhook:{type:"object",title:"Webhook",group:"cloud",icon:"generic24.png",description:"Expose webhook endpoints to receive push notifications for other Camel components.",properties:{endpointUri:{kind:"path",type:"string",description:"The delegate uri. Must belong to a component that supports webhooks.",title:"Endpoint Uri",required:!0,deprecated:!1},webhookAutoRegister:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically register the webhook at startup and unregister it on shutdown.",title:"Webhook Auto Register",required:!1,deprecated:!1},webhookBasePath:{kind:"parameter",type:"string",description:"The first (base) path element where the webhook will be exposed. It's a good practice to set it to a random string, so that it cannot be guessed by unauthorized parties.",title:"Webhook Base Path",required:!1,deprecated:!1},webhookComponentName:{kind:"parameter",type:"string",description:"The Camel Rest component to use for the REST transport, such as netty-http.",title:"Webhook Component Name",required:!1,deprecated:!1},webhookExternalUrl:{kind:"parameter",type:"string",description:"The URL of the current service as seen by the webhook provider",title:"Webhook External Url",required:!1,deprecated:!1},webhookPath:{kind:"parameter",type:"string",description:"The path where the webhook endpoint will be exposed (relative to basePath, if any)",title:"Webhook Path",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},whatsapp:{type:"object",title:"WhatsApp",group:"cloud,api,chat",icon:"generic24.png",description:"Send messages to WhatsApp.",properties:{phoneNumberId:{kind:"path",type:"string",description:"The phone number ID taken from whatsapp-business dashboard.",title:"Phone Number Id",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"Facebook graph api version.",title:"Api Version",required:!1,deprecated:!1},baseUri:{kind:"parameter",type:"string",description:"Can be used to set an alternative base URI, e.g. when you want to test the component against a mock WhatsApp API",title:"Base Uri",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"HttpClient implementation",title:"Http Client",required:!1,deprecated:!1},webhookPath:{kind:"parameter",type:"string",defaultValue:"webhook",description:"Webhook path",title:"Webhook Path",required:!1,deprecated:!1},webhookVerifyToken:{kind:"parameter",type:"string",description:"Webhook verify token",title:"Webhook Verify Token",required:!1,deprecated:!1},whatsappService:{kind:"parameter",type:"object",description:"WhatsApp service implementation",title:"Whatsapp Service",required:!1,deprecated:!1},authorizationToken:{kind:"parameter",type:"string",description:"The authorization access token taken from whatsapp-business dashboard.",title:"Authorization Token",required:!0,deprecated:!1}}},wordpress:{type:"object",title:"Wordpress",group:"cloud,api,cms",icon:"generic24.png",description:"Manage posts and users using Wordpress API.",properties:{operation:{kind:"path",type:"string",enum:["post","user"],description:"The endpoint operation.",title:"Operation",required:!0,deprecated:!1},operationDetail:{kind:"path",type:"string",enum:["delete"],description:"The second part of an endpoint operation. Needed only when endpoint semantic is not enough, like wordpress:post:delete",title:"Operation Detail",required:!1,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"2",description:"The Wordpress REST API version",title:"Api Version",required:!1,deprecated:!1},criteria:{kind:"parameter",type:"object",description:"The criteria to use with complex searches.",title:"Criteria",required:!1,deprecated:!1},force:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to bypass trash and force deletion.",title:"Force",required:!1,deprecated:!1},id:{kind:"parameter",type:"integer",description:"The entity ID. Should be passed when the operation performed requires a specific entity, e.g. deleting a post",title:"Id",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password from authorized user",title:"Password",required:!1,deprecated:!1},searchCriteria:{kind:"parameter",type:"object",description:"Search criteria",title:"Search Criteria",required:!1,deprecated:!1},url:{kind:"parameter",type:"string",description:"The Wordpress API URL from your site, e.g. http://myblog.com/wp-json/",title:"Url",required:!0,deprecated:!1},user:{kind:"parameter",type:"string",description:"Authorized user to perform writing operations",title:"User",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},workday:{type:"object",title:"Workday",group:"cloud,api,saas",icon:"generic24.png",description:"Detect and parse documents using Workday.",properties:{entity:{kind:"path",type:"object",enum:["report","commonAPI"],description:"The entity to be requested or subscribed via API.",title:"Entity",required:!0,deprecated:!1},path:{kind:"path",type:"string",description:"The API path to access an entity structure.",title:"Path",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpConnectionManager:{kind:"parameter",type:"object",description:"Pool connection manager for advanced configuration.",title:"Http Connection Manager",required:!1,deprecated:!1},reportFormat:{kind:"parameter",type:"string",defaultValue:"json",enum:["json"],description:"Workday Report as a service output format.",title:"Report Format",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"Workday Host name.",title:"Host",required:!0,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Workday client Id generated by API client for integrations.",title:"Client Id",required:!0,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Workday client Secret generated by API client for integrations.",title:"Client Secret",required:!0,deprecated:!1},tokenRefresh:{kind:"parameter",type:"string",description:"Workday token Refresh generated for integrations system user.",title:"Token Refresh",required:!0,deprecated:!1},tenant:{kind:"parameter",type:"string",description:"Workday Tenant name.",title:"Tenant",required:!0,deprecated:!1}}},xchange:{type:"object",title:"XChange",group:"blockchain",icon:"generic24.png",description:"Access market data and trade on Bitcoin and Altcoin exchanges.",properties:{name:{kind:"path",type:"string",description:"The exchange to connect to",title:"Name",required:!0,deprecated:!1},currency:{kind:"parameter",type:"object",description:"The currency",title:"Currency",required:!1,deprecated:!1},currencyPair:{kind:"parameter",type:"string",description:"The currency pair",title:"Currency Pair",required:!1,deprecated:!1},method:{kind:"parameter",type:"object",enum:["balances","fundingHistory","wallets","currencies","currencyMetaData","currencyPairs","currencyPairMetaData","ticker"],description:"The method to execute",title:"Method",required:!0,deprecated:!1},service:{kind:"parameter",type:"object",enum:["marketdata","metadata","account"],description:"The service to call",title:"Service",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},xj:{type:"object",title:"XJ",group:"transformation",icon:"generic24.png",description:"Transform JSON and XML message using a XSLT.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the template. The following is supported by the default URIResolver. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod",title:"Resource Uri",required:!0,deprecated:!1},allowStAX:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using StAX as the javax.xml.transform.Source. You can enable this if the XSLT library supports StAX such as the Saxon library (camel-saxon). The Xalan library (default in JVM) does not support StAXSource.",title:"Allow StAX",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Cache for the resource content (the stylesheet file) when it is loaded. If set to false Camel will reload the stylesheet file on each message processing. This is good for development. A cached stylesheet can be forced to reload at runtime via JMX using the clearCachedStylesheet operation.",title:"Content Cache",required:!1,deprecated:!1},deleteOutputFile:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If you have output=file then this option dictates whether or not the output file should be deleted when the Exchange is done processing. For example suppose the output file is a temporary file, then it can be a good idea to delete it after use.",title:"Delete Output File",required:!1,deprecated:!1},failOnNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to throw an exception if the input body is null.",title:"Fail On Null Body",required:!1,deprecated:!1},output:{kind:"parameter",type:"object",defaultValue:"string",enum:["string","bytes","DOM","file"],description:"Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key XsltConstants.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime.",title:"Output",required:!1,deprecated:!1},transformDirection:{kind:"parameter",type:"object",enum:["XML2JSON","JSON2XML"],description:"Transform direction. Either XML2JSON or JSON2XML",title:"Transform Direction",required:!0,deprecated:!1},transformerCacheSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The number of javax.xml.transform.Transformer object that are cached for reuse to avoid calls to Template.newTransformer().",title:"Transformer Cache Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},entityResolver:{kind:"parameter",type:"object",description:"To use a custom org.xml.sax.EntityResolver with javax.xml.transform.sax.SAXSource.",title:"Entity Resolver",required:!1,deprecated:!1},errorListener:{kind:"parameter",type:"object",description:"Allows to configure to use a custom javax.xml.transform.ErrorListener. Beware when doing this then the default error listener which captures any errors or fatal errors and store information on the Exchange as properties is not in use. So only use this option for special use-cases.",title:"Error Listener",required:!1,deprecated:!1},resultHandlerFactory:{kind:"parameter",type:"object",description:"Allows you to use a custom org.apache.camel.builder.xml.ResultHandlerFactory which is capable of using custom org.apache.camel.builder.xml.ResultHandler types.",title:"Result Handler Factory",required:!1,deprecated:!1},saxonConfiguration:{kind:"parameter",type:"object",description:"To use a custom Saxon configuration",title:"Saxon Configuration",required:!1,deprecated:!1},saxonExtensionFunctions:{kind:"parameter",type:"string",description:"Allows you to use a custom net.sf.saxon.lib.ExtensionFunctionDefinition. You would need to add camel-saxon to the classpath. The function is looked up in the registry, where you can comma to separate multiple values to lookup.",title:"Saxon Extension Functions",required:!1,deprecated:!1},secureProcessing:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Feature for XML secure processing (see javax.xml.XMLConstants). This is enabled by default. However, when using Saxon Professional you may need to turn this off to allow Saxon to be able to use Java extension functions.",title:"Secure Processing",required:!1,deprecated:!1},transformerFactory:{kind:"parameter",type:"object",description:"To use a custom XSLT transformer factory",title:"Transformer Factory",required:!1,deprecated:!1},transformerFactoryClass:{kind:"parameter",type:"string",description:"To use a custom XSLT transformer factory, specified as a FQN class name",title:"Transformer Factory Class",required:!1,deprecated:!1},transformerFactoryConfigurationStrategy:{kind:"parameter",type:"object",description:"A configuration strategy to apply on freshly created instances of TransformerFactory.",title:"Transformer Factory Configuration Strategy",required:!1,deprecated:!1},uriResolver:{kind:"parameter",type:"object",description:"To use a custom javax.xml.transform.URIResolver",title:"Uri Resolver",required:!1,deprecated:!1},xsltMessageLogger:{kind:"parameter",type:"object",description:"A consumer to messages generated during XSLT transformations.",title:"Xslt Message Logger",required:!1,deprecated:!1}}},"xmlsecurity-sign":{type:"object",title:"XML Security Sign",group:"security,transformation",icon:"generic24.png",description:"Sign XML payloads using the XML signature specification.",properties:{name:{kind:"path",type:"string",description:"The name part in the URI can be chosen by the user to distinguish between different signer endpoints within the camel context.",title:"Name",required:!0,deprecated:!1},addKeyInfoReference:{kind:"parameter",type:"boolean",defaultValue:"true",description:"In order to protect the KeyInfo element from tampering you can add a reference to the signed info element so that it is protected via the signature value. The default value is true. Only relevant when a KeyInfo is returned by KeyAccessor. and KeyInfo#getId() is not null.",title:"Add Key Info Reference",required:!1,deprecated:!1},baseUri:{kind:"parameter",type:"string",description:"You can set a base URI which is used in the URI dereferencing. Relative URIs are then concatenated with the base URI.",title:"Base Uri",required:!1,deprecated:!1},canonicalizationMethod:{kind:"parameter",type:"object",defaultValue:"http://www.w3.org/TR/2001/REC-xml-c14n-20010315",description:"Canonicalization method used to canonicalize the SignedInfo element before the digest is calculated. You can use the helper methods XmlSignatureHelper.getCanonicalizationMethod(String algorithm) or getCanonicalizationMethod(String algorithm, List inclusiveNamespacePrefixes) to create a canonicalization method.",title:"Canonicalization Method",required:!1,deprecated:!1},clearHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Determines if the XML signature specific headers be cleared after signing and verification. Defaults to true.",title:"Clear Headers",required:!1,deprecated:!1},contentObjectId:{kind:"parameter",type:"string",description:"Sets the content object Id attribute value. By default a UUID is generated. If you set the null value, then a new UUID will be generated. Only used in the enveloping case.",title:"Content Object Id",required:!1,deprecated:!1},contentReferenceType:{kind:"parameter",type:"string",description:"Type of the content reference. The default value is null. This value can be overwritten by the header XmlSignatureConstants#HEADER_CONTENT_REFERENCE_TYPE.",title:"Content Reference Type",required:!1,deprecated:!1},contentReferenceUri:{kind:"parameter",type:"string",description:"Reference URI for the content to be signed. Only used in the enveloped case. If the reference URI contains an ID attribute value, then the resource schema URI ( setSchemaResourceUri(String)) must also be set because the schema validator will then find out which attributes are ID attributes. Will be ignored in the enveloping or detached case.",title:"Content Reference Uri",required:!1,deprecated:!1},cryptoContextProperties:{kind:"parameter",type:"object",description:"Sets the crypto context properties. See {link XMLCryptoContext#setProperty(String, Object)}. Possible properties are defined in XMLSignContext an XMLValidateContext (see Supported Properties). The following properties are set by default to the value Boolean#TRUE for the XML validation. If you want to switch these features off you must set the property value to Boolean#FALSE. org.jcp.xml.dsig.validateManifests javax.xml.crypto.dsig.cacheReference",title:"Crypto Context Properties",required:!1,deprecated:!1},digestAlgorithm:{kind:"parameter",type:"string",description:"Digest algorithm URI. Optional parameter. This digest algorithm is used for calculating the digest of the input message. If this digest algorithm is not specified then the digest algorithm is calculated from the signature algorithm. Example: http://www.w3.org/2001/04/xmlenc#sha256",title:"Digest Algorithm",required:!1,deprecated:!1},disallowDoctypeDecl:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Disallows that the incoming XML document contains DTD DOCTYPE declaration. The default value is Boolean#TRUE.",title:"Disallow Doctype Decl",required:!1,deprecated:!1},keyAccessor:{kind:"parameter",type:"object",description:"For the signing process, a private key is necessary. You specify a key accessor bean which provides this private key. The key accessor bean must implement the KeyAccessor interface. The package org.apache.camel.component.xmlsecurity.api contains the default implementation class DefaultKeyAccessor which reads the private key from a Java keystore.",title:"Key Accessor",required:!1,deprecated:!1},omitXmlDeclaration:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicator whether the XML declaration in the outgoing message body should be omitted. Default value is false. Can be overwritten by the header XmlSignatureConstants#HEADER_OMIT_XML_DECLARATION.",title:"Omit Xml Declaration",required:!1,deprecated:!1},outputXmlEncoding:{kind:"parameter",type:"string",description:"The character encoding of the resulting signed XML document. If null then the encoding of the original XML document is used.",title:"Output Xml Encoding",required:!1,deprecated:!1},parentLocalName:{kind:"parameter",type:"string",description:"Local name of the parent element to which the XML signature element will be added. Only relevant for enveloped XML signature. Alternatively you can also use setParentXpath(XPathFilterParameterSpec). Default value is null. The value must be null for enveloping and detached XML signature. This parameter or the parameter setParentXpath(XPathFilterParameterSpec) for enveloped signature and the parameter setXpathsToIdAttributes(List) for detached signature must not be set in the same configuration. If the parameters parentXpath and parentLocalName are specified in the same configuration then an exception is thrown.",title:"Parent Local Name",required:!1,deprecated:!1},parentNamespace:{kind:"parameter",type:"string",description:"Namespace of the parent element to which the XML signature element will be added.",title:"Parent Namespace",required:!1,deprecated:!1},parentXpath:{kind:"parameter",type:"object",description:"Sets the XPath to find the parent node in the enveloped case. Either you specify the parent node via this method or the local name and namespace of the parent with the methods setParentLocalName(String) and setParentNamespace(String). Default value is null. The value must be null for enveloping and detached XML signature. If the parameters parentXpath and parentLocalName are specified in the same configuration then an exception is thrown.",title:"Parent Xpath",required:!1,deprecated:!1},plainText:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicator whether the message body contains plain text. The default value is false, indicating that the message body contains XML. The value can be overwritten by the header XmlSignatureConstants#HEADER_MESSAGE_IS_PLAIN_TEXT.",title:"Plain Text",required:!1,deprecated:!1},plainTextEncoding:{kind:"parameter",type:"string",defaultValue:"UTF-8",description:"Encoding of the plain text. Only relevant if the message body is plain text (see parameter plainText. Default value is UTF-8.",title:"Plain Text Encoding",required:!1,deprecated:!1},prefixForXmlSignatureNamespace:{kind:"parameter",type:"string",defaultValue:"ds",description:"Namespace prefix for the XML signature namespace http://www.w3.org/2000/09/xmldsig#. Default value is ds. If null or an empty value is set then no prefix is used for the XML signature namespace. See best practice http://www.w3.org/TR/xmldsig-bestpractices/#signing-xml- without-namespaces",title:"Prefix For Xml Signature Namespace",required:!1,deprecated:!1},properties:{kind:"parameter",type:"object",description:"For adding additional References and Objects to the XML signature which contain additional properties, you can provide a bean which implements the XmlSignatureProperties interface.",title:"Properties",required:!1,deprecated:!1},schemaResourceUri:{kind:"parameter",type:"string",description:"Classpath to the XML Schema. Must be specified in the detached XML Signature case for determining the ID attributes, might be set in the enveloped and enveloping case. If set, then the XML document is validated with the specified XML schema. The schema resource URI can be overwritten by the header XmlSignatureConstants#HEADER_SCHEMA_RESOURCE_URI.",title:"Schema Resource Uri",required:!1,deprecated:!1},signatureAlgorithm:{kind:"parameter",type:"string",defaultValue:"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",description:"Signature algorithm. Default value is http://www.w3.org/2000/09/xmldsig#rsa-sha1.",title:"Signature Algorithm",required:!1,deprecated:!1},signatureId:{kind:"parameter",type:"string",description:"Sets the signature Id. If this parameter is not set (null value) then a unique ID is generated for the signature ID (default). If this parameter is set to (empty string) then no Id attribute is created in the signature element.",title:"Signature Id",required:!1,deprecated:!1},transformMethods:{kind:"parameter",type:"array",description:"Transforms which are executed on the message body before the digest is calculated. By default, C14n is added and in the case of enveloped signature (see option parentLocalName) also http://www.w3.org/2000/09/xmldsig#enveloped-signature is added at position 0 of the list. Use methods in XmlSignatureHelper to create the transform methods.",title:"Transform Methods",required:!1,deprecated:!1},xpathsToIdAttributes:{kind:"parameter",type:"array",description:"Define the elements which are signed in the detached case via XPATH expressions to ID attributes (attributes of type ID). For each element found via the XPATH expression a detached signature is created whose reference URI contains the corresponding attribute value (preceded by '#'). The signature becomes the last sibling of the signed element. Elements with deeper hierarchy level are signed first. You can also set the XPATH list dynamically via the header XmlSignatureConstants#HEADER_XPATHS_TO_ID_ATTRIBUTES. The parameter setParentLocalName(String) or setParentXpath(XPathFilterParameterSpec) for enveloped signature and this parameter for detached signature must not be set in the same configuration.",title:"Xpaths To Id Attributes",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},uriDereferencer:{kind:"parameter",type:"object",description:"If you want to restrict the remote access via reference URIs, you can set an own dereferencer. Optional parameter. If not set the provider default dereferencer is used which can resolve URI fragments, HTTP, file and XPpointer URIs. Attention: The implementation is provider dependent!",title:"Uri Dereferencer",required:!1,deprecated:!1}}},"xmlsecurity-verify":{type:"object",title:"XML Security Verify",group:"security,transformation",icon:"generic24.png",description:"Verify XML payloads using the XML signature specification.",properties:{name:{kind:"path",type:"string",description:"The name part in the URI can be chosen by the user to distinguish between different verify endpoints within the camel context.",title:"Name",required:!0,deprecated:!1},baseUri:{kind:"parameter",type:"string",description:"You can set a base URI which is used in the URI dereferencing. Relative URIs are then concatenated with the base URI.",title:"Base Uri",required:!1,deprecated:!1},clearHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Determines if the XML signature specific headers be cleared after signing and verification. Defaults to true.",title:"Clear Headers",required:!1,deprecated:!1},cryptoContextProperties:{kind:"parameter",type:"object",description:"Sets the crypto context properties. See {link XMLCryptoContext#setProperty(String, Object)}. Possible properties are defined in XMLSignContext an XMLValidateContext (see Supported Properties). The following properties are set by default to the value Boolean#TRUE for the XML validation. If you want to switch these features off you must set the property value to Boolean#FALSE. org.jcp.xml.dsig.validateManifests javax.xml.crypto.dsig.cacheReference",title:"Crypto Context Properties",required:!1,deprecated:!1},disallowDoctypeDecl:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Disallows that the incoming XML document contains DTD DOCTYPE declaration. The default value is Boolean#TRUE.",title:"Disallow Doctype Decl",required:!1,deprecated:!1},keySelector:{kind:"parameter",type:"object",description:"Provides the key for validating the XML signature.",title:"Key Selector",required:!1,deprecated:!1},omitXmlDeclaration:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicator whether the XML declaration in the outgoing message body should be omitted. Default value is false. Can be overwritten by the header XmlSignatureConstants#HEADER_OMIT_XML_DECLARATION.",title:"Omit Xml Declaration",required:!1,deprecated:!1},outputNodeSearch:{kind:"parameter",type:"object",description:"Sets the output node search value for determining the node from the XML signature document which shall be set to the output message body. The class of the value depends on the type of the output node search. The output node search is forwarded to XmlSignature2Message.",title:"Output Node Search",required:!1,deprecated:!1},outputNodeSearchType:{kind:"parameter",type:"string",defaultValue:"Default",description:"Determines the search type for determining the output node which is serialized into the output message bodyF. See setOutputNodeSearch(Object). The supported default search types you can find in DefaultXmlSignature2Message.",title:"Output Node Search Type",required:!1,deprecated:!1},outputXmlEncoding:{kind:"parameter",type:"string",description:"The character encoding of the resulting signed XML document. If null then the encoding of the original XML document is used.",title:"Output Xml Encoding",required:!1,deprecated:!1},removeSignatureElements:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicator whether the XML signature elements (elements with local name Signature and namesapce http://www.w3.org/2000/09/xmldsig#) shall be removed from the document set to the output message. Normally, this is only necessary, if the XML signature is enveloped. The default value is Boolean#FALSE. This parameter is forwarded to XmlSignature2Message. This indicator has no effect if the output node search is of type DefaultXmlSignature2Message#OUTPUT_NODE_SEARCH_TYPE_DEFAULT.F",title:"Remove Signature Elements",required:!1,deprecated:!1},schemaResourceUri:{kind:"parameter",type:"string",description:"Classpath to the XML Schema. Must be specified in the detached XML Signature case for determining the ID attributes, might be set in the enveloped and enveloping case. If set, then the XML document is validated with the specified XML schema. The schema resource URI can be overwritten by the header XmlSignatureConstants#HEADER_SCHEMA_RESOURCE_URI.",title:"Schema Resource Uri",required:!1,deprecated:!1},secureValidation:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enables secure validation. If true then secure validation is enabled.",title:"Secure Validation",required:!1,deprecated:!1},validationFailedHandler:{kind:"parameter",type:"object",description:"Handles the different validation failed situations. The default implementation throws specific exceptions for the different situations (All exceptions have the package name org.apache.camel.component.xmlsecurity.api and are a sub-class of XmlSignatureInvalidException. If the signature value validation fails, a XmlSignatureInvalidValueException is thrown. If a reference validation fails, a XmlSignatureInvalidContentHashException is thrown. For more detailed information, see the JavaDoc.",title:"Validation Failed Handler",required:!1,deprecated:!1},xmlSignature2Message:{kind:"parameter",type:"object",description:"Bean which maps the XML signature to the output-message after the validation. How this mapping should be done can be configured by the options outputNodeSearchType, outputNodeSearch, and removeSignatureElements. The default implementation offers three possibilities which are related to the three output node search types Default, ElementName, and XPath. The default implementation determines a node which is then serialized and set to the body of the output message If the search type is ElementName then the output node (which must be in this case an element) is determined by the local name and namespace defined in the search value (see option outputNodeSearch). If the search type is XPath then the output node is determined by the XPath specified in the search value (in this case the output node can be of type Element, TextNode or Document). If the output node search type is Default then the following rules apply: In the enveloped XML signature case (there is a reference with URI= and transform http://www.w3.org/2000/09/xmldsig#enveloped-signature), the incoming XML document without the Signature element is set to the output message body. In the non-enveloped XML signature case, the message body is determined from a referenced Object; this is explained in more detail in chapter Output Node Determination in Enveloping XML Signature Case.",title:"Xml Signature2 Message",required:!1,deprecated:!1},xmlSignatureChecker:{kind:"parameter",type:"object",description:"This interface allows the application to check the XML signature before the validation is executed. This step is recommended in http://www.w3.org/TR/xmldsig-bestpractices/#check-what-is-signed",title:"Xml Signature Checker",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},uriDereferencer:{kind:"parameter",type:"object",description:"If you want to restrict the remote access via reference URIs, you can set an own dereferencer. Optional parameter. If not set the provider default dereferencer is used which can resolve URI fragments, HTTP, file and XPpointer URIs. Attention: The implementation is provider dependent!",title:"Uri Dereferencer",required:!1,deprecated:!1}}},xmpp:{type:"object",title:"XMPP",group:"chat,messaging",icon:"generic24.png",description:"Send and receive messages to/from an XMPP chat server.",properties:{host:{kind:"path",type:"string",description:"Hostname for the chat server",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number for the chat server",title:"Port",required:!0,deprecated:!1},participant:{kind:"path",type:"string",description:"JID (Jabber ID) of person to receive messages. room parameter has precedence over participant.",title:"Participant",required:!1,deprecated:!1},login:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to login the user.",title:"Login",required:!1,deprecated:!1},nickname:{kind:"parameter",type:"string",description:"Use nickname when joining room. If room is specified and nickname is not, user will be used for the nickname.",title:"Nickname",required:!1,deprecated:!1},pubsub:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Accept pubsub packets on input, default is false",title:"Pubsub",required:!1,deprecated:!1},room:{kind:"parameter",type:"string",description:"If this option is specified, the component will connect to MUC (Multi User Chat). Usually, the domain name for MUC is different from the login domain. For example, if you are supermanjabber.org and want to join the krypton room, then the room URL is kryptonconference.jabber.org. Note the conference part. It is not a requirement to provide the full room JID. If the room parameter does not contain the symbol, the domain part will be discovered and added by Camel",title:"Room",required:!1,deprecated:!1},serviceName:{kind:"parameter",type:"string",description:"The name of the service you are connecting to. For Google Talk, this would be gmail.com.",title:"Service Name",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to test the connection on startup. This is used to ensure that the XMPP client has a valid connection to the XMPP server when the route starts. Camel throws an exception on startup if a connection cannot be established. When this option is set to false, Camel will attempt to establish a lazy connection when needed by a producer, and will poll for a consumer connection until the connection is established. Default is true.",title:"Test Connection On Startup",required:!1,deprecated:!1},createAccount:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, an attempt to create an account will be made. Default is false.",title:"Create Account",required:!1,deprecated:!1},resource:{kind:"parameter",type:"string",defaultValue:"Camel",description:"XMPP resource. The default is Camel.",title:"Resource",required:!1,deprecated:!1},connectionPollDelay:{kind:"parameter",type:"integer",defaultValue:"10",description:"The amount of time in seconds between polls (in seconds) to verify the health of the XMPP connection, or between attempts to establish an initial consumer connection. Camel will try to re-establish a connection if it has become inactive. Default is 10 seconds.",title:"Connection Poll Delay",required:!1,deprecated:!1},doc:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set a doc header on the IN message containing a Document form of the incoming packet; default is true if presence or pubsub are true, otherwise false",title:"Doc",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionConfig:{kind:"parameter",type:"object",description:"To use an existing connection configuration. Currently org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration is only supported (XMPP over TCP).",title:"Connection Config",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for login",title:"Password",required:!1,deprecated:!1},roomPassword:{kind:"parameter",type:"string",description:"Password for room",title:"Room Password",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"User name (without server name). If not specified, anonymous login will be attempted.",title:"User",required:!1,deprecated:!1}}},xquery:{type:"object",title:"XQuery",group:"transformation",icon:"generic24.png",description:"Query and/or transform XML payloads using XQuery and Saxon.",properties:{resourceUri:{kind:"path",type:"string",description:"The name of the template to load from classpath or file system",title:"Resource Uri",required:!0,deprecated:!1},allowStAX:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow using StAX mode",title:"Allow St AX",required:!1,deprecated:!1},headerName:{kind:"parameter",type:"string",description:"To use a Camel Message header as the input source instead of Message body.",title:"Header Name",required:!1,deprecated:!1},namespacePrefixes:{kind:"parameter",type:"object",description:"Allows to control which namespace prefixes to use for a set of namespace mappings",title:"Namespace Prefixes",required:!1,deprecated:!1},propertyName:{kind:"parameter",type:"string",description:"To use a Camel Exchange property as the input source instead of Message body. It has a lower precedent than the name of header if both are set.",title:"Property Name",required:!1,deprecated:!1},resultsFormat:{kind:"parameter",type:"object",defaultValue:"DOM",enum:["Bytes","BytesSource","DOM","DOMSource","List","String","StringSource"],description:"What output result to use",title:"Results Format",required:!1,deprecated:!1},resultType:{kind:"parameter",type:"string",description:"What output result to use defined as a class",title:"Result Type",required:!1,deprecated:!1},stripsAllWhiteSpace:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to strip all whitespaces",title:"Strips All White Space",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"To use a custom Saxon configuration",title:"Configuration",required:!1,deprecated:!1},configurationProperties:{kind:"parameter",type:"object",description:"To set custom Saxon configuration properties",title:"Configuration Properties",required:!1,deprecated:!1},moduleURIResolver:{kind:"parameter",type:"object",description:"To use the custom ModuleURIResolver",title:"Module URIResolver",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Additional parameters",title:"Parameters",required:!1,deprecated:!1},properties:{kind:"parameter",type:"object",description:"Properties to configure the serialization parameters",title:"Properties",required:!1,deprecated:!1},staticQueryContext:{kind:"parameter",type:"object",description:"To use a custom Saxon StaticQueryContext",title:"Static Query Context",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},xslt:{type:"object",title:"XSLT",group:"core,transformation",icon:"generic24.png",description:"Transforms XML payload using an XSLT template.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the template. The following is supported by the default URIResolver. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod",title:"Resource Uri",required:!0,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Cache for the resource content (the stylesheet file) when it is loaded. If set to false Camel will reload the stylesheet file on each message processing. This is good for development. A cached stylesheet can be forced to reload at runtime via JMX using the clearCachedStylesheet operation.",title:"Content Cache",required:!1,deprecated:!1},deleteOutputFile:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If you have output=file then this option dictates whether or not the output file should be deleted when the Exchange is done processing. For example suppose the output file is a temporary file, then it can be a good idea to delete it after use.",title:"Delete Output File",required:!1,deprecated:!1},failOnNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to throw an exception if the input body is null.",title:"Fail On Null Body",required:!1,deprecated:!1},output:{kind:"parameter",type:"object",defaultValue:"string",enum:["string","bytes","DOM","file"],description:"Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key XsltConstants.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime.",title:"Output",required:!1,deprecated:!1},transformerCacheSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The number of javax.xml.transform.Transformer object that are cached for reuse to avoid calls to Template.newTransformer().",title:"Transformer Cache Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},entityResolver:{kind:"parameter",type:"object",description:"To use a custom org.xml.sax.EntityResolver with javax.xml.transform.sax.SAXSource.",title:"Entity Resolver",required:!1,deprecated:!1},errorListener:{kind:"parameter",type:"object",description:"Allows to configure to use a custom javax.xml.transform.ErrorListener. Beware when doing this then the default error listener which captures any errors or fatal errors and store information on the Exchange as properties is not in use. So only use this option for special use-cases.",title:"Error Listener",required:!1,deprecated:!1},resultHandlerFactory:{kind:"parameter",type:"object",description:"Allows you to use a custom org.apache.camel.builder.xml.ResultHandlerFactory which is capable of using custom org.apache.camel.builder.xml.ResultHandler types.",title:"Result Handler Factory",required:!1,deprecated:!1},transformerFactory:{kind:"parameter",type:"object",description:"To use a custom XSLT transformer factory",title:"Transformer Factory",required:!1,deprecated:!1},transformerFactoryClass:{kind:"parameter",type:"string",description:"To use a custom XSLT transformer factory, specified as a FQN class name",title:"Transformer Factory Class",required:!1,deprecated:!1},transformerFactoryConfigurationStrategy:{kind:"parameter",type:"object",description:"A configuration strategy to apply on freshly created instances of TransformerFactory.",title:"Transformer Factory Configuration Strategy",required:!1,deprecated:!1},uriResolver:{kind:"parameter",type:"object",description:"To use a custom javax.xml.transform.URIResolver",title:"Uri Resolver",required:!1,deprecated:!1},xsltMessageLogger:{kind:"parameter",type:"object",description:"A consumer to messages generated during XSLT transformations.",title:"Xslt Message Logger",required:!1,deprecated:!1}}},"xslt-saxon":{type:"object",title:"XSLT Saxon",group:"core,transformation",icon:"generic24.png",description:"Transform XML payloads using an XSLT template using Saxon.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the template. The following is supported by the default URIResolver. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod",title:"Resource Uri",required:!0,deprecated:!1},allowStAX:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using StAX as the javax.xml.transform.Source. You can enable this if the XSLT library supports StAX such as the Saxon library (camel-saxon). The Xalan library (default in JVM) does not support StAXSource.",title:"Allow StAX",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Cache for the resource content (the stylesheet file) when it is loaded. If set to false Camel will reload the stylesheet file on each message processing. This is good for development. A cached stylesheet can be forced to reload at runtime via JMX using the clearCachedStylesheet operation.",title:"Content Cache",required:!1,deprecated:!1},deleteOutputFile:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If you have output=file then this option dictates whether or not the output file should be deleted when the Exchange is done processing. For example suppose the output file is a temporary file, then it can be a good idea to delete it after use.",title:"Delete Output File",required:!1,deprecated:!1},failOnNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to throw an exception if the input body is null.",title:"Fail On Null Body",required:!1,deprecated:!1},output:{kind:"parameter",type:"object",defaultValue:"string",enum:["string","bytes","DOM","file"],description:"Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key XsltConstants.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime.",title:"Output",required:!1,deprecated:!1},transformerCacheSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The number of javax.xml.transform.Transformer object that are cached for reuse to avoid calls to Template.newTransformer().",title:"Transformer Cache Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},entityResolver:{kind:"parameter",type:"object",description:"To use a custom org.xml.sax.EntityResolver with javax.xml.transform.sax.SAXSource.",title:"Entity Resolver",required:!1,deprecated:!1},errorListener:{kind:"parameter",type:"object",description:"Allows to configure to use a custom javax.xml.transform.ErrorListener. Beware when doing this then the default error listener which captures any errors or fatal errors and store information on the Exchange as properties is not in use. So only use this option for special use-cases.",title:"Error Listener",required:!1,deprecated:!1},resultHandlerFactory:{kind:"parameter",type:"object",description:"Allows you to use a custom org.apache.camel.builder.xml.ResultHandlerFactory which is capable of using custom org.apache.camel.builder.xml.ResultHandler types.",title:"Result Handler Factory",required:!1,deprecated:!1},saxonConfiguration:{kind:"parameter",type:"object",description:"To use a custom Saxon configuration",title:"Saxon Configuration",required:!1,deprecated:!1},saxonExtensionFunctions:{kind:"parameter",type:"string",description:"Allows you to use a custom net.sf.saxon.lib.ExtensionFunctionDefinition. You would need to add camel-saxon to the classpath. The function is looked up in the registry, where you can comma to separate multiple values to lookup.",title:"Saxon Extension Functions",required:!1,deprecated:!1},secureProcessing:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Feature for XML secure processing (see javax.xml.XMLConstants). This is enabled by default. However, when using Saxon Professional you may need to turn this off to allow Saxon to be able to use Java extension functions.",title:"Secure Processing",required:!1,deprecated:!1},transformerFactory:{kind:"parameter",type:"object",description:"To use a custom XSLT transformer factory",title:"Transformer Factory",required:!1,deprecated:!1},transformerFactoryClass:{kind:"parameter",type:"string",description:"To use a custom XSLT transformer factory, specified as a FQN class name",title:"Transformer Factory Class",required:!1,deprecated:!1},transformerFactoryConfigurationStrategy:{kind:"parameter",type:"object",description:"A configuration strategy to apply on freshly created instances of TransformerFactory.",title:"Transformer Factory Configuration Strategy",required:!1,deprecated:!1},uriResolver:{kind:"parameter",type:"object",description:"To use a custom javax.xml.transform.URIResolver",title:"Uri Resolver",required:!1,deprecated:!1},xsltMessageLogger:{kind:"parameter",type:"object",description:"A consumer to messages generated during XSLT transformations.",title:"Xslt Message Logger",required:!1,deprecated:!1}}},zeebe:{type:"object",title:"Zeebe",group:"workflow,saas",icon:"generic24.png",description:"Zeebe component which does integrage with Camunda Zeebe to interact with the API.",properties:{operationName:{kind:"path",type:"object",enum:["startProcess","cancelProcess","publishMessage","completeJob","failJob","updateJobRetries","worker","throwError","deployResource"],description:"The operation to use",title:"Operation Name",required:!0,deprecated:!1},formatJSON:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Format the result in the body as JSON.",title:"Format JSON",required:!1,deprecated:!1},jobKey:{kind:"parameter",type:"string",description:"JobKey for the job worker.",title:"Job Key",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"10",description:"Timeout for job worker.",title:"Timeout",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},zendesk:{type:"object",title:"Zendesk",group:"cloud,api,saas",icon:"generic24.png",description:"Manage Zendesk tickets, users, organizations, etc.",properties:{methodName:{kind:"path",type:"object",enum:["ADD_TAG_TO_ORGANISATIONS","ADD_TAG_TO_TICKET","ADD_TAG_TO_TOPICS","ASSOCIATE_ATTACHMENTS_TO_ARTICLE","CHANGE_USER_PASSWORD","CREATE_ARTICLE","CREATE_ARTICLE_1","CREATE_ARTICLE_TRANSLATION","CREATE_AUTOMATION","CREATE_CATEGORY","CREATE_CATEGORY_TRANSLATION","CREATE_COMMENT","CREATE_CONTENT_TAG","CREATE_DYNAMIC_CONTENT_ITEM","CREATE_DYNAMIC_CONTENT_ITEM_VARIANT","CREATE_FORUM","CREATE_GROUP","CREATE_GROUP_MEMBERSHIP","CREATE_GROUP_MEMBERSHIP_1","CREATE_MACRO","CREATE_OR_UPDATE_ORGANIZATION","CREATE_OR_UPDATE_USER","CREATE_OR_UPDATE_USERS","CREATE_OR_UPDATE_USERS_1","CREATE_OR_UPDATE_USERS_ASYNC","CREATE_ORGANIZATION","CREATE_ORGANIZATION_MEMBERSHIP","CREATE_ORGANIZATION_MEMBERSHIP_1","CREATE_ORGANIZATION_MEMBERSHIPS","CREATE_ORGANIZATION_MEMBERSHIPS_1","CREATE_ORGANIZATION_MEMBERSHIPS_ASYNC","CREATE_ORGANIZATIONS","CREATE_ORGANIZATIONS_1","CREATE_ORGANIZATIONS_ASYNC","CREATE_PERMISSION_GROUP","CREATE_REQUEST","CREATE_SATISFACTION_RATING","CREATE_SATISFACTION_RATING_1","CREATE_SECTION","CREATE_SECTION_TRANSLATION","CREATE_TARGET","CREATE_TICKET","CREATE_TICKET_ASYNC","CREATE_TICKET_FIELD","CREATE_TICKET_FORM","CREATE_TICKET_FROM_TWEET","CREATE_TICKETS","CREATE_TICKETS_1","CREATE_TICKETS_ASYNC","CREATE_TOPIC","CREATE_TRIGGER","CREATE_UPLOAD","CREATE_UPLOAD_1","CREATE_UPLOAD_2","CREATE_UPLOAD_ARTICLE","CREATE_UPLOAD_ARTICLE_1","CREATE_USER","CREATE_USER_IDENTITY","CREATE_USER_IDENTITY_1","CREATE_USER_SEGMENT","CREATE_USERS","CREATE_USERS_1","CREATE_USERS_ASYNC","DELETE_ARTICLE","DELETE_ARTICLE_ATTACHMENT","DELETE_ARTICLE_ATTACHMENT_1","DELETE_ATTACHMENT","DELETE_ATTACHMENT_1","DELETE_AUTOMATION","DELETE_CATEGORY","DELETE_CONTENT_TAG","DELETE_DYNAMIC_CONTENT_ITEM","DELETE_DYNAMIC_CONTENT_ITEM_VARIANT","DELETE_FORUM","DELETE_GROUP","DELETE_GROUP_1","DELETE_GROUP_MEMBERSHIP","DELETE_GROUP_MEMBERSHIP_1","DELETE_GROUP_MEMBERSHIP_2","DELETE_GROUP_MEMBERSHIP_3","DELETE_ORGANIZATION","DELETE_ORGANIZATION_1","DELETE_ORGANIZATION_MEMBERSHIP","DELETE_ORGANIZATION_MEMBERSHIP_1","DELETE_ORGANIZATION_MEMBERSHIP_2","DELETE_ORGANIZATION_MEMBERSHIPS","DELETE_ORGANIZATIONS","DELETE_PERMISSION_GROUP","DELETE_PERMISSION_GROUP_1","DELETE_SECTION","DELETE_SUSPENDED_TICKET","DELETE_SUSPENDED_TICKET_1","DELETE_TARGET","DELETE_TICKET","DELETE_TICKET_1","DELETE_TICKET_FIELD","DELETE_TICKET_FIELD_1","DELETE_TICKET_FORM","DELETE_TICKET_FORM_1","DELETE_TICKETS","DELETE_TOPIC","DELETE_TRANSLATION","DELETE_TRANSLATION_1","DELETE_TRIGGER","DELETE_UPLOAD","DELETE_UPLOAD_1","DELETE_USER","DELETE_USER_1","DELETE_USER_IDENTITY","DELETE_USER_IDENTITY_1","DELETE_USER_IDENTITY_2","DELETE_USER_SEGMENT","DELETE_USER_SEGMENT_1","DELETE_USERS","GET_ACTIVE_TRIGGERS","GET_ARTICLE","GET_ARTICLE_FROM_SEARCH","GET_ARTICLE_FROM_SEARCH_1","GET_ARTICLE_SUBSCRIPTIONS","GET_ARTICLE_SUBSCRIPTIONS_1","GET_ARTICLE_TRANSLATIONS","GET_ARTICLES","GET_ARTICLES_1","GET_ARTICLES_2","GET_ARTICLES_3","GET_ARTICLES_FROM_ALL_LABELS","GET_ARTICLES_FROM_ANY_LABELS","GET_ARTICLES_FROM_PAGE","GET_ARTICLES_INCREMENTALLY","GET_ASSIGNABLE_GROUP_MEMBERSHIPS","GET_ASSIGNABLE_GROUP_MEMBERSHIPS_1","GET_ASSIGNABLE_GROUPS","GET_ASSIGNED_TICKETS_COUNT_FOR_USER","GET_ATTACHMENT","GET_ATTACHMENT_1","GET_ATTACHMENTS_FROM_ARTICLE","GET_AUTHENTICATED_USER","GET_AUTO_COMPLETE_ORGANIZATIONS","GET_AUTOMATION","GET_AUTOMATIONS","GET_BRANDS","GET_CC_REQUESTS","GET_CATEGORIES","GET_CATEGORY","GET_CATEGORY_TRANSLATIONS","GET_CCD_TICKETS_COUNT_FOR_USER","GET_COMPLIANCE_DELETION_STATUSES","GET_CONTENT_TAG","GET_CONTENT_TAGS","GET_CONTENT_TAGS_1","GET_CONTENT_TAGS_2","GET_CURRENT_USER","GET_CUSTOM_AGENT_ROLES","GET_DELETED_TICKETS","GET_DELETED_TICKETS_1","GET_DYNAMIC_CONTENT_ITEM","GET_DYNAMIC_CONTENT_ITEM_VARIANT","GET_DYNAMIC_CONTENT_ITEM_VARIANTS","GET_DYNAMIC_CONTENT_ITEMS","GET_FORUM","GET_FORUMS","GET_FORUMS_1","GET_GROUP","GET_GROUP_MEMBERSHIP","GET_GROUP_MEMBERSHIP_1","GET_GROUP_MEMBERSHIP_BY_USER","GET_GROUP_MEMBERSHIPS","GET_GROUP_MEMBERSHIPS_1","GET_GROUP_ORGANIZATION","GET_GROUP_USERS","GET_GROUPS","GET_HELP_CENTER_LOCALES","GET_HOLIDAYS_FOR_SCHEDULE","GET_HOLIDAYS_FOR_SCHEDULE_1","GET_INCREMENTAL_TICKETS_RESULT","GET_JOB_STATUS","GET_JOB_STATUS_ASYNC","GET_JOB_STATUSES","GET_JOB_STATUSES_ASYNC","GET_MACRO","GET_MACROS","GET_OPEN_REQUESTS","GET_ORGANIZATION","GET_ORGANIZATION_FIELDS","GET_ORGANIZATION_MEMBERSHIP","GET_ORGANIZATION_MEMBERSHIP_BY_USER","GET_ORGANIZATION_MEMBERSHIP_FOR_USER","GET_ORGANIZATION_MEMBERSHIPS","GET_ORGANIZATION_MEMBERSHIPS_FOR_ORG","GET_ORGANIZATION_MEMBERSHIPS_FOR_USER","GET_ORGANIZATION_REQUESTS","GET_ORGANIZATION_TICKETS","GET_ORGANIZATION_USERS","GET_ORGANIZATIONS","GET_ORGANIZATIONS_1","GET_ORGANIZATIONS_INCREMENTALLY","GET_PERMISSION_GROUP","GET_PERMISSION_GROUPS","GET_RECENT_TICKETS","GET_REQUEST","GET_REQUEST_COMMENT","GET_REQUEST_COMMENT_1","GET_REQUEST_COMMENT_2","GET_REQUEST_COMMENTS","GET_REQUEST_COMMENTS_1","GET_REQUESTS","GET_SATISFACTION_RATING","GET_SATISFACTION_RATINGS","GET_SCHEDULE","GET_SCHEDULE_1","GET_SCHEDULES","GET_SEARCH_TICKET_RESULTS","GET_SECTION","GET_SECTION_SUBSCRIPTIONS","GET_SECTION_SUBSCRIPTIONS_1","GET_SECTION_TRANSLATIONS","GET_SECTIONS","GET_SECTIONS_1","GET_SECTIONS_2","GET_SOLVED_REQUESTS","GET_SUSPENDED_TICKETS","GET_TARGET","GET_TARGETS","GET_TICKET","GET_TICKET_AUDIT","GET_TICKET_AUDIT_1","GET_TICKET_AUDIT_2","GET_TICKET_AUDITS","GET_TICKET_AUDITS_1","GET_TICKET_COLLABORATORS","GET_TICKET_COMMENTS","GET_TICKET_COMMENTS_1","GET_TICKET_FIELD","GET_TICKET_FIELDS","GET_TICKET_FORM","GET_TICKET_FORMS","GET_TICKET_INCIDENTS","GET_TICKET_METRIC","GET_TICKET_METRIC_BY_TICKET","GET_TICKET_METRICS","GET_TICKETS","GET_TICKETS_1","GET_TICKETS_BY_EXTERNAL_ID","GET_TICKETS_BY_EXTERNAL_ID_1","GET_TICKETS_COUNT","GET_TICKETS_COUNT_FOR_ORGANIZATION","GET_TICKETS_FROM_SEARCH","GET_TICKETS_INCREMENTALLY","GET_TICKETS_INCREMENTALLY_1","GET_TIME_ZONES","GET_TOPIC","GET_TOPICS","GET_TOPICS_1","GET_TOPICS_2","GET_TOPICS_3","GET_TOPICS_BY_USER","GET_TRIGGER","GET_TRIGGERS","GET_TRIGGERS_1","GET_TWITTER_MONITORS","GET_USER","GET_USER_CCD_TICKETS","GET_USER_FIELDS","GET_USER_IDENTITIES","GET_USER_IDENTITIES_1","GET_USER_IDENTITY","GET_USER_IDENTITY_1","GET_USER_IDENTITY_2","GET_USER_RELATED_INFO","GET_USER_REQUESTED_TICKETS","GET_USER_REQUESTS","GET_USER_REQUESTS_1","GET_USER_SEGMENT","GET_USER_SEGMENTS","GET_USER_SEGMENTS_1","GET_USER_SEGMENTS_APPLICABLE","GET_USER_SUBSCRIPTIONS","GET_USER_SUBSCRIPTIONS_1","GET_USERS","GET_USERS_1","GET_USERS_BY_EXTERNAL_IDS","GET_USERS_BY_EXTERNAL_IDS_1","GET_USERS_BY_ROLE","GET_USERS_INCREMENTALLY","GET_VIEW","GET_VIEWS","IMPORT_TICKET","IMPORT_TOPIC","LIST_HELP_CENTER_LOCALES","LOOKUP_ORGANIZATIONS_BY_EXTERNAL_ID","LOOKUP_USER_BY_EMAIL","LOOKUP_USER_BY_EXTERNAL_ID","MACROS_SHOW_CHANGES_TO_TICKET","MACROS_SHOW_TICKET_AFTER_CHANGES","MAKE_PRIVATE_TICKET_AUDIT","MAKE_PRIVATE_TICKET_AUDIT_1","MAKE_PRIVATE_TICKET_AUDIT_2","MARK_TICKET_AS_SPAM","MARK_TICKET_AS_SPAM_1","MERGE_USERS","NOTIFY_APP","PERMANENTLY_DELETE_TICKET","PERMANENTLY_DELETE_TICKET_1","PERMANENTLY_DELETE_TICKETS","PERMANENTLY_DELETE_USER","PERMANENTLY_DELETE_USER_1","QUEUE_CREATE_TICKET_ASYNC","REMOVE_TAG_FROM_ORGANISATIONS","REMOVE_TAG_FROM_TICKET","REMOVE_TAG_FROM_TOPICS","REQUEST_VERIFY_USER_IDENTITY","REQUEST_VERIFY_USER_IDENTITY_1","REQUEST_VERIFY_USER_IDENTITY_2","RESET_USER_PASSWORD","RESET_USER_PASSWORD_1","SEARCH_TRIGGERS","SEARCH_TRIGGERS_1","SET_GROUP_MEMBERSHIP_AS_DEFAULT","SET_ORGANIZATION_MEMBERSHIP_AS_DEFAULT","SET_TAG_ON_ORGANISATIONS","SET_TAG_ON_TICKET","SET_TAG_ON_TOPICS","SET_USER_PRIMARY_IDENTITY","SET_USER_PRIMARY_IDENTITY_1","SET_USER_PRIMARY_IDENTITY_2","SHOW_ARTICLE_TRANSLATION","SHOW_CATEGORY_TRANSLATION","SHOW_SECTION_TRANSLATION","SUSPEND_USER","TRUST_TICKET_AUDIT","TRUST_TICKET_AUDIT_1","TRUST_TICKET_AUDIT_2","UNSUSPEND_USER","UPDATE_ARTICLE","UPDATE_ARTICLE_TRANSLATION","UPDATE_AUTOMATION","UPDATE_CATEGORY","UPDATE_CATEGORY_TRANSLATION","UPDATE_CONTENT_TAG","UPDATE_DYNAMIC_CONTENT_ITEM","UPDATE_DYNAMIC_CONTENT_ITEM_VARIANT","UPDATE_FORUM","UPDATE_GROUP","UPDATE_INSTALLATION","UPDATE_MACRO","UPDATE_ORGANIZATION","UPDATE_ORGANIZATIONS","UPDATE_ORGANIZATIONS_1","UPDATE_ORGANIZATIONS_ASYNC","UPDATE_PERMISSION_GROUP","UPDATE_REQUEST","UPDATE_SECTION","UPDATE_SECTION_TRANSLATION","UPDATE_TICKET","UPDATE_TICKET_FIELD","UPDATE_TICKET_FORM","UPDATE_TICKETS","UPDATE_TICKETS_1","UPDATE_TICKETS_ASYNC","UPDATE_TOPIC","UPDATE_TRIGGER","UPDATE_USER","UPDATE_USER_IDENTITY","UPDATE_USER_IDENTITY_1","UPDATE_USER_SEGMENT","UPDATE_USERS","UPDATE_USERS_1","UPDATE_USERS_ASYNC","VERIFY_USER_IDENTITY","VERIFY_USER_IDENTITY_1","VERIFY_USER_IDENTITY_2"],description:"What operation to use",title:"Method Name",required:!0,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},serverUrl:{kind:"parameter",type:"string",description:"The server URL to connect.",title:"Server Url",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The OAuth token.",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password.",title:"Password",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"The security token.",title:"Token",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The user name.",title:"Username",required:!1,deprecated:!1}}},zookeeper:{type:"object",title:"ZooKeeper",group:"clustering,management,bigdata",icon:"generic24.png",description:"Manage ZooKeeper clusters.",properties:{serverUrls:{kind:"path",type:"string",description:"The zookeeper server hosts (multiple servers can be separated by comma)",title:"Server Urls",required:!0,deprecated:!1},path:{kind:"path",type:"string",description:"The node in the ZooKeeper server (aka znode)",title:"Path",required:!0,deprecated:!1},listChildren:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the children of the node should be listed",title:"List Children",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"5000",description:"The time interval to wait on connection before timing out.",title:"Timeout",required:!1,deprecated:!1},backoff:{kind:"parameter",type:"integer",defaultValue:"5000",description:"The time interval to backoff for after an error before retrying.",title:"Backoff",required:!1,deprecated:!1},repeat:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should changes to the znode be 'watched' and repeatedly processed.",title:"Repeat",required:!1,deprecated:!1},sendEmptyMessageOnDelete:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Upon the delete of a znode, should an empty message be send to the consumer",title:"Send Empty Message On Delete",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},create:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should the endpoint create the node if it does not currently exist.",title:"Create",required:!1,deprecated:!1},createMode:{kind:"parameter",type:"string",defaultValue:"EPHEMERAL",enum:["PERSISTENT","PERSISTENT_SEQUENTIAL","EPHEMERAL","EPHEMERAL_SEQUENTIAL"],description:"The create mode that should be used for the newly created node",title:"Create Mode",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"zookeeper-master":{type:"object",title:"ZooKeeper Master",group:"clustering,management,bigdata",icon:"generic24.png",description:"Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.",properties:{groupName:{kind:"path",type:"string",description:"The name of the cluster group to use",title:"Group Name",required:!0,deprecated:!1},consumerEndpointUri:{kind:"path",type:"string",description:"The consumer endpoint to use in master/slave mode",title:"Consumer Endpoint Uri",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}}},u="4.0.4"},81433:e=>{"use strict";var t,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,a={};((e,t)=>{for(var i in t)r(e,i,{get:t[i],enumerable:!0})})(a,{apacheCamelModelVersion:()=>u,components:()=>p,dataformats:()=>d,definitions:()=>s,languages:()=>c,rests:()=>l}),e.exports=(t=a,((e,t,a,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of n(t))o.call(e,a)||undefined===a||r(e,a,{get:()=>t[a],enumerable:!(s=i(t,a))||s.enumerable});return e})(r({},"__esModule",{value:!0}),t));var s={expression:{type:"object",title:"expression",group:"language",icon:"generic24.png",description:"Expression in the choose language",properties:{expression:{kind:"element",type:"string",title:"Expression",group:"language",description:"The expression",required:!0},language:{kind:"element",type:"string",title:"Expression",group:"language",description:"The chosen language",required:!0,enum:["constant","csimple","datasonnet","exchangeProperty","groovy","header","hl7terser","java","joor","jq","js","jsonpath","language","method","mvel","ognl","python","ref","simple","spel","tokenize","variable","wasm","xpath","xquery","xtokenize"]}}},aggregate:{type:"object",title:"Aggregate",group:"eip,routing",icon:"aggregate24.png",description:"Aggregates many messages into a single message",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},correlationExpression:{kind:"expression",type:"object",description:"The expression used to calculate the correlation key to use for aggregation. The Exchange which has the same correlation key is aggregated together. If the correlation key could not be evaluated an Exception is thrown. You can disable this by using the ignoreBadCorrelationKeys option.",title:"Correlation Expression",required:!0,deprecated:!1},completionPredicate:{kind:"expression",type:"object",description:"A Predicate to indicate when an aggregated exchange is complete. If this is not specified and the AggregationStrategy object implements Predicate, the aggregationStrategy object will be used as the completionPredicate.",title:"Completion Predicate",required:!1,deprecated:!1},completionTimeoutExpression:{kind:"expression",type:"object",description:"Time in millis that an aggregated exchange should be inactive before its complete (timeout). This option can be set as either a fixed value or using an Expression which allows you to evaluate a timeout dynamically - will use Long as result. If both are set Camel will fallback to use the fixed value if the Expression result was null or 0. You cannot use this option together with completionInterval, only one of the two can be used. By default the timeout checker runs every second, you can use the completionTimeoutCheckerInterval option to configure how frequently to run the checker. The timeout is an approximation and there is no guarantee that the a timeout is triggered exactly after the timeout value. It is not recommended to use very low timeout values or checker intervals.",title:"Completion Timeout Expression",required:!1,deprecated:!1},completionSizeExpression:{kind:"expression",type:"object",description:"Number of messages aggregated before the aggregation is complete. This option can be set as either a fixed value or using an Expression which allows you to evaluate a size dynamically - will use Integer as result. If both are set Camel will fallback to use the fixed value if the Expression result was null or 0.",title:"Completion Size Expression",required:!1,deprecated:!1},optimisticLockRetryPolicy:{kind:"element",type:"object",description:"Allows to configure retry settings when using optimistic locking.",title:"Optimistic Lock Retry Policy",required:!1,deprecated:!1},parallelProcessing:{kind:"attribute",type:"boolean",defaultValue:"false",description:"When aggregated are completed they are being send out of the aggregator. This option indicates whether or not Camel should use a thread pool with multiple threads for concurrency. If no custom thread pool has been specified then Camel creates a default pool with 10 concurrent threads.",title:"Parallel Processing",required:!1,deprecated:!1},optimisticLocking:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Turns on using optimistic locking, which requires the aggregationRepository being used, is supporting this by implementing org.apache.camel.spi.OptimisticLockingAggregationRepository .",title:"Optimistic Locking",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"If using parallelProcessing you can specify a custom thread pool to be used. In fact also if you are not using parallelProcessing this custom thread pool is used to send out aggregated exchanges as well.",title:"Executor Service",required:!1,deprecated:!1},timeoutCheckerExecutorService:{kind:"attribute",type:"object",description:"If using either of the completionTimeout, completionTimeoutExpression, or completionInterval options a background thread is created to check for the completion for every aggregator. Set this option to provide a custom thread pool to be used rather than creating a new thread for every aggregator.",title:"Timeout Checker Executor Service",required:!1,deprecated:!1},aggregateController:{kind:"attribute",type:"object",description:"To use a org.apache.camel.processor.aggregate.AggregateController to allow external sources to control this aggregator.",title:"Aggregate Controller",required:!1,deprecated:!1},aggregationRepository:{kind:"attribute",type:"object",description:"The AggregationRepository to use. Sets the custom aggregate repository to use. Will by default use org.apache.camel.processor.aggregate.MemoryAggregationRepository",title:"Aggregation Repository",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"The AggregationStrategy to use. For example to lookup a bean with the name foo, the value is simply just #bean:foo. Configuring an AggregationStrategy is required, and is used to merge the incoming Exchange with the existing already merged exchanges. At first call the oldExchange parameter is null. On subsequent invocations the oldExchange contains the merged exchanges and newExchange is of course the new incoming Exchange.",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using beans as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used for the very first aggregation. If this option is true then null values is used as the oldExchange (at the very first aggregation), when using beans as the AggregationStrategy.",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},completionSize:{kind:"attribute",type:"integer",description:"Number of messages aggregated before the aggregation is complete. This option can be set as either a fixed value or using an Expression which allows you to evaluate a size dynamically - will use Integer as result. If both are set Camel will fallback to use the fixed value if the Expression result was null or 0.",title:"Completion Size",required:!1,deprecated:!1},completionInterval:{kind:"attribute",type:"duration",description:"A repeating period in millis by which the aggregator will complete all current aggregated exchanges. Camel has a background task which is triggered every period. You cannot use this option together with completionTimeout, only one of them can be used.",title:"Completion Interval",required:!1,deprecated:!1},completionTimeout:{kind:"attribute",type:"duration",description:"Time in millis that an aggregated exchange should be inactive before its complete (timeout). This option can be set as either a fixed value or using an Expression which allows you to evaluate a timeout dynamically - will use Long as result. If both are set Camel will fallback to use the fixed value if the Expression result was null or 0. You cannot use this option together with completionInterval, only one of the two can be used. By default the timeout checker runs every second, you can use the completionTimeoutCheckerInterval option to configure how frequently to run the checker. The timeout is an approximation and there is no guarantee that the a timeout is triggered exactly after the timeout value. It is not recommended to use very low timeout values or checker intervals.",title:"Completion Timeout",required:!1,deprecated:!1},completionTimeoutCheckerInterval:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Interval in millis that is used by the background task that checks for timeouts ( org.apache.camel.TimeoutMap ). By default the timeout checker runs every second. The timeout is an approximation and there is no guarantee that the a timeout is triggered exactly after the timeout value. It is not recommended to use very low timeout values or checker intervals.",title:"Completion Timeout Checker Interval",required:!1,deprecated:!1},completionFromBatchConsumer:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables the batch completion mode where we aggregate from a org.apache.camel.BatchConsumer and aggregate the total number of exchanges the org.apache.camel.BatchConsumer has reported as total by checking the exchange property org.apache.camel.Exchange#BATCH_COMPLETE when its complete. This option cannot be used together with discardOnAggregationFailure.",title:"Completion From Batch Consumer",required:!1,deprecated:!1},completionOnNewCorrelationGroup:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables completion on all previous groups when a new incoming correlation group. This can for example be used to complete groups with same correlation keys when they are in consecutive order. Notice when this is enabled then only 1 correlation group can be in progress as when a new correlation group starts, then the previous groups is forced completed.",title:"Completion On New Correlation Group",required:!1,deprecated:!1},eagerCheckCompletion:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Use eager completion checking which means that the completionPredicate will use the incoming Exchange. As opposed to without eager completion checking the completionPredicate will use the aggregated Exchange.",title:"Eager Check Completion",required:!1,deprecated:!1},ignoreInvalidCorrelationKeys:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If a correlation key cannot be successfully evaluated it will be ignored by logging a DEBUG and then just ignore the incoming Exchange.",title:"Ignore Invalid Correlation Keys",required:!1,deprecated:!1},closeCorrelationKeyOnCompletion:{kind:"attribute",type:"integer",description:"Closes a correlation key when its complete. Any late received exchanges which has a correlation key that has been closed, it will be defined and a ClosedCorrelationKeyException is thrown.",title:"Close Correlation Key On Completion",required:!1,deprecated:!1},discardOnCompletionTimeout:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Discards the aggregated message on completion timeout. This means on timeout the aggregated message is dropped and not sent out of the aggregator.",title:"Discard On Completion Timeout",required:!1,deprecated:!1},discardOnAggregationFailure:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Discards the aggregated message when aggregation failed (an exception was thrown from AggregationStrategy . This means the partly aggregated message is dropped and not sent out of the aggregator. This option cannot be used together with completionFromBatchConsumer.",title:"Discard On Aggregation Failure",required:!1,deprecated:!1},forceCompletionOnStop:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Indicates to complete all current aggregated exchanges when the context is stopped",title:"Force Completion On Stop",required:!1,deprecated:!1},completeAllOnStop:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Indicates to wait to complete all current and partial (pending) aggregated exchanges when the context is stopped. This also means that we will wait for all pending exchanges which are stored in the aggregation repository to complete so the repository is empty before we can stop. You may want to enable this when using the memory based aggregation repository that is memory based only, and do not store data on disk. When this option is enabled, then the aggregator is waiting to complete all those exchanges before its stopped, when stopping CamelContext or the route using it.",title:"Complete All On Stop",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},batchConfig:{type:"object",title:"Batch Config",group:"configuration,eip",icon:"generic24.png",description:"Configures batch-processing resequence eip.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{batchSize:{kind:"attribute",type:"integer",defaultValue:"100",description:"Sets the size of the batch to be re-ordered. The default size is 100.",title:"Batch Size",required:!1,deprecated:!1},batchTimeout:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the timeout for collecting elements to be re-ordered. The default timeout is 1000 msec.",title:"Batch Timeout",required:!1,deprecated:!1},allowDuplicates:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to allow duplicates.",title:"Allow Duplicates",required:!1,deprecated:!1},reverse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to reverse the ordering.",title:"Reverse",required:!1,deprecated:!1},ignoreInvalidExchanges:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore invalid exchanges",title:"Ignore Invalid Exchanges",required:!1,deprecated:!1}}},bean:{type:"object",title:"Bean",group:"eip,endpoint",icon:"bean24.png",description:"Calls a Java bean",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Sets a reference to an exiting bean to use, which is looked up from the registry",title:"Ref",required:!1,deprecated:!1},method:{kind:"attribute",type:"string",description:"Sets the method name on the bean to use",title:"Method",required:!1,deprecated:!1},beanType:{kind:"attribute",type:"string",description:"Sets the class name (fully qualified) of the bean to use",title:"Bean Type",required:!1,deprecated:!1},scope:{kind:"attribute",type:"enum",defaultValue:"Singleton",enum:["Singleton","Request","Prototype"],description:"Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while processing the request. The bean does not have to be thread-safe as the instance is only called from the same request. When using prototype scope, then the bean will be looked up or created per call. However in case of lookup then this is delegated to the bean registry such as Spring or CDI (if in use), which depends on their configuration can act as either singleton or prototype scope. So when using prototype scope then this depends on the bean registry implementation.",title:"Scope",required:!1,deprecated:!1}}},blacklistServiceFilter:{type:"object",title:"Blacklist Service Filter",group:"routing,cloud,service-filter",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},servers:{kind:"element",type:"array",description:"Sets the server blacklist. Each entry can be a list of servers separated by comma in the format: servicehost:port,servicehost2:port,servicehost3:port",title:"Servers",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},cachingServiceDiscovery:{type:"object",title:"Caching Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"integer",defaultValue:"60",description:"Set the time the services will be retained.",title:"Timeout",required:!1,deprecated:!1},units:{kind:"attribute",type:"enum",defaultValue:"SECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Set the time unit for the timeout.",title:"Units",required:!1,deprecated:!1},serviceDiscoveryConfiguration:{kind:"element",type:"object",description:"Set the service-call configuration to use",title:"Service Discovery Configuration",required:!0,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},choice:{type:"object",title:"Choice",group:"eip,routing",icon:"choice24.png",description:"Route messages based on a series of predicates",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},when:{kind:"element",type:"array",description:"Sets the when nodes",title:"When",required:!1,deprecated:!1},otherwise:{kind:"element",type:"object",description:"Sets the otherwise node",title:"Otherwise",required:!1,deprecated:!1},precondition:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Indicates whether this Choice EIP is in precondition mode or not. If so its branches (when/otherwise) are evaluated during startup to keep at runtime only the branch that matched.",title:"Precondition",required:!1,deprecated:!1}}},circuitBreaker:{type:"object",title:"Circuit Breaker",group:"eip,routing",icon:"generic24.png",description:"Route messages in a fault tolerance way using Circuit Breaker",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},configuration:{kind:"attribute",type:"string",description:"Refers to a circuit breaker configuration (such as resillience4j, or microprofile-fault-tolerance) to use for configuring the circuit breaker EIP.",title:"Configuration",required:!1,deprecated:!1},resilience4jConfiguration:{kind:"element",type:"object",description:"Configures the circuit breaker to use Resilience4j with the given configuration.",title:"Resilience4j Configuration",required:!1,deprecated:!1},faultToleranceConfiguration:{kind:"element",type:"object",description:"Configures the circuit breaker to use MicroProfile Fault Tolerance with the given configuration.",title:"Fault Tolerance Configuration",required:!1,deprecated:!1},onFallback:{kind:"element",type:"object",description:"The fallback route path to execute that does not go over the network. This should be a static or cached result that can immediately be returned upon failure. If the fallback requires network connection then use onFallbackViaNetwork() .",title:"On Fallback",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},claimCheck:{type:"object",title:"Claim Check",group:"eip,routing",icon:"generic24.png",description:"The Claim Check EIP allows you to replace message content with a claim check (a unique key), which can be used to retrieve the message content at a later time.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},operation:{kind:"attribute",type:"enum",enum:["Get","GetAndRemove","Set","Push","Pop"],description:"The claim check operation to use. The following operations are supported: Get - Gets (does not remove) the claim check by the given key. GetAndRemove - Gets and removes the claim check by the given key. Set - Sets a new (will override if key already exists) claim check with the given key. Push - Sets a new claim check on the stack (does not use key). Pop - Gets the latest claim check from the stack (does not use key).",title:"Operation",required:!1,deprecated:!1},key:{kind:"attribute",type:"string",description:"To use a specific key for claim check id (for dynamic keys use simple language syntax as the key).",title:"Key",required:!1,deprecated:!1},filter:{kind:"attribute",type:"string",description:"Specify a filter to control what data gets merged data back from the claim check repository. The following syntax is supported: body - to aggregate the message body attachments - to aggregate all the message attachments headers - to aggregate all the message headers header:pattern - to aggregate all the message headers that matches the pattern. The following pattern rules are applied in this order: exact match, returns true wildcard match (pattern ends with a and the name starts with the pattern), returns true regular expression match, returns true otherwise returns false You can specify multiple rules separated by comma. For example, the following includes the message body and all headers starting with foo: body,header:foo. The syntax supports the following prefixes which can be used to specify include,exclude, or remove - to include (which is the default mode) - - to exclude (exclude takes precedence over include) -- - to remove (remove takes precedence) For example to exclude a header name foo, and remove all headers starting with bar, -header:foo,--headers:bar Note you cannot have both include and exclude header:pattern at the same time.",title:"Filter",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"To use a custom AggregationStrategy instead of the default implementation. Notice you cannot use both custom aggregation strategy and configure data at the same time.",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1}}},combinedServiceDiscovery:{type:"object",title:"Combined Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},serviceDiscoveryConfigurations:{kind:"element",type:"array",description:"List of ServiceDiscovery configuration to use",title:"Service Discovery Configurations",required:!0,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},combinedServiceFilter:{type:"object",title:"Combined Service Filter",group:"routing,cloud,service-filter",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},serviceFilterConfigurations:{kind:"element",type:"array",description:"List of ServiceFilter configuration to use",title:"Service Filter Configurations",required:!0,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},consulServiceDiscovery:{type:"object",title:"Consul Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},url:{kind:"attribute",type:"string",description:"The Consul agent URL",title:"Url",required:!1,deprecated:!1},datacenter:{kind:"attribute",type:"string",description:"The data center",title:"Datacenter",required:!1,deprecated:!1},aclToken:{kind:"attribute",type:"string",description:"Sets the ACL token to be used with Consul",title:"Acl Token",required:!1,deprecated:!1},userName:{kind:"attribute",type:"string",description:"Sets the username to be used for basic authentication",title:"User Name",required:!1,deprecated:!1},password:{kind:"attribute",type:"string",description:"Sets the password to be used for basic authentication",title:"Password",required:!1,deprecated:!1},connectTimeoutMillis:{kind:"attribute",type:"integer",description:"Connect timeout for OkHttpClient",title:"Connect Timeout Millis",required:!1,deprecated:!1},readTimeoutMillis:{kind:"attribute",type:"integer",description:"Read timeout for OkHttpClient",title:"Read Timeout Millis",required:!1,deprecated:!1},writeTimeoutMillis:{kind:"attribute",type:"integer",description:"Write timeout for OkHttpClient",title:"Write Timeout Millis",required:!1,deprecated:!1},blockSeconds:{kind:"attribute",type:"integer",defaultValue:"10",description:"The seconds to wait for a watch event, default 10 seconds",title:"Block Seconds",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},contextScan:{type:"object",title:"Context Scan",group:"configuration",icon:"generic24.png",description:"Scans for Java org.apache.camel.builder.RouteBuilder instances in the context org.apache.camel.spi.Registry .",properties:{includeNonSingletons:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to include non-singleton beans (prototypes) By default only singleton beans is included in the context scan",title:"Include Non Singletons",required:!1,deprecated:!1},excludes:{kind:"element",type:"array",description:"Exclude finding route builder from these java package names.",title:"Excludes",required:!1,deprecated:!1},includes:{kind:"element",type:"array",description:"Include finding route builder from these java package names.",title:"Includes",required:!1,deprecated:!1}}},convertBodyTo:{type:"object",title:"Convert Body To",group:"eip,transformation",icon:"convertBodyTo24.png",description:"Converts the message body to another type",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"The java type to convert to",title:"Type",required:!0,deprecated:!1},mandatory:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When mandatory then the conversion must return a value (cannot be null), if this is not possible then NoTypeConversionAvailableException is thrown. Setting this to false could mean conversion is not possible and the value is null.",title:"Mandatory",required:!1,deprecated:!1},charset:{kind:"attribute",type:"string",description:"To use a specific charset when converting",title:"Charset",required:!1,deprecated:!1}}},convertHeaderTo:{type:"object",title:"Convert Header To",group:"eip,transformation",icon:"generic24.png",description:"Converts the message header to another type",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Name of message header to convert its value The simple language can be used to define a dynamic evaluated header name to be used. Otherwise a constant name will be used.",title:"Name",required:!0,deprecated:!1},type:{kind:"attribute",type:"string",description:"The java type to convert to",title:"Type",required:!0,deprecated:!1},toName:{kind:"attribute",type:"string",description:"To use another header to store the result. By default, the result is stored in the same header. This option allows to use another header. The simple language can be used to define a dynamic evaluated header name to be used. Otherwise a constant name will be used.",title:"To Name",required:!1,deprecated:!1},mandatory:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When mandatory then the conversion must return a value (cannot be null), if this is not possible then NoTypeConversionAvailableException is thrown. Setting this to false could mean conversion is not possible and the value is null.",title:"Mandatory",required:!1,deprecated:!1},charset:{kind:"attribute",type:"string",description:"To use a specific charset when converting",title:"Charset",required:!1,deprecated:!1}}},convertVariableTo:{type:"object",title:"Convert Variable To",group:"eip,transformation",icon:"generic24.png",description:"Converts the variable to another type",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Name of variable to convert its value The simple language can be used to define a dynamic evaluated header name to be used. Otherwise a constant name will be used.",title:"Name",required:!0,deprecated:!1},type:{kind:"attribute",type:"string",description:"The java type to convert to",title:"Type",required:!0,deprecated:!1},toName:{kind:"attribute",type:"string",description:"To use another variable to store the result. By default, the result is stored in the same variable. This option allows to use another variable. The simple language can be used to define a dynamic evaluated variable name to be used. Otherwise a constant name will be used.",title:"To Name",required:!1,deprecated:!1},mandatory:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When mandatory then the conversion must return a value (cannot be null), if this is not possible then NoTypeConversionAvailableException is thrown. Setting this to false could mean conversion is not possible and the value is null.",title:"Mandatory",required:!1,deprecated:!1},charset:{kind:"attribute",type:"string",description:"To use a specific charset when converting",title:"Charset",required:!1,deprecated:!1}}},customLoadBalancer:{type:"object",title:"Custom Load Balancer",group:"eip,routing",icon:"generic24.png",description:"To use a custom load balancer implementation.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Refers to the custom load balancer to lookup from the registry",title:"Ref",required:!0,deprecated:!1}}},customServiceFilter:{type:"object",title:"Custom Service Filter",group:"routing,cloud,service-filter",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Reference of a ServiceFilter",title:"Ref",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},deadLetterChannel:{type:"object",title:"Dead Letter Channel",group:"configuration,error",icon:"generic24.png",description:"Error handler with dead letter queue.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},deadLetterUri:{kind:"attribute",type:"string",description:"The dead letter endpoint uri for the Dead Letter error handler.",title:"Dead Letter Uri",required:!0,deprecated:!1},deadLetterHandleNewException:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the dead letter channel should handle (and ignore) any new exception that may been thrown during sending the message to the dead letter endpoint. The default value is true which means any such kind of exception is handled and ignored. Set this to false to let the exception be propagated back on the org.apache.camel.Exchange . This can be used in situations where you use transactions, and want to use Camel's dead letter channel to deal with exceptions during routing, but if the dead letter channel itself fails because of a new exception being thrown, then by setting this to false the new exceptions is propagated back and set on the org.apache.camel.Exchange , which allows the transaction to detect the exception, and rollback.",title:"Dead Letter Handle New Exception",required:!1,deprecated:!1},redeliveryPolicy:{kind:"element",type:"object",description:"Sets the redelivery settings",title:"Redelivery Policy",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},useOriginalBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Body",required:!1,deprecated:!1},redeliveryPolicyRef:{kind:"attribute",type:"object",description:"Sets a reference to a RedeliveryPolicy to be used for redelivery settings.",title:"Redelivery Policy Ref",required:!1,deprecated:!1},loggerRef:{kind:"attribute",type:"string",description:"References to a logger to use as logger for the error handler",title:"Logger Ref",required:!1,deprecated:!1},level:{kind:"attribute",type:"enum",defaultValue:"ERROR",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to use by error handler",title:"Level",required:!1,deprecated:!1},logName:{kind:"attribute",type:"string",description:"Name of the logger to use by the error handler",title:"Log Name",required:!1,deprecated:!1},onRedeliveryRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.",title:"On Redelivery Ref",required:!1,deprecated:!1},onExceptionOccurredRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.",title:"On Exception Occurred Ref",required:!1,deprecated:!1},onPrepareFailureRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor to prepare the org.apache.camel.Exchange before handled by the failure processor / dead letter channel. This allows for example to enrich the message before sending to a dead letter queue.",title:"On Prepare Failure Ref",required:!1,deprecated:!1},retryWhileRef:{kind:"attribute",type:"object",description:"Sets a retry while predicate. Will continue retrying until the predicate evaluates to false.",title:"Retry While Ref",required:!1,deprecated:!1},executorServiceRef:{kind:"attribute",type:"object",description:"Sets a reference to a thread pool to be used by the error handler",title:"Executor Service Ref",required:!1,deprecated:!1}}},defaultErrorHandler:{type:"object",title:"Default Error Handler",group:"configuration,error",icon:"generic24.png",description:"The default error handler.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},redeliveryPolicy:{kind:"element",type:"object",description:"Sets the redelivery settings",title:"Redelivery Policy",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},useOriginalBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Body",required:!1,deprecated:!1},redeliveryPolicyRef:{kind:"attribute",type:"object",description:"Sets a reference to a RedeliveryPolicy to be used for redelivery settings.",title:"Redelivery Policy Ref",required:!1,deprecated:!1},loggerRef:{kind:"attribute",type:"string",description:"References to a logger to use as logger for the error handler",title:"Logger Ref",required:!1,deprecated:!1},level:{kind:"attribute",type:"enum",defaultValue:"ERROR",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to use by error handler",title:"Level",required:!1,deprecated:!1},logName:{kind:"attribute",type:"string",description:"Name of the logger to use by the error handler",title:"Log Name",required:!1,deprecated:!1},onRedeliveryRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.",title:"On Redelivery Ref",required:!1,deprecated:!1},onExceptionOccurredRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.",title:"On Exception Occurred Ref",required:!1,deprecated:!1},onPrepareFailureRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor to prepare the org.apache.camel.Exchange before handled by the failure processor / dead letter channel. This allows for example to enrich the message before sending to a dead letter queue.",title:"On Prepare Failure Ref",required:!1,deprecated:!1},retryWhileRef:{kind:"attribute",type:"object",description:"Sets a retry while predicate. Will continue retrying until the predicate evaluates to false.",title:"Retry While Ref",required:!1,deprecated:!1},executorServiceRef:{kind:"attribute",type:"object",description:"Sets a reference to a thread pool to be used by the error handler",title:"Executor Service Ref",required:!1,deprecated:!1}}},defaultLoadBalancer:{type:"object",title:"Default Load Balancer",group:"routing,cloud,load-balancing",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},delay:{type:"object",title:"Delay",group:"eip,routing",icon:"generic24.png",description:"Delays processing for a specified length of time",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to define how long time to wait (in millis)",title:"Expression",required:!0,deprecated:!1},asyncDelayed:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Enables asynchronous delay which means the thread will not block while delaying.",title:"Async Delayed",required:!1,deprecated:!1},callerRunsWhenRejected:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the caller should run the task when it was rejected by the thread pool. Is by default true",title:"Caller Runs When Rejected",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom Thread Pool if asyncDelay has been enabled.",title:"Executor Service",required:!1,deprecated:!1}}},dnsServiceDiscovery:{type:"object",title:"Dns Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},proto:{kind:"attribute",type:"string",defaultValue:"_tcp",description:"The transport protocol of the desired service.",title:"Proto",required:!1,deprecated:!1},domain:{kind:"attribute",type:"string",description:"The domain name;",title:"Domain",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},doCatch:{type:"object",title:"Do Catch",group:"error",icon:"generic24.png",description:"Catches exceptions as part of a try, catch, finally block",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},exception:{kind:"element",type:"array",description:"The exception(s) to catch.",title:"Exception",required:!1,deprecated:!1},onWhen:{kind:"element",type:"object",description:"Sets an additional predicate that should be true before the onCatch is triggered. To be used for fine grained controlling whether a thrown exception should be intercepted by this exception type or not.",title:"On When",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},doFinally:{type:"object",title:"Do Finally",group:"error",icon:"generic24.png",description:"Path traversed when a try, catch, finally block exits",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},doTry:{type:"object",title:"Do Try",group:"error",icon:"generic24.png",description:"Marks the beginning of a try, catch, finally block",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},dynamicRouter:{type:"object",title:"Dynamic Router",group:"eip,routing",icon:"dynamicRouter24.png",description:"Route messages based on dynamic rules",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to call that returns the endpoint(s) to route to in the dynamic routing. Important: The expression will be called in a while loop fashion, until the expression returns null which means the dynamic router is finished.",title:"Expression",required:!0,deprecated:!1},uriDelimiter:{kind:"attribute",type:"string",defaultValue:",",description:"Sets the uri delimiter to use",title:"Uri Delimiter",required:!1,deprecated:!1},ignoreInvalidEndpoints:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Ignore the invalidate endpoint exception when try to create a producer with that endpoint",title:"Ignore Invalid Endpoints",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producers when using this dynamic router, when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1}}},enrich:{type:"object",title:"Enrich",group:"eip,transformation",icon:"enrich24.png",description:"Enriches a message with data from a secondary resource",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression that computes the endpoint uri to use as the resource endpoint to enrich from",title:"Expression",required:!0,deprecated:!1},variableSend:{kind:"attribute",type:"string",description:"To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .",title:"Variable Send",required:!1,deprecated:!1},variableReceive:{kind:"attribute",type:"string",description:"To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .",title:"Variable Receive",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"Sets the AggregationStrategy to be used to merge the reply from the external service, into a single outgoing message. By default Camel will use the reply from the external service as outgoing message.",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"string",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},aggregateOnException:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was an exception thrown while trying to retrieve the data to enrich from the resource. Setting this option to true allows end users to control what to do if there was an exception in the aggregate method. For example to suppress the exception or set a custom message body etc.",title:"Aggregate On Exception",required:!1,deprecated:!1},shareUnitOfWork:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Shares the org.apache.camel.spi.UnitOfWork with the parent and the resource exchange. Enrich will by default not share unit of work between the parent exchange and the resource exchange. This means the resource exchange has its own individual unit of work.",title:"Share Unit Of Work",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producer when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},ignoreInvalidEndpoint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Ignore the invalidate endpoint exception when try to create a producer with that endpoint",title:"Ignore Invalid Endpoint",required:!1,deprecated:!1},allowOptimisedComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to allow components to optimise enricher if they are org.apache.camel.spi.SendDynamicAware .",title:"Allow Optimised Components",required:!1,deprecated:!1},autoStartComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to auto startup components when enricher is starting up.",title:"Auto Start Components",required:!1,deprecated:!1}}},errorHandler:{type:"object",title:"Error Handler",group:"configuration,error",icon:"generic24.png",description:"Camel error handling.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},errorHandlerType:{kind:"element",type:"object",description:"The specific error handler in use.",title:"Error Handler Type",required:!0,deprecated:!1}}},failover:{type:"object",title:"Failover",group:"eip,routing",icon:"generic24.png",description:"In case of failures the exchange will be tried on the next endpoint.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},exception:{kind:"element",type:"array",description:"A list of class names for specific exceptions to monitor. If no exceptions are configured then all exceptions are monitored",title:"Exception",required:!1,deprecated:!1},roundRobin:{kind:"attribute",type:"string",description:"Whether or not the failover load balancer should operate in round robin mode or not. If not, then it will always start from the first endpoint when a new message is to be processed. In other words it restart from the top for every message. If round robin is enabled, then it keeps state and will continue with the next endpoint in a round robin fashion. You can also enable sticky mode together with round robin, if so then it will pick the last known good endpoint to use when starting the load balancing (instead of using the next when starting).",title:"Round Robin",required:!1,deprecated:!1},sticky:{kind:"attribute",type:"string",description:"Whether or not the failover load balancer should operate in sticky mode or not. If not, then it will always start from the first endpoint when a new message is to be processed. In other words it restart from the top for every message. If sticky is enabled, then it keeps state and will continue with the last known good endpoint. You can also enable sticky mode together with round robin, if so then it will pick the last known good endpoint to use when starting the load balancing (instead of using the next when starting).",title:"Sticky",required:!1,deprecated:!1},maximumFailoverAttempts:{kind:"attribute",type:"string",defaultValue:"-1",description:"A value to indicate after X failover attempts we should exhaust (give up). Use -1 to indicate never give up and continuously try to failover. Use 0 to never failover. And use e.g. 3 to failover at most 3 times before giving up. his option can be used whether or not roundRobin is enabled or not.",title:"Maximum Failover Attempts",required:!1,deprecated:!1}}},faultToleranceConfiguration:{type:"object",title:"Fault Tolerance Configuration",group:"configuration,eip",icon:"generic24.png",description:"MicroProfile Fault Tolerance Circuit Breaker EIP configuration",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},circuitBreaker:{kind:"attribute",type:"string",description:"Refers to an existing io.smallrye.faulttolerance.core.circuit.breaker.CircuitBreaker instance to lookup and use from the registry. When using this, then any other circuit breaker options are not in use.",title:"Circuit Breaker",required:!1,deprecated:!1},delay:{kind:"attribute",type:"duration",defaultValue:"5000",description:"Control how long the circuit breaker stays open. The default is 5 seconds.",title:"Delay",required:!1,deprecated:!1},successThreshold:{kind:"attribute",type:"integer",defaultValue:"1",description:"Controls the number of trial calls which are allowed when the circuit breaker is half-open",title:"Success Threshold",required:!1,deprecated:!1},requestVolumeThreshold:{kind:"attribute",type:"integer",defaultValue:"20",description:"Controls the size of the rolling window used when the circuit breaker is closed",title:"Request Volume Threshold",required:!1,deprecated:!1},failureRatio:{kind:"attribute",type:"integer",defaultValue:"50",description:"Configures the failure rate threshold in percentage. If the failure rate is equal or greater than the threshold the CircuitBreaker transitions to open and starts short-circuiting calls. The threshold must be greater than 0 and not greater than 100. Default value is 50 percentage.",title:"Failure Ratio",required:!1,deprecated:!1},timeoutEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether timeout is enabled or not on the circuit breaker. Default is false.",title:"Timeout Enabled",required:!1,deprecated:!1},timeoutDuration:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Configures the thread execution timeout. Default value is 1 second.",title:"Timeout Duration",required:!1,deprecated:!1},timeoutPoolSize:{kind:"attribute",type:"integer",defaultValue:"10",description:"Configures the pool size of the thread pool when timeout is enabled. Default value is 10.",title:"Timeout Pool Size",required:!1,deprecated:!1},timeoutScheduledExecutorService:{kind:"attribute",type:"object",description:"References to a custom thread pool to use when timeout is enabled",title:"Timeout Scheduled Executor Service",required:!1,deprecated:!1},bulkheadEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether bulkhead is enabled or not on the circuit breaker. Default is false.",title:"Bulkhead Enabled",required:!1,deprecated:!1},bulkheadMaxConcurrentCalls:{kind:"attribute",type:"integer",defaultValue:"10",description:"Configures the max amount of concurrent calls the bulkhead will support.",title:"Bulkhead Max Concurrent Calls",required:!1,deprecated:!1},bulkheadWaitingTaskQueue:{kind:"attribute",type:"integer",defaultValue:"10",description:"Configures the task queue size for holding waiting tasks to be processed by the bulkhead.",title:"Bulkhead Waiting Task Queue",required:!1,deprecated:!1},bulkheadExecutorService:{kind:"attribute",type:"object",description:"References to a custom thread pool to use when bulkhead is enabled.",title:"Bulkhead Executor Service",required:!1,deprecated:!1}}},filter:{type:"object",title:"Filter",group:"eip,routing",icon:"filter24.png",description:"Filter out messages based using a predicate",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to determine if the message should be filtered or not. If the expression returns an empty value or false then the message is filtered (dropped), otherwise the message is continued being routed.",title:"Expression",required:!0,deprecated:!1},statusPropertyName:{kind:"attribute",type:"string",description:"Name of exchange property to use for storing the status of the filtering. Setting this allows to know if the filter predicate evaluated as true or false.",title:"Status Property Name",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},from:{type:"object",title:"From",group:"eip,routing",icon:"endpoint24.png",description:"Act as a message source as input to a route",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"Sets the URI of the endpoint to use",title:"Uri",required:!0,deprecated:!1},variableReceive:{kind:"attribute",type:"string",description:"To use a variable to store a copy of the received message body (only body, not headers). This is handy for easy access to the received message body via variables.",title:"Variable Receive",required:!1,deprecated:!1}}},globalOption:{type:"object",title:"Global Option",group:"configuration",icon:"generic24.png",description:"Models a string key/value pair for configuring some global options on a Camel context such as max debug log length.",properties:{key:{kind:"attribute",type:"string",description:"Global option key",title:"Key",required:!0,deprecated:!1},value:{kind:"attribute",type:"string",description:"Global option value",title:"Value",required:!0,deprecated:!1}}},globalOptions:{type:"object",title:"Global Options",group:"configuration",icon:"generic24.png",description:"Models a series of string key/value pairs for configuring some global options on a Camel context such as max debug log length.",properties:{globalOption:{kind:"element",type:"array",description:"A series of global options as key value pairs",title:"Global Option",required:!1,deprecated:!1}}},healthyServiceFilter:{type:"object",title:"Healthy Service Filter",group:"routing,cloud,service-filter",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},idempotentConsumer:{type:"object",title:"Idempotent Consumer",group:"eip,routing",icon:"idempotentConsumer24.png",description:"Filters out duplicate messages",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression used to calculate the correlation key to use for duplicate check. The Exchange which has the same correlation key is regarded as a duplicate and will be rejected.",title:"Expression",required:!0,deprecated:!1},idempotentRepository:{kind:"attribute",type:"object",description:"Sets the reference name of the message id repository",title:"Idempotent Repository",required:!1,deprecated:!1},eager:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether to eagerly add the key to the idempotent repository or wait until the exchange is complete. Eager is default enabled.",title:"Eager",required:!1,deprecated:!1},completionEager:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether to complete the idempotent consumer eager or when the exchange is done. If this option is true to complete eager, then the idempotent consumer will trigger its completion when the exchange reached the end of the block of the idempotent consumer pattern. So if the exchange is continued routed after the block ends, then whatever happens there does not affect the state. If this option is false (default) to not complete eager, then the idempotent consumer will complete when the exchange is done being routed. So if the exchange is continued routed after the block ends, then whatever happens there also affect the state. For example if the exchange failed due to an exception, then the state of the idempotent consumer will be a rollback.",title:"Completion Eager",required:!1,deprecated:!1},skipDuplicate:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether to skip duplicates or not. The default behavior is to skip duplicates. A duplicate message would have the Exchange property org.apache.camel.Exchange#DUPLICATE_MESSAGE set to a Boolean#TRUE value. A none duplicate message will not have this property set.",title:"Skip Duplicate",required:!1,deprecated:!1},removeOnFailure:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether to remove or keep the key on failure. The default behavior is to remove the key on failure.",title:"Remove On Failure",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},inputType:{type:"object",title:"Input Type",group:"configuration",icon:"generic24.png",description:"Set the expected data type of the input message. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists. If validate attribute is true then camel applies Validator as well. Type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example {code java:java.lang.String} , {code json:ABCOrder} . It's also possible to specify only scheme part, so that it works like a wildcard. If only 'xml' is specified, all the XML message matches. It's handy to add only one transformer/validator for all the transformation from/to XML.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},urn:{kind:"attribute",type:"string",description:"The input type URN.",title:"Urn",required:!0,deprecated:!1},validate:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether if validation is required for this input type.",title:"Validate",required:!1,deprecated:!1}}},intercept:{type:"object",title:"Intercept",group:"configuration",icon:"generic24.png",description:"Intercepts a message at each step in the route",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},interceptFrom:{type:"object",title:"Intercept From",group:"configuration",icon:"generic24.png",description:"Intercepts incoming messages",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"Intercept incoming messages from the uri or uri pattern. If this option is not configured, then all incoming messages is intercepted.",title:"Uri",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},interceptSendToEndpoint:{type:"object",title:"Intercept Send To Endpoint",group:"configuration",icon:"generic24.png",description:"Intercepts messages being sent to an endpoint",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"Intercept sending to the uri or uri pattern.",title:"Uri",required:!0,deprecated:!1},skipSendToOriginalEndpoint:{kind:"attribute",type:"string",description:"If set to true then the message is not sent to the original endpoint. By default (false) the message is both intercepted and then sent to the original endpoint.",title:"Skip Send To Original Endpoint",required:!1,deprecated:!1},afterUri:{kind:"attribute",type:"string",description:"After sending to the endpoint then send the message to this uri which allows to process its result.",title:"After Uri",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},jtaTransactionErrorHandler:{type:"object",title:"Jta Transaction Error Handler",group:"configuration,error",icon:"generic24.png",description:"JTA based transactional error handler (requires camel-jta).",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},transactedPolicyRef:{kind:"attribute",type:"object",description:"The transacted policy to use that is configured for either Spring or JTA based transactions. If no policy has been configured then Camel will attempt to auto-discover.",title:"Transacted Policy Ref",required:!1,deprecated:!1},rollbackLoggingLevel:{kind:"attribute",type:"enum",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Sets the logging level to use for logging transactional rollback. This option is default WARN.",title:"Rollback Logging Level",required:!1,deprecated:!1},redeliveryPolicy:{kind:"element",type:"object",description:"Sets the redelivery settings",title:"Redelivery Policy",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},useOriginalBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Body",required:!1,deprecated:!1},redeliveryPolicyRef:{kind:"attribute",type:"object",description:"Sets a reference to a RedeliveryPolicy to be used for redelivery settings.",title:"Redelivery Policy Ref",required:!1,deprecated:!1},loggerRef:{kind:"attribute",type:"string",description:"References to a logger to use as logger for the error handler",title:"Logger Ref",required:!1,deprecated:!1},level:{kind:"attribute",type:"enum",defaultValue:"ERROR",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to use by error handler",title:"Level",required:!1,deprecated:!1},logName:{kind:"attribute",type:"string",description:"Name of the logger to use by the error handler",title:"Log Name",required:!1,deprecated:!1},onRedeliveryRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.",title:"On Redelivery Ref",required:!1,deprecated:!1},onExceptionOccurredRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.",title:"On Exception Occurred Ref",required:!1,deprecated:!1},onPrepareFailureRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor to prepare the org.apache.camel.Exchange before handled by the failure processor / dead letter channel. This allows for example to enrich the message before sending to a dead letter queue.",title:"On Prepare Failure Ref",required:!1,deprecated:!1},retryWhileRef:{kind:"attribute",type:"object",description:"Sets a retry while predicate. Will continue retrying until the predicate evaluates to false.",title:"Retry While Ref",required:!1,deprecated:!1},executorServiceRef:{kind:"attribute",type:"object",description:"Sets a reference to a thread pool to be used by the error handler",title:"Executor Service Ref",required:!1,deprecated:!1}}},kamelet:{type:"object",title:"Kamelet",group:"eip,routing",icon:"generic24.png",description:"To call Kamelets in special situations",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Name of the Kamelet (templateId/routeId) to call. Options for the kamelet can be specified using uri syntax, eg mynamecount=4&type=gold.",title:"Name",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},kubernetesServiceDiscovery:{type:"object",title:"Kubernetes Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},lookup:{kind:"attribute",type:"enum",defaultValue:"environment",enum:["environment","dns","client"],description:"How to perform service lookup. Possible values: client, dns, environment. When using client, then the client queries the kubernetes master to obtain a list of active pods that provides the service, and then random (or round robin) select a pod. When using dns the service name is resolved as name.namespace.svc.dnsDomain. When using dnssrv the service name is resolved with SRV query for _._...svc... When using environment then environment variables are used to lookup the service. By default environment is used.",title:"Lookup",required:!1,deprecated:!1},dnsDomain:{kind:"attribute",type:"string",description:"Sets the DNS domain to use for DNS lookup.",title:"Dns Domain",required:!1,deprecated:!1},portName:{kind:"attribute",type:"string",description:"Sets the Port Name to use for DNS/DNSSRV lookup.",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"attribute",type:"string",description:"Sets the Port Protocol to use for DNS/DNSSRV lookup.",title:"Port Protocol",required:!1,deprecated:!1},namespace:{kind:"attribute",type:"string",description:"Sets the namespace to use. Will by default use namespace from the ENV variable KUBERNETES_MASTER.",title:"Namespace",required:!1,deprecated:!1},apiVersion:{kind:"attribute",type:"string",description:"Sets the API version when using client lookup",title:"Api Version",required:!1,deprecated:!1},masterUrl:{kind:"attribute",type:"string",description:"Sets the URL to the master when using client lookup",title:"Master Url",required:!1,deprecated:!1},username:{kind:"attribute",type:"string",description:"Sets the username for authentication when using client lookup",title:"Username",required:!1,deprecated:!1},password:{kind:"attribute",type:"string",description:"Sets the password for authentication when using client lookup",title:"Password",required:!1,deprecated:!1},oauthToken:{kind:"attribute",type:"string",description:"Sets the OAUTH token for authentication (instead of username/password) when using client lookup",title:"Oauth Token",required:!1,deprecated:!1},caCertData:{kind:"attribute",type:"string",description:"Sets the Certificate Authority data when using client lookup",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"attribute",type:"string",description:"Sets the Certificate Authority data that are loaded from the file when using client lookup",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"attribute",type:"string",description:"Sets the Client Certificate data when using client lookup",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"attribute",type:"string",description:"Sets the Client Certificate data that are loaded from the file when using client lookup",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"attribute",type:"string",description:"Sets the Client Keystore algorithm, such as RSA when using client lookup",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"attribute",type:"string",description:"Sets the Client Keystore data when using client lookup",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"attribute",type:"string",description:"Sets the Client Keystore data that are loaded from the file when using client lookup",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"attribute",type:"string",description:"Sets the Client Keystore passphrase when using client lookup",title:"Client Key Passphrase",required:!1,deprecated:!1},trustCerts:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether to turn on trust certificate check when using client lookup",title:"Trust Certs",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},loadBalance:{type:"object",title:"Load Balance",group:"eip,routing",icon:"loadBalance24.png",description:"Balances message processing among a number of nodes",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},loadBalancerType:{kind:"element",type:"object",description:"The load balancer to be used",title:"Load Balancer Type",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1},inheritErrorHandler:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether or not to inherit the configured error handler. The default value is true. You can use this to disable using the inherited error handler for a given DSL such as a load balancer where you want to use a custom error handler strategy.",title:"Inherit Error Handler",required:!1,deprecated:!1}}},loadBalancerConfiguration:{type:"object",title:"Load Balancer Configuration",group:"routing,cloud,load-balancing",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},log:{type:"object",title:"Log",group:"eip,routing",icon:"log24.png",description:"Logs the defined message to the logger",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},message:{kind:"attribute",type:"string",description:"Sets the log message (uses simple language)",title:"Message",required:!0,deprecated:!1},loggingLevel:{kind:"attribute",type:"enum",defaultValue:"INFO",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Sets the logging level. The default value is INFO",title:"Logging Level",required:!1,deprecated:!1},logName:{kind:"attribute",type:"string",description:"Sets the name of the logger",title:"Log Name",required:!1,deprecated:!1},marker:{kind:"attribute",type:"string",description:"To use slf4j marker",title:"Marker",required:!1,deprecated:!1},logger:{kind:"attribute",type:"object",description:"To refer to a custom logger instance to lookup from the registry.",title:"Logger",required:!1,deprecated:!1}}},loop:{type:"object",title:"Loop",group:"eip,routing",icon:"generic24.png",description:"Processes a message multiple times",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to define how many times we should loop. Notice the expression is only evaluated once, and should return a number as how many times to loop. A value of zero or negative means no looping. The loop is like a for-loop fashion, if you want a while loop, then the dynamic router may be a better choice.",title:"Expression",required:!0,deprecated:!1},copy:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the copy attribute is true, a copy of the input Exchange is used for each iteration. That means each iteration will start from a copy of the same message. By default loop will loop the same exchange all over, so each iteration may have different message content.",title:"Copy",required:!1,deprecated:!1},doWhile:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables the while loop that loops until the predicate evaluates to false or null.",title:"Do While",required:!1,deprecated:!1},breakOnShutdown:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the breakOnShutdown attribute is true, then the loop will not iterate until it reaches the end when Camel is shut down.",title:"Break On Shutdown",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},multicast:{type:"object",title:"Multicast",group:"eip,routing",icon:"multicast24.png",description:"Routes the same message to multiple paths either sequentially or in parallel.",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"Refers to an AggregationStrategy to be used to assemble the replies from the multicasts, into a single outgoing message from the Multicast. By default Camel will use the last reply as the outgoing message. You can also use a POJO as the AggregationStrategy",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},parallelAggregate:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then the aggregate method on AggregationStrategy can be called concurrently. Notice that this would require the implementation of AggregationStrategy to be implemented as thread-safe. By default this is false meaning that Camel synchronizes the call to the aggregate method. Though in some use-cases this can be used to archive higher performance when the AggregationStrategy is implemented as thread-safe.",title:"Parallel Aggregate",required:!1,deprecated:!1},parallelProcessing:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then sending messages to the multicasts occurs concurrently. Note the caller thread will still wait until all messages has been fully processed, before it continues. Its only the sending and processing the replies from the multicasts which happens concurrently. When parallel processing is enabled, then the Camel routing engin will continue processing using last used thread from the parallel thread pool. However, if you want to use the original thread that called the multicast, then make sure to enable the synchronous option as well.",title:"Parallel Processing",required:!1,deprecated:!1},synchronous:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used. When enabled then the same thread is used to continue routing after the multicast is complete, even if parallel processing is enabled.",title:"Synchronous",required:!1,deprecated:!1},streaming:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Camel will process replies out-of-order, eg in the order they come back. If disabled, Camel will process replies in the same order as defined by the multicast.",title:"Streaming",required:!1,deprecated:!1},stopOnException:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will now stop further processing if an exception or failure occurred during processing of an org.apache.camel.Exchange and the caused exception will be thrown. Will also stop if processing the exchange failed (has a fault message) or an exception was thrown and handled by the error handler (such as using onException). In all situations the multicast will stop further processing. This is the same behavior as in pipeline, which is used by the routing engine. The default behavior is to not stop but continue processing till the end",title:"Stop On Exception",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",defaultValue:"0",description:"Sets a total timeout specified in millis, when using parallel processing. If the Multicast hasn't been able to send and process all replies within the given timeframe, then the timeout triggers and the Multicast breaks out and continues. Notice if you provide a TimeoutAwareAggregationStrategy then the timeout method is invoked before breaking out. If the timeout is reached with running tasks still remaining, certain tasks for which it is difficult for Camel to shut down in a graceful manner may continue to run. So use this option with a bit of care.",title:"Timeout",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"Refers to a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well.",title:"Executor Service",required:!1,deprecated:!1},onPrepare:{kind:"attribute",type:"object",description:"Uses the Processor when preparing the org.apache.camel.Exchange to be send. This can be used to deep-clone messages that should be send, or any custom logic needed before the exchange is send.",title:"On Prepare",required:!1,deprecated:!1},shareUnitOfWork:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Multicast will by default not share unit of work between the parent exchange and each multicasted exchange. This means each sub exchange has its own individual unit of work.",title:"Share Unit Of Work",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},noErrorHandler:{type:"object",title:"No Error Handler",group:"configuration,error",icon:"generic24.png",description:"To not use an error handler.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},onCompletion:{type:"object",title:"On Completion",group:"configuration",icon:"generic24.png",description:"Route to be executed when normal route processing completes",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},mode:{kind:"attribute",type:"enum",defaultValue:"AfterConsumer",enum:["AfterConsumer","BeforeConsumer"],description:"Sets the on completion mode. The default value is AfterConsumer",title:"Mode",required:!1,deprecated:!1},onCompleteOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will only synchronize when the org.apache.camel.Exchange completed successfully (no errors).",title:"On Complete Only",required:!1,deprecated:!1},onFailureOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will only synchronize when the org.apache.camel.Exchange ended with failure (exception or FAULT message).",title:"On Failure Only",required:!1,deprecated:!1},parallelProcessing:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then the on completion process will run asynchronously by a separate thread from a thread pool. By default this is false, meaning the on completion process will run synchronously using the same caller thread as from the route.",title:"Parallel Processing",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well.",title:"Executor Service",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input message body when an org.apache.camel.Exchange for this on completion. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the split message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},onWhen:{kind:"element",type:"object",description:"Sets an additional predicate that should be true before the onCompletion is triggered. To be used for fine grained controlling whether a completion callback should be invoked or not",title:"On When",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},onException:{type:"object",title:"On Exception",group:"error",icon:"generic24.png",description:"Route to be executed when an exception is thrown",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},exception:{kind:"element",type:"array",description:"A set of exceptions to react upon.",title:"Exception",required:!0,deprecated:!1},onWhen:{kind:"element",type:"object",description:"Sets an additional predicate that should be true before the onException is triggered. To be used for fine grained controlling whether a thrown exception should be intercepted by this exception type or not.",title:"On When",required:!1,deprecated:!1},retryWhile:{kind:"expression",type:"object",description:"Sets the retry while predicate. Will continue retrying until predicate returns false.",title:"Retry While",required:!1,deprecated:!1},redeliveryPolicy:{kind:"element",type:"object",description:"Used for configuring redelivery options",title:"Redelivery Policy",required:!1,deprecated:!1},redeliveryPolicyRef:{kind:"attribute",type:"string",description:"Sets a reference to a redelivery policy to lookup in the org.apache.camel.spi.Registry to be used.",title:"Redelivery Policy Ref",required:!1,deprecated:!1},handled:{kind:"expression",type:"object",description:"Sets whether the exchange should be marked as handled or not.",title:"Handled",required:!1,deprecated:!1},continued:{kind:"expression",type:"object",description:"Sets whether the exchange should handle and continue routing from the point of failure. If this option is enabled then its considered handled as well.",title:"Continued",required:!1,deprecated:!1},onRedeliveryRef:{kind:"attribute",type:"string",description:"Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.",title:"On Redelivery Ref",required:!1,deprecated:!1},onExceptionOccurredRef:{kind:"attribute",type:"string",description:"Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.",title:"On Exception Occurred Ref",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the split message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},useOriginalBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the split message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Body",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},onFallback:{type:"object",title:"On Fallback",group:"eip,routing",icon:"generic24.png",description:"Route to be executed when Circuit Breaker EIP executes fallback",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},fallbackViaNetwork:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the fallback goes over the network. If the fallback will go over the network it is another possible point of failure. It is important to execute the fallback command on a separate thread-pool, otherwise if the main command were to become latent and fill the thread-pool this would prevent the fallback from running if the two commands share the same pool.",title:"Fallback Via Network",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},optimisticLockRetryPolicy:{type:"object",title:"Optimistic Lock Retry Policy",group:"configuration",icon:"generic24.png",description:"To configure optimistic locking",properties:{maximumRetries:{kind:"attribute",type:"integer",description:"Sets the maximum number of retries",title:"Maximum Retries",required:!1,deprecated:!1},retryDelay:{kind:"attribute",type:"duration",defaultValue:"50",description:"Sets the delay in millis between retries",title:"Retry Delay",required:!1,deprecated:!1},maximumRetryDelay:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the upper value of retry in millis between retries, when using exponential or random backoff",title:"Maximum Retry Delay",required:!1,deprecated:!1},exponentialBackOff:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Enable exponential backoff",title:"Exponential Back Off",required:!1,deprecated:!1},randomBackOff:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables random backoff",title:"Random Back Off",required:!1,deprecated:!1}}},otherwise:{type:"object",title:"Otherwise",group:"eip,routing",icon:"generic24.png",description:"Route to be executed when all other choices evaluate to false",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},outputType:{type:"object",title:"Output Type",group:"configuration",icon:"generic24.png",description:"Set the expected data type of the output message. If the actual message type is different at runtime, camel look for a required Transformer and apply if exists. If validate attribute is true then camel applies Validator as well. Type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example {code java:java.lang.String} , {code json:ABCOrder} . It's also possible to specify only scheme part, so that it works like a wildcard. If only 'xml' is specified, all the XML message matches. It's handy to add only one transformer/validator for all the XML-Java transformation.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},urn:{kind:"attribute",type:"string",description:"Set output type URN.",title:"Urn",required:!0,deprecated:!1},validate:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether if validation is required for this output type.",title:"Validate",required:!1,deprecated:!1}}},packageScan:{type:"object",title:"Package Scan",group:"configuration",icon:"generic24.png",description:"Scans for Java org.apache.camel.builder.RouteBuilder classes in java packages",properties:{package:{kind:"element",type:"array",description:"Sets the java package names to use for scanning for route builder classes",title:"Package",required:!0,deprecated:!1},excludes:{kind:"element",type:"array",description:"Exclude finding route builder from these java package names.",title:"Excludes",required:!1,deprecated:!1},includes:{kind:"element",type:"array",description:"Include finding route builder from these java package names.",title:"Includes",required:!1,deprecated:!1}}},passThroughServiceFilter:{type:"object",title:"Pass Through Service Filter",group:"routing,cloud,service-filter",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},pausable:{type:"object",title:"Pausable",group:"eip,routing",icon:"generic24.png",description:"Pausable EIP to support resuming processing from last known offset.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},consumerListener:{kind:"attribute",type:"object",description:"Sets the consumer listener to use",title:"Consumer Listener",required:!0,deprecated:!1},untilCheck:{kind:"attribute",type:"object",description:"References to a java.util.function.Predicate to use for until checks. The predicate is responsible for evaluating whether the processing can resume or not. Such predicate should return true if the consumption can resume, or false otherwise. The exact point of when the predicate is called is dependent on the component, and it may be called on either one of the available events. Implementations should not assume the predicate to be called at any specific point.",title:"Until Check",required:!0,deprecated:!1}}},pipeline:{type:"object",title:"Pipeline",group:"eip,routing",icon:"pipeline24.png",description:"Routes the message to a sequence of processors.",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},policy:{type:"object",title:"Policy",group:"configuration",icon:"generic24.png",description:"Defines a policy the route will use",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Sets a reference to use for lookup the policy in the registry.",title:"Ref",required:!0,deprecated:!1}}},pollEnrich:{type:"object",title:"Poll Enrich",group:"eip,transformation",icon:"pollEnrich24.png",description:"Enriches messages with data polled from a secondary resource",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression that computes the endpoint uri to use as the resource endpoint to enrich from",title:"Expression",required:!0,deprecated:!1},variableReceive:{kind:"attribute",type:"string",description:"To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .",title:"Variable Receive",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"Sets the AggregationStrategy to be used to merge the reply from the external service, into a single outgoing message. By default Camel will use the reply from the external service as outgoing message.",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"string",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},aggregateOnException:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was an exception thrown while trying to retrieve the data to enrich from the resource. Setting this option to true allows end users to control what to do if there was an exception in the aggregate method. For example to suppress the exception or set a custom message body etc.",title:"Aggregate On Exception",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",defaultValue:"-1",description:"Timeout in millis when polling from the external service. The timeout has influence about the poll enrich behavior. It basically operations in three different modes: negative value - Waits until a message is available and then returns it. Warning that this method could block indefinitely if no messages are available. 0 - Attempts to receive a message exchange immediately without waiting and returning null if a message exchange is not available yet. positive value - Attempts to receive a message exchange, waiting up to the given timeout to expire if a message is not yet available. Returns null if timed out The default value is -1 and therefore the method could block indefinitely, and therefore its recommended to use a timeout value",title:"Timeout",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ConsumerCache which is used to cache and reuse consumers when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},ignoreInvalidEndpoint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Ignore the invalidate endpoint exception when try to create a producer with that endpoint",title:"Ignore Invalid Endpoint",required:!1,deprecated:!1},autoStartComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to auto startup components when poll enricher is starting up.",title:"Auto Start Components",required:!1,deprecated:!1}}},process:{type:"object",title:"Process",group:"eip,endpoint",icon:"process24.png",description:"Calls a Camel processor",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Reference to the Processor to lookup in the registry to use. Can also be used for creating new beans by their class name by prefixing with #class, eg #class:com.foo.MyClassType. And it is also possible to refer to singleton beans by their type in the registry by prefixing with #type: syntax, eg #type:com.foo.MyClassType",title:"Ref",required:!0,deprecated:!1}}},property:{type:"object",title:"Property",group:"configuration",icon:"generic24.png",description:"A key value pair where the value is a literal value",properties:{key:{kind:"attribute",type:"string",description:"The name of the property",title:"Key",required:!0,deprecated:!1},value:{kind:"attribute",type:"string",description:"The property value.",title:"Value",required:!0,deprecated:!1}}},propertyExpression:{type:"object",title:"Property Expression",group:"configuration",icon:"generic24.png",description:"A key value pair where the value is an expression.",properties:{key:{kind:"attribute",type:"string",description:"Property key",title:"Key",required:!0,deprecated:!1},expression:{kind:"expression",type:"object",description:"Property values as an expression",title:"Expression",required:!0,deprecated:!1}}},random:{type:"object",title:"Random",group:"eip,routing",icon:"generic24.png",description:"The destination endpoints are selected by random.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},recipientList:{type:"object",title:"Recipient List",group:"eip,routing",icon:"recipientList24.png",description:"Route messages to a number of dynamically specified recipients",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression that returns which endpoints (url) to send the message to (the recipients). If the expression return an empty value then the message is not sent to any recipients.",title:"Expression",required:!0,deprecated:!1},delimiter:{kind:"attribute",type:"string",defaultValue:",",description:"Delimiter used if the Expression returned multiple endpoints. Can be turned off using the value false. The default value is ,",title:"Delimiter",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"Sets the AggregationStrategy to be used to assemble the replies from the recipients, into a single outgoing message from the RecipientList. By default Camel will use the last reply as the outgoing message. You can also use a POJO as the AggregationStrategy",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},parallelAggregate:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then the aggregate method on AggregationStrategy can be called concurrently. Notice that this would require the implementation of AggregationStrategy to be implemented as thread-safe. By default this is false meaning that Camel synchronizes the call to the aggregate method. Though in some use-cases this can be used to archive higher performance when the AggregationStrategy is implemented as thread-safe.",title:"Parallel Aggregate",required:!1,deprecated:!1},parallelProcessing:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then sending messages to the recipients occurs concurrently. Note the caller thread will still wait until all messages has been fully processed, before it continues. Its only the sending and processing the replies from the recipients which happens concurrently. When parallel processing is enabled, then the Camel routing engin will continue processing using last used thread from the parallel thread pool. However, if you want to use the original thread that called the recipient list, then make sure to enable the synchronous option as well.",title:"Parallel Processing",required:!1,deprecated:!1},synchronous:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used. When enabled then the same thread is used to continue routing after the recipient list is complete, even if parallel processing is enabled.",title:"Synchronous",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",defaultValue:"0",description:"Sets a total timeout specified in millis, when using parallel processing. If the Recipient List hasn't been able to send and process all replies within the given timeframe, then the timeout triggers and the Recipient List breaks out and continues. Notice if you provide a TimeoutAwareAggregationStrategy then the timeout method is invoked before breaking out. If the timeout is reached with running tasks still remaining, certain tasks for which it is difficult for Camel to shut down in a graceful manner may continue to run. So use this option with a bit of care.",title:"Timeout",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatic implied, and you do not have to enable that option as well.",title:"Executor Service",required:!1,deprecated:!1},stopOnException:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will now stop further processing if an exception or failure occurred during processing of an org.apache.camel.Exchange and the caused exception will be thrown. Will also stop if processing the exchange failed (has a fault message) or an exception was thrown and handled by the error handler (such as using onException). In all situations the recipient list will stop further processing. This is the same behavior as in pipeline, which is used by the routing engine. The default behavior is to not stop but continue processing till the end",title:"Stop On Exception",required:!1,deprecated:!1},ignoreInvalidEndpoints:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Ignore the invalidate endpoint exception when try to create a producer with that endpoint",title:"Ignore Invalid Endpoints",required:!1,deprecated:!1},streaming:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Camel will process replies out-of-order, eg in the order they come back. If disabled, Camel will process replies in the same order as defined by the recipient list.",title:"Streaming",required:!1,deprecated:!1},onPrepare:{kind:"attribute",type:"object",description:"Uses the Processor when preparing the org.apache.camel.Exchange to be used send. This can be used to deep-clone messages that should be send, or any custom logic needed before the exchange is send.",title:"On Prepare",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producers when using this recipient list, when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},shareUnitOfWork:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Recipient List will by default not share unit of work between the parent exchange and each recipient exchange. This means each sub exchange has its own individual unit of work.",title:"Share Unit Of Work",required:!1,deprecated:!1}}},redeliveryPolicy:{type:"object",title:"Redelivery Policy",group:"configuration",icon:"generic24.png",description:"To configure re-delivery for error handling",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},maximumRedeliveries:{kind:"attribute",type:"integer",description:"Sets the maximum redeliveries x = redeliver at most x times 0 = no redeliveries -1 = redeliver forever",title:"Maximum Redeliveries",required:!1,deprecated:!1},redeliveryDelay:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the initial redelivery delay",title:"Redelivery Delay",required:!1,deprecated:!1},asyncDelayedRedelivery:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Allow asynchronous delayed redelivery. The route, in particular the consumer's component, must support the Asynchronous Routing Engine (e.g. seda).",title:"Async Delayed Redelivery",required:!1,deprecated:!1},backOffMultiplier:{kind:"attribute",type:"number",defaultValue:"2.0",description:"Sets the back off multiplier",title:"Back Off Multiplier",required:!1,deprecated:!1},useExponentialBackOff:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Turn on exponential backk off",title:"Use Exponential Back Off",required:!1,deprecated:!1},collisionAvoidanceFactor:{kind:"attribute",type:"number",defaultValue:"0.15",description:"Sets the collision avoidance factor",title:"Collision Avoidance Factor",required:!1,deprecated:!1},useCollisionAvoidance:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Turn on collision avoidance.",title:"Use Collision Avoidance",required:!1,deprecated:!1},maximumRedeliveryDelay:{kind:"attribute",type:"duration",defaultValue:"60000",description:"Sets the maximum delay between redelivery",title:"Maximum Redelivery Delay",required:!1,deprecated:!1},retriesExhaustedLogLevel:{kind:"attribute",type:"object",defaultValue:"ERROR",description:"Sets the logging level to use when retries have been exhausted",title:"Retries Exhausted Log Level",required:!1,deprecated:!1},retryAttemptedLogLevel:{kind:"attribute",type:"object",defaultValue:"DEBUG",description:"Sets the logging level to use for logging retry attempts",title:"Retry Attempted Log Level",required:!1,deprecated:!1},retryAttemptedLogInterval:{kind:"attribute",type:"integer",defaultValue:"1",description:"Sets the interval to use for logging retry attempts",title:"Retry Attempted Log Interval",required:!1,deprecated:!1},logRetryAttempted:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether retry attempts should be logged or not. Can be used to include or reduce verbose.",title:"Log Retry Attempted",required:!1,deprecated:!1},logStackTrace:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether stack traces should be logged. Can be used to include or reduce verbose.",title:"Log Stack Trace",required:!1,deprecated:!1},logRetryStackTrace:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether stack traces should be logged when an retry attempt failed. Can be used to include or reduce verbose.",title:"Log Retry Stack Trace",required:!1,deprecated:!1},logHandled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether handled exceptions should be logged or not. Can be used to include or reduce verbose.",title:"Log Handled",required:!1,deprecated:!1},logNewException:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether new exceptions should be logged or not. Can be used to include or reduce verbose. A new exception is an exception that was thrown while handling a previous exception.",title:"Log New Exception",required:!1,deprecated:!1},logContinued:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether continued exceptions should be logged or not. Can be used to include or reduce verbose.",title:"Log Continued",required:!1,deprecated:!1},logExhausted:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets whether exhausted exceptions should be logged or not. Can be used to include or reduce verbose.",title:"Log Exhausted",required:!1,deprecated:!1},logExhaustedMessageHistory:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether exhausted exceptions should be logged including message history or not (supports property placeholders). Can be used to include or reduce verbose.",title:"Log Exhausted Message History",required:!1,deprecated:!1},logExhaustedMessageBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether exhausted message body should be logged including message history or not (supports property placeholders). Can be used to include or reduce verbose. Requires logExhaustedMessageHistory to be enabled.",title:"Log Exhausted Message Body",required:!1,deprecated:!1},disableRedelivery:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Disables redelivery (same as setting maximum redeliveries to 0)",title:"Disable Redelivery",required:!1,deprecated:!1},delayPattern:{kind:"attribute",type:"string",description:"Sets the delay pattern with delay intervals.",title:"Delay Pattern",required:!1,deprecated:!1},allowRedeliveryWhileStopping:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Controls whether to allow redelivery while stopping/shutting down a route that uses error handling.",title:"Allow Redelivery While Stopping",required:!1,deprecated:!1},exchangeFormatterRef:{kind:"attribute",type:"string",description:"Sets the reference of the instance of org.apache.camel.spi.ExchangeFormatter to generate the log message from exchange.",title:"Exchange Formatter Ref",required:!1,deprecated:!1}}},refErrorHandler:{type:"object",title:"Ref Error Handler",group:"configuration,error",icon:"generic24.png",description:"References to an existing or custom error handler.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},ref:{kind:"attribute",type:"object",description:"References to an existing or custom error handler.",title:"Ref",required:!1,deprecated:!1}}},removeHeader:{type:"object",title:"Remove Header",group:"eip,transformation",icon:"generic24.png",description:"Removes a named header from the message",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Name of header to remove",title:"Name",required:!0,deprecated:!1}}},removeHeaders:{type:"object",title:"Remove Headers",group:"eip,transformation",icon:"generic24.png",description:"Removes message headers whose name matches a specified pattern",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"string",description:"Name or pattern of headers to remove. The pattern is matched in the following order: 1 = exact match 2 = wildcard (pattern ends with a and the name starts with the pattern) 3 = regular expression (all of above is case in-sensitive).",title:"Pattern",required:!0,deprecated:!1},excludePattern:{kind:"attribute",type:"string",description:"Name or patter of headers to not remove. The pattern is matched in the following order: 1 = exact match 2 = wildcard (pattern ends with a and the name starts with the pattern) 3 = regular expression (all of above is case in-sensitive).",title:"Exclude Pattern",required:!1,deprecated:!1}}},removeProperties:{type:"object",title:"Remove Properties",group:"eip,transformation",icon:"generic24.png",description:"Removes message exchange properties whose name matches a specified pattern",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"string",description:"Name or pattern of properties to remove. The pattern is matched in the following order: 1 = exact match 2 = wildcard (pattern ends with a and the name starts with the pattern) 3 = regular expression (all of above is case in-sensitive).",title:"Pattern",required:!0,deprecated:!1},excludePattern:{kind:"attribute",type:"string",description:"Name or pattern of properties to not remove. The pattern is matched in the following order: 1 = exact match 2 = wildcard (pattern ends with a and the name starts with the pattern) 3 = regular expression (all of above is case in-sensitive).",title:"Exclude Pattern",required:!1,deprecated:!1}}},removeProperty:{type:"object",title:"Remove Property",group:"eip,transformation",icon:"generic24.png",description:"Removes a named property from the message exchange",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Name of property to remove.",title:"Name",required:!0,deprecated:!1}}},removeVariable:{type:"object",title:"Remove Variable",group:"eip,transformation",icon:"generic24.png",description:"Removes a named variable",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Name of variable to remove.",title:"Name",required:!0,deprecated:!1}}},resequence:{type:"object",title:"Resequence",group:"eip,routing",icon:"resequence24.png",description:"Resequences (re-order) messages based on an expression",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to use for re-ordering the messages, such as a header with a sequence number",title:"Expression",required:!0,deprecated:!1},resequencerConfig:{kind:"element",type:"object",description:"To configure the resequencer in using either batch or stream configuration. Will by default use batch configuration.",title:"Resequencer Config",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},resilience4jConfiguration:{type:"object",title:"Resilience4j Configuration",group:"configuration,eip",icon:"generic24.png",description:"Resilience4j Circuit Breaker EIP configuration",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},circuitBreaker:{kind:"attribute",type:"string",description:"Refers to an existing io.github.resilience4j.circuitbreaker.CircuitBreaker instance to lookup and use from the registry. When using this, then any other circuit breaker options are not in use.",title:"Circuit Breaker",required:!1,deprecated:!1},config:{kind:"attribute",type:"string",description:"Refers to an existing io.github.resilience4j.circuitbreaker.CircuitBreakerConfig instance to lookup and use from the registry.",title:"Config",required:!1,deprecated:!1},failureRateThreshold:{kind:"attribute",type:"number",defaultValue:"50",description:"Configures the failure rate threshold in percentage. If the failure rate is equal or greater than the threshold the CircuitBreaker transitions to open and starts short-circuiting calls. The threshold must be greater than 0 and not greater than 100. Default value is 50 percentage.",title:"Failure Rate Threshold",required:!1,deprecated:!1},permittedNumberOfCallsInHalfOpenState:{kind:"attribute",type:"integer",defaultValue:"10",description:"Configures the number of permitted calls when the CircuitBreaker is half open. The size must be greater than 0. Default size is 10.",title:"Permitted Number Of Calls In Half Open State",required:!1,deprecated:!1},throwExceptionWhenHalfOpenOrOpenState:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to throw io.github.resilience4j.circuitbreaker.CallNotPermittedException when the call is rejected due circuit breaker is half open or open.",title:"Throw Exception When Half Open Or Open State",required:!1,deprecated:!1},slidingWindowSize:{kind:"attribute",type:"integer",defaultValue:"100",description:"Configures the size of the sliding window which is used to record the outcome of calls when the CircuitBreaker is closed. slidingWindowSize configures the size of the sliding window. Sliding window can either be count-based or time-based. If slidingWindowType is COUNT_BASED, the last slidingWindowSize calls are recorded and aggregated. If slidingWindowType is TIME_BASED, the calls of the last slidingWindowSize seconds are recorded and aggregated. The slidingWindowSize must be greater than 0. The minimumNumberOfCalls must be greater than 0. If the slidingWindowType is COUNT_BASED, the minimumNumberOfCalls cannot be greater than slidingWindowSize . If the slidingWindowType is TIME_BASED, you can pick whatever you want. Default slidingWindowSize is 100.",title:"Sliding Window Size",required:!1,deprecated:!1},slidingWindowType:{kind:"attribute",type:"enum",defaultValue:"COUNT_BASED",enum:["TIME_BASED","COUNT_BASED"],description:"Configures the type of the sliding window which is used to record the outcome of calls when the CircuitBreaker is closed. Sliding window can either be count-based or time-based. If slidingWindowType is COUNT_BASED, the last slidingWindowSize calls are recorded and aggregated. If slidingWindowType is TIME_BASED, the calls of the last slidingWindowSize seconds are recorded and aggregated. Default slidingWindowType is COUNT_BASED.",title:"Sliding Window Type",required:!1,deprecated:!1},minimumNumberOfCalls:{kind:"attribute",type:"integer",defaultValue:"100",description:"Configures the minimum number of calls which are required (per sliding window period) before the CircuitBreaker can calculate the error rate. For example, if minimumNumberOfCalls is 10, then at least 10 calls must be recorded, before the failure rate can be calculated. If only 9 calls have been recorded the CircuitBreaker will not transition to open even if all 9 calls have failed. Default minimumNumberOfCalls is 100",title:"Minimum Number Of Calls",required:!1,deprecated:!1},writableStackTraceEnabled:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Enables writable stack traces. When set to false, Exception.getStackTrace returns a zero length array. This may be used to reduce log spam when the circuit breaker is open as the cause of the exceptions is already known (the circuit breaker is short-circuiting calls).",title:"Writable Stack Trace Enabled",required:!1,deprecated:!1},waitDurationInOpenState:{kind:"attribute",type:"integer",defaultValue:"60",description:"Configures the wait duration (in seconds) which specifies how long the CircuitBreaker should stay open, before it switches to half open. Default value is 60 seconds.",title:"Wait Duration In Open State",required:!1,deprecated:!1},automaticTransitionFromOpenToHalfOpenEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables automatic transition from OPEN to HALF_OPEN state once the waitDurationInOpenState has passed.",title:"Automatic Transition From Open To Half Open Enabled",required:!1,deprecated:!1},slowCallRateThreshold:{kind:"attribute",type:"number",defaultValue:"100",description:"Configures a threshold in percentage. The CircuitBreaker considers a call as slow when the call duration is greater than slowCallDurationThreshold Duration. When the percentage of slow calls is equal or greater the threshold, the CircuitBreaker transitions to open and starts short-circuiting calls. The threshold must be greater than 0 and not greater than 100. Default value is 100 percentage which means that all recorded calls must be slower than slowCallDurationThreshold.",title:"Slow Call Rate Threshold",required:!1,deprecated:!1},slowCallDurationThreshold:{kind:"attribute",type:"integer",defaultValue:"60",description:"Configures the duration threshold (seconds) above which calls are considered as slow and increase the slow calls percentage. Default value is 60 seconds.",title:"Slow Call Duration Threshold",required:!1,deprecated:!1},bulkheadEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether bulkhead is enabled or not on the circuit breaker. Default is false.",title:"Bulkhead Enabled",required:!1,deprecated:!1},bulkheadMaxConcurrentCalls:{kind:"attribute",type:"integer",defaultValue:"25",description:"Configures the max amount of concurrent calls the bulkhead will support.",title:"Bulkhead Max Concurrent Calls",required:!1,deprecated:!1},bulkheadMaxWaitDuration:{kind:"attribute",type:"integer",defaultValue:"0",description:"Configures a maximum amount of time which the calling thread will wait to enter the bulkhead. If bulkhead has space available, entry is guaranteed and immediate. If bulkhead is full, calling threads will contest for space, if it becomes available. maxWaitDuration can be set to 0. Note: for threads running on an event-loop or equivalent (rx computation pool, etc), setting maxWaitDuration to 0 is highly recommended. Blocking an event-loop thread will most likely have a negative effect on application throughput.",title:"Bulkhead Max Wait Duration",required:!1,deprecated:!1},timeoutEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether timeout is enabled or not on the circuit breaker. Default is false.",title:"Timeout Enabled",required:!1,deprecated:!1},timeoutExecutorService:{kind:"attribute",type:"object",description:"References to a custom thread pool to use when timeout is enabled (uses ForkJoinPool#commonPool() by default)",title:"Timeout Executor Service",required:!1,deprecated:!1},timeoutDuration:{kind:"attribute",type:"integer",defaultValue:"1000",description:"Configures the thread execution timeout. Default value is 1 second.",title:"Timeout Duration",required:!1,deprecated:!1},timeoutCancelRunningFuture:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Configures whether cancel is called on the running future. Defaults to true.",title:"Timeout Cancel Running Future",required:!1,deprecated:!1}}},resumable:{type:"object",title:"Resumable",group:"eip,routing",icon:"generic24.png",description:"Resume EIP to support resuming processing from last known offset.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},resumeStrategy:{kind:"attribute",type:"object",description:"Sets the resume strategy to use",title:"Resume Strategy",required:!0,deprecated:!1},loggingLevel:{kind:"attribute",type:"enum",defaultValue:"ERROR",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"",title:"Logging Level",required:!1,deprecated:!1},intermittent:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether the offsets will be intermittently present or whether they must be present in every exchange",title:"Intermittent",required:!1,deprecated:!1}}},rollback:{type:"object",title:"Rollback",group:"eip,routing",icon:"generic24.png",description:"Forces a rollback by stopping routing the message",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},message:{kind:"attribute",type:"string",description:"Message to use in rollback exception",title:"Message",required:!1,deprecated:!1},markRollbackOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Mark the transaction for rollback only (cannot be overruled to commit)",title:"Mark Rollback Only",required:!1,deprecated:!1},markRollbackOnlyLast:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Mark only last sub transaction for rollback only. When using sub transactions (if the transaction manager support this)",title:"Mark Rollback Only Last",required:!1,deprecated:!1}}},roundRobin:{type:"object",title:"Round Robin",group:"eip,routing",icon:"generic24.png",description:"The destination endpoints are selected in a round-robin fashion. This is a well known and classic policy, which spreads the load evenly.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},route:{type:"object",title:"Route",group:"configuration",icon:"route24.png",description:"A Camel route",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},group:{kind:"attribute",type:"string",description:"The group that this route belongs to; could be the name of the RouteBuilder class or be explicitly configured in the XML. May be null.",title:"Group",required:!1,deprecated:!1},nodePrefixId:{kind:"attribute",type:"string",description:"Sets a prefix to use for all node ids (not route id).",title:"Node Prefix Id",required:!1,deprecated:!1},routeConfigurationId:{kind:"attribute",type:"string",description:"The route configuration id or pattern this route should use for configuration. Multiple id/pattern can be separated by comma.",title:"Route Configuration Id",required:!1,deprecated:!1},autoStartup:{kind:"attribute",type:"string",defaultValue:"true",description:"Whether to auto start this route",title:"Auto Startup",required:!1,deprecated:!1},startupOrder:{kind:"attribute",type:"integer",description:"To configure the ordering of the routes being started",title:"Startup Order",required:!1,deprecated:!1},streamCache:{kind:"attribute",type:"string",description:"Whether stream caching is enabled on this route.",title:"Stream Cache",required:!1,deprecated:!1},trace:{kind:"attribute",type:"string",description:"Whether tracing is enabled on this route.",title:"Trace",required:!1,deprecated:!1},messageHistory:{kind:"attribute",type:"string",description:"Whether message history is enabled on this route.",title:"Message History",required:!1,deprecated:!1},logMask:{kind:"attribute",type:"string",defaultValue:"false",description:"Whether security mask for Logging is enabled on this route.",title:"Log Mask",required:!1,deprecated:!1},delayer:{kind:"attribute",type:"duration",defaultValue:"advanced",description:"Whether to slow down processing messages by a given delay in msec.",title:"Delayer",required:!1,deprecated:!1},errorHandlerRef:{kind:"attribute",type:"string",description:"Sets the bean ref name of the error handler builder to use on this route",title:"Error Handler",required:!1,deprecated:!1},routePolicyRef:{kind:"attribute",type:"string",description:"Reference to custom org.apache.camel.spi.RoutePolicy to use by the route. Multiple policies can be configured by separating values using comma.",title:"Route Policy",required:!1,deprecated:!1},shutdownRoute:{kind:"attribute",type:"enum",enum:["Default","Defer"],description:"To control how to shutdown the route.",title:"Shutdown Route",required:!1,deprecated:!1},shutdownRunningTask:{kind:"attribute",type:"enum",enum:["CompleteCurrentTaskOnly","CompleteAllTasks"],description:"To control how to shut down the route.",title:"Shutdown Running Task",required:!1,deprecated:!1},precondition:{kind:"attribute",type:"string",description:"The predicate of the precondition in simple language to evaluate in order to determine if this route should be included or not.",title:"Precondition",required:!1,deprecated:!1},inputType:{kind:"element",type:"object",description:"Declare the expected data type of the input message. If the actual message type is different at runtime, camel look for a required org.apache.camel.spi.Transformer and apply if exists. The type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example {code java:java.lang.String} , {code json:ABCOrder} .",title:"Input Type",required:!1,deprecated:!1},outputType:{kind:"element",type:"object",description:"Declare the expected data type of the output message. If the actual message type is different at runtime, camel look for a required org.apache.camel.spi.Transformer and apply if exists. The type name consists of two parts, 'scheme' and 'name' connected with ':'. For Java type 'name' is a fully qualified class name. For example {code java:java.lang.String} , {code json:ABCOrder} .",title:"Output Type",required:!1,deprecated:!1},input:{kind:"element",type:"object",description:"Input to the route.",title:"Input",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"Outputs are processors that determines how messages are processed by this route.",title:"Outputs",required:!0,deprecated:!1}}},routeBuilder:{type:"object",title:"Route Builder",group:"configuration",icon:"generic24.png",description:"To refer to a Java org.apache.camel.builder.RouteBuilder instance to use.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Reference to the route builder instance",title:"Ref",required:!0,deprecated:!1}}},routeConfiguration:{type:"object",title:"Route Configuration",group:"configuration",icon:"generic24.png",description:"Reusable configuration for Camel route(s).",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},errorHandler:{kind:"element",type:"object",description:"Sets the error handler to use, for routes that has not already been configured with an error handler.",title:"Error Handler",required:!1,deprecated:!1},intercept:{kind:"element",type:"array",description:"Adds a route for an interceptor that intercepts every processing step.",title:"Intercept",required:!1,deprecated:!1},interceptFrom:{kind:"element",type:"array",description:"Adds a route for an interceptor that intercepts incoming messages on the given endpoint.",title:"Intercept From",required:!1,deprecated:!1},interceptSendToEndpoint:{kind:"element",type:"array",description:"Applies a route for an interceptor if an exchange is send to the given endpoint",title:"Intercept Send To Endpoint",required:!1,deprecated:!1},onException:{kind:"element",type:"array",description:"Exception clause for catching certain exceptions and handling them.",title:"On Exception",required:!1,deprecated:!1},onCompletion:{kind:"element",type:"array",description:"On completion callback for doing custom routing when the org.apache.camel.Exchange is complete.",title:"On Completion",required:!1,deprecated:!1},precondition:{kind:"attribute",type:"string",description:"The predicate of the precondition in simple language to evaluate in order to determine if this route configuration should be included or not.",title:"Precondition",required:!1,deprecated:!1}}},routeConfigurationContextRef:{type:"object",title:"Route Configuration Context Ref",group:"configuration",icon:"generic24.png",description:"To refer to an XML file with route configuration defined using the xml-dsl",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the route templates in the xml dsl",title:"Ref",required:!0,deprecated:!1}}},routeConfigurations:{type:"object",title:"Route Configurations",group:"configuration",icon:"generic24.png",description:"A series of route configurations",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},routeContextRef:{type:"object",title:"Route Context Ref",group:"configuration",icon:"generic24.png",description:"To refer to an XML file with routes defined using the xml-dsl",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the routes in the xml dsl",title:"Ref",required:!0,deprecated:!1}}},routeTemplate:{type:"object",title:"Route Template",group:"configuration",icon:"generic24.png",description:"Defines a route template (parameterized routes)",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},templateParameter:{kind:"element",type:"array",description:"Adds a template parameter the route template uses",title:"Template Parameter",required:!1,deprecated:!1},templateBean:{kind:"element",type:"array",description:"Adds a local bean the route template uses",title:"Template Bean",required:!1,deprecated:!1},route:{kind:"element",type:"object",description:"To define the route in the template",title:"Route",required:!0,deprecated:!1}}},routeTemplateContextRef:{type:"object",title:"Route Template Context Ref",group:"configuration",icon:"generic24.png",description:"To refer to an XML file with route templates defined using the xml-dsl",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the route templates in the xml dsl",title:"Ref",required:!0,deprecated:!1}}},routeTemplates:{type:"object",title:"Route Templates",group:"routeTemplates",icon:"generic24.png",description:"A series of route templates",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},routes:{type:"object",title:"Routes",group:"configuration",icon:"generic24.png",description:"A series of Camel routes",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},routes:{kind:"element",type:"array",description:"Contains the Camel routes",title:"Routes",required:!1,deprecated:!1}}},routingSlip:{type:"object",title:"Routing Slip",group:"eip,routing",icon:"routingSlip24.png",description:"Routes a message through a series of steps that are pre-determined (the slip)",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to define the routing slip, which defines which endpoints to route the message in a pipeline style. Notice the expression is evaluated once, if you want a more dynamic style, then the dynamic router eip is a better choice.",title:"Expression",required:!0,deprecated:!1},uriDelimiter:{kind:"attribute",type:"string",defaultValue:",",description:"Sets the uri delimiter to use",title:"Uri Delimiter",required:!1,deprecated:!1},ignoreInvalidEndpoints:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Ignore the invalidate endpoint exception when try to create a producer with that endpoint",title:"Ignore Invalid Endpoints",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producers when using this routing slip, when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1}}},saga:{type:"object",title:"Saga",group:"eip,routing",icon:"generic24.png",description:"Enables Sagas on the route",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},sagaService:{kind:"attribute",type:"object",description:"Refers to the id to lookup in the registry for the specific CamelSagaService to use.",title:"Saga Service",required:!1,deprecated:!1},propagation:{kind:"attribute",type:"enum",defaultValue:"REQUIRED",enum:["REQUIRED","REQUIRES_NEW","MANDATORY","SUPPORTS","NOT_SUPPORTED","NEVER"],description:"Set the Saga propagation mode (REQUIRED, REQUIRES_NEW, MANDATORY, SUPPORTS, NOT_SUPPORTED, NEVER).",title:"Propagation",required:!1,deprecated:!1},completionMode:{kind:"attribute",type:"enum",defaultValue:"AUTO",enum:["AUTO","MANUAL"],description:"Determine how the saga should be considered complete. When set to AUTO, the saga is completed when the exchange that initiates the saga is processed successfully, or compensated when it completes exceptionally. When set to MANUAL, the user must complete or compensate the saga using the saga:complete or saga:compensate endpoints.",title:"Completion Mode",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",description:"Set the maximum amount of time for the Saga. After the timeout is expired, the saga will be compensated automatically (unless a different decision has been taken in the meantime).",title:"Timeout",required:!1,deprecated:!1},compensation:{kind:"element",type:"object",description:"The compensation endpoint URI that must be called to compensate all changes done in the route. The route corresponding to the compensation URI must perform compensation and complete without error. If errors occur during compensation, the saga service may call again the compensation URI to retry.",title:"Compensation",required:!1,deprecated:!1},completion:{kind:"element",type:"object",description:"The completion endpoint URI that will be called when the Saga is completed successfully. The route corresponding to the completion URI must perform completion tasks and terminate without error. If errors occur during completion, the saga service may call again the completion URI to retry.",title:"Completion",required:!1,deprecated:!1},option:{kind:"element",type:"array",description:"Allows to save properties of the current exchange in order to re-use them in a compensation/completion callback route. Options are usually helpful e.g. to store and retrieve identifiers of objects that should be deleted in compensating actions. Option values will be transformed into input headers of the compensation/completion exchange.",title:"Option",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},sample:{type:"object",title:"Sample",group:"eip,routing",icon:"generic24.png",description:"Extract a sample of the messages passing through a route",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},samplePeriod:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the sample period during which only a single Exchange will pass through.",title:"Sample Period",required:!1,deprecated:!1},messageFrequency:{kind:"attribute",type:"integer",description:"Sets the sample message count which only a single Exchange will pass through after this many received.",title:"Message Frequency",required:!1,deprecated:!1}}},script:{type:"object",title:"Script",group:"eip,transformation",icon:"generic24.png",description:"Executes a script from a language which does not change the message body.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to return the transformed message body (the new message body to use)",title:"Expression",required:!0,deprecated:!1}}},serviceCall:{type:"object",title:"Service Call",group:"eip,routing",icon:"generic24.png",description:"To call remote services",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Sets the name of the service to use",title:"Name",required:!0,deprecated:!1},expression:{kind:"element",type:"object",description:"Configures the Expression using the given configuration.",title:"Expression",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"The uri of the endpoint to send to. The uri can be dynamic computed using the org.apache.camel.language.simple.SimpleLanguage expression.",title:"Uri",required:!1,deprecated:!1},component:{kind:"attribute",type:"string",defaultValue:"http",description:"The component to use.",title:"Component",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the optional ExchangePattern used to invoke this endpoint",title:"Pattern",required:!1,deprecated:!1},configurationRef:{kind:"attribute",type:"string",description:"Refers to a ServiceCall configuration to use",title:"Configuration Ref",required:!1,deprecated:!1},serviceDiscoveryRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceDiscovery to use.",title:"Service Discovery Ref",required:!1,deprecated:!1},serviceFilterRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceFilter to use.",title:"Service Filter Ref",required:!1,deprecated:!1},serviceChooserRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceChooser to use.",title:"Service Chooser Ref",required:!1,deprecated:!1},loadBalancerRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceLoadBalancer to use.",title:"Load Balancer Ref",required:!1,deprecated:!1},expressionRef:{kind:"attribute",type:"string",description:"Set a reference to a custom Expression to use.",title:"Expression Ref",required:!1,deprecated:!1},serviceDiscoveryConfiguration:{kind:"element",type:"object",description:"Configures the ServiceDiscovery using the given configuration.",title:"Service Discovery Configuration",required:!0,deprecated:!1},serviceFilterConfiguration:{kind:"element",type:"object",description:"Configures the ServiceFilter using the given configuration.",title:"Service Filter Configuration",required:!0,deprecated:!1},loadBalancerConfiguration:{kind:"element",type:"object",description:"Configures the LoadBalancer using the given configuration.",title:"Load Balancer Configuration",required:!0,deprecated:!1}}},serviceCallConfiguration:{type:"object",title:"Service Call Configuration",group:"routing,cloud",icon:"generic24.png",description:"Remote service call configuration",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"element",type:"object",description:"Configures the Expression using the given configuration.",title:"Expression",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"The uri of the endpoint to send to. The uri can be dynamic computed using the simple language expression.",title:"Uri",required:!1,deprecated:!1},component:{kind:"attribute",type:"string",defaultValue:"http",description:"The component to use.",title:"Component",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the optional ExchangePattern used to invoke this endpoint",title:"Pattern",required:!1,deprecated:!1},serviceDiscoveryRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceDiscovery to use.",title:"Service Discovery Ref",required:!1,deprecated:!1},serviceFilterRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceFilter to use.",title:"Service Filter Ref",required:!1,deprecated:!1},serviceChooserRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceChooser to use.",title:"Service Chooser Ref",required:!1,deprecated:!1},loadBalancerRef:{kind:"attribute",type:"string",description:"Sets a reference to a custom ServiceLoadBalancer to use.",title:"Load Balancer Ref",required:!1,deprecated:!1},expressionRef:{kind:"attribute",type:"string",description:"Set a reference to a custom Expression to use.",title:"Expression Ref",required:!1,deprecated:!1},serviceDiscoveryConfiguration:{kind:"element",type:"object",description:"Configures the ServiceDiscovery using the given configuration.",title:"Service Discovery Configuration",required:!0,deprecated:!1},serviceFilterConfiguration:{kind:"element",type:"object",description:"Configures the ServiceFilter using the given configuration.",title:"Service Filter Configuration",required:!0,deprecated:!1},loadBalancerConfiguration:{kind:"element",type:"object",description:"Configures theL oadBalancer using the given configuration.",title:"Load Balancer Configuration",required:!0,deprecated:!1}}},serviceChooserConfiguration:{type:"object",title:"Service Chooser Configuration",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},serviceDiscoveryConfiguration:{type:"object",title:"Service Discovery Configuration",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},serviceExpression:{type:"object",title:"Service Expression",group:"routing,cloud",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},hostHeader:{kind:"attribute",type:"string",defaultValue:"CamelServiceCallServiceHost",description:"The header that holds the service host information, default ServiceCallConstants.SERVICE_HOST",title:"Host Header",required:!1,deprecated:!1},portHeader:{kind:"attribute",type:"string",defaultValue:"CamelServiceCallServicePort",description:"The header that holds the service port information, default ServiceCallConstants.SERVICE_PORT",title:"Port Header",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},serviceFilterConfiguration:{type:"object",title:"Service Filter Configuration",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},setBody:{type:"object",title:"Set Body",group:"eip,transformation",icon:"setBody24.png",description:"Sets the contents of the message body",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression that returns the new body to use",title:"Expression",required:!0,deprecated:!1}}},setExchangePattern:{type:"object",title:"Set Exchange Pattern",group:"configuration",icon:"generic24.png",description:"Sets the exchange pattern on the message exchange",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the new exchange pattern of the Exchange to be used from this point forward",title:"Pattern",required:!0,deprecated:!1}}},setHeader:{type:"object",title:"Set Header",group:"eip,transformation",icon:"generic24.png",description:"Sets the value of a message header",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Name of message header to set a new value The simple language can be used to define a dynamic evaluated header name to be used. Otherwise a constant name will be used.",title:"Name",required:!0,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to return the value of the header",title:"Expression",required:!0,deprecated:!1}}},setHeaders:{type:"object",title:"Set Headers",group:"eip,transformation",icon:"generic24.png",description:"Allows to set multiple headers on the message at the same time.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1}}},setProperty:{type:"object",title:"Set Property",group:"eip,transformation",icon:"generic24.png",description:"Sets a named property on the message exchange",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Name of exchange property to set a new value. The simple language can be used to define a dynamic evaluated exchange property name to be used. Otherwise a constant name will be used.",title:"Name",required:!0,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to return the value of the message exchange property",title:"Expression",required:!0,deprecated:!1}}},setVariable:{type:"object",title:"Set Variable",group:"eip,transformation",icon:"generic24.png",description:"Sets the value of a variable",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Name of variable to set a new value The simple language can be used to define a dynamic evaluated variable name to be used. Otherwise a constant name will be used.",title:"Name",required:!0,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to return the value of the variable",title:"Expression",required:!0,deprecated:!1}}},sort:{type:"object",title:"Sort",group:"eip,routing",icon:"generic24.png",description:"Sorts the contents of the message",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Optional expression to sort by something else than the message body",title:"Expression",required:!0,deprecated:!1},comparator:{kind:"attribute",type:"object",description:"Sets the comparator to use for sorting",title:"Comparator",required:!1,deprecated:!1}}},split:{type:"object",title:"Split",group:"eip,routing",icon:"split24.png",description:"Splits a single message into many sub-messages.",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression of how to split the message body, such as as-is, using a tokenizer, or using a xpath.",title:"Expression",required:!0,deprecated:!1},delimiter:{kind:"attribute",type:"string",defaultValue:",",description:"Delimiter used in splitting messages. Can be turned off using the value false. To force not splitting then the delimiter can be set to single to use the value as a single list, this can be needed in some special situations. The default value is comma.",title:"Delimiter",required:!1,deprecated:!1},aggregationStrategy:{kind:"attribute",type:"object",description:"Sets a reference to the AggregationStrategy to be used to assemble the replies from the split messages, into a single outgoing message from the Splitter. By default Camel will use the original incoming message to the splitter (leave it unchanged). You can also use a POJO as the AggregationStrategy",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"attribute",type:"string",description:"This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},parallelAggregate:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then the aggregate method on AggregationStrategy can be called concurrently. Notice that this would require the implementation of AggregationStrategy to be implemented as thread-safe. By default this is false meaning that Camel synchronizes the call to the aggregate method. Though in some use-cases this can be used to archive higher performance when the AggregationStrategy is implemented as thread-safe.",title:"Parallel Aggregate",required:!1,deprecated:!1},parallelProcessing:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then processing each split messages occurs concurrently. Note the caller thread will still wait until all messages has been fully processed, before it continues. It's only processing the sub messages from the splitter which happens concurrently. When parallel processing is enabled, then the Camel routing engin will continue processing using last used thread from the parallel thread pool. However, if you want to use the original thread that called the splitter, then make sure to enable the synchronous option as well.",title:"Parallel Processing",required:!1,deprecated:!1},synchronous:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used. When enabled then the same thread is used to continue routing after the split is complete, even if parallel processing is enabled.",title:"Synchronous",required:!1,deprecated:!1},streaming:{kind:"attribute",type:"boolean",defaultValue:"false",description:"When in streaming mode, then the splitter splits the original message on-demand, and each split message is processed one by one. This reduces memory usage as the splitter do not split all the messages first, but then we do not know the total size, and therefore the org.apache.camel.Exchange#SPLIT_SIZE is empty. In non-streaming mode (default) the splitter will split each message first, to know the total size, and then process each message one by one. This requires to keep all the split messages in memory and therefore requires more memory. The total size is provided in the org.apache.camel.Exchange#SPLIT_SIZE header. The streaming mode also affects the aggregation behavior. If enabled then Camel will process replies out-of-order, e.g. in the order they come back. If disabled, Camel will process replies in the same order as the messages was split.",title:"Streaming",required:!1,deprecated:!1},stopOnException:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will now stop further processing if an exception or failure occurred during processing of an org.apache.camel.Exchange and the caused exception will be thrown. Will also stop if processing the exchange failed (has a fault message) or an exception was thrown and handled by the error handler (such as using onException). In all situations the splitter will stop further processing. This is the same behavior as in pipeline, which is used by the routing engine. The default behavior is to not stop but continue processing till the end",title:"Stop On Exception",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",defaultValue:"0",description:"Sets a total timeout specified in millis, when using parallel processing. If the Splitter hasn't been able to split and process all the sub messages within the given timeframe, then the timeout triggers and the Splitter breaks out and continues. Notice if you provide a TimeoutAwareAggregationStrategy then the timeout method is invoked before breaking out. If the timeout is reached with running tasks still remaining, certain tasks for which it is difficult for Camel to shut down in a graceful manner may continue to run. So use this option with a bit of care.",title:"Timeout",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom Thread Pool to be used for parallel processing. Notice if you set this option, then parallel processing is automatically implied, and you do not have to enable that option as well.",title:"Executor Service",required:!1,deprecated:!1},onPrepare:{kind:"attribute",type:"object",description:"Uses the Processor when preparing the org.apache.camel.Exchange to be sent. This can be used to deep-clone messages that should be sent, or any custom logic needed before the exchange is sent.",title:"On Prepare",required:!1,deprecated:!1},shareUnitOfWork:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Splitter will by default not share unit of work between the parent exchange and each split exchange. This means each split exchange has its own individual unit of work.",title:"Share Unit Of Work",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},springTransactionErrorHandler:{type:"object",title:"Spring Transaction Error Handler",group:"configuration,error",icon:"generic24.png",description:"Spring based transactional error handler (requires camel-spring).",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},transactedPolicyRef:{kind:"attribute",type:"object",description:"The transacted policy to use that is configured for either Spring or JTA based transactions. If no policy has been configured then Camel will attempt to auto-discover.",title:"Transacted Policy Ref",required:!1,deprecated:!1},rollbackLoggingLevel:{kind:"attribute",type:"enum",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Sets the logging level to use for logging transactional rollback. This option is default WARN.",title:"Rollback Logging Level",required:!1,deprecated:!1},redeliveryPolicy:{kind:"element",type:"object",description:"Sets the redelivery settings",title:"Redelivery Policy",required:!1,deprecated:!1},useOriginalMessage:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message (original body and headers) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Message",required:!1,deprecated:!1},useOriginalBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Will use the original input org.apache.camel.Message body (original body only) when an org.apache.camel.Exchange is moved to the dead letter queue. Notice: this only applies when all redeliveries attempt have failed and the org.apache.camel.Exchange is doomed for failure. Instead of using the current inprogress org.apache.camel.Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the org.apache.camel.Exchange again as the IN message is the same as when Camel received it. So you should be able to send the org.apache.camel.Exchange to the same input. The difference between useOriginalMessage and useOriginalBody is that the former includes both the original body and headers, where as the latter only includes the original body. You can use the latter to enrich the message with custom headers and include the original message body. The former wont let you do this, as its using the original message body and headers as they are. You cannot enable both useOriginalMessage and useOriginalBody. The original input message is defensively copied, and the copied message body is converted to org.apache.camel.StreamCache if possible (stream caching is enabled, can be disabled globally or on the original route), to ensure the body can be read when the original message is being used later. If the body is converted to org.apache.camel.StreamCache then the message body on the current org.apache.camel.Exchange is replaced with the org.apache.camel.StreamCache body. If the body is not converted to org.apache.camel.StreamCache then the body will not be able to re-read when accessed later. Important: The original input means the input message that are bounded by the current org.apache.camel.spi.UnitOfWork . An unit of work typically spans one route, or multiple routes if they are connected using internal endpoints such as direct or seda. When messages is passed via external endpoints such as JMS or HTTP then the consumer will create a new unit of work, with the message it received as input as the original input. Also some EIP patterns such as splitter, multicast, will create a new unit of work boundary for the messages in their sub-route (eg the splitted message); however these EIPs have an option named shareUnitOfWork which allows to combine with the parent unit of work in regard to error handling and therefore use the parent original message. By default this feature is off.",title:"Use Original Body",required:!1,deprecated:!1},redeliveryPolicyRef:{kind:"attribute",type:"object",description:"Sets a reference to a RedeliveryPolicy to be used for redelivery settings.",title:"Redelivery Policy Ref",required:!1,deprecated:!1},loggerRef:{kind:"attribute",type:"string",description:"References to a logger to use as logger for the error handler",title:"Logger Ref",required:!1,deprecated:!1},level:{kind:"attribute",type:"enum",defaultValue:"ERROR",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to use by error handler",title:"Level",required:!1,deprecated:!1},logName:{kind:"attribute",type:"string",description:"Name of the logger to use by the error handler",title:"Log Name",required:!1,deprecated:!1},onRedeliveryRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed before a redelivery attempt. Can be used to change the org.apache.camel.Exchange before its being redelivered.",title:"On Redelivery Ref",required:!1,deprecated:!1},onExceptionOccurredRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor that should be processed just after an exception occurred. Can be used to perform custom logging about the occurred exception at the exact time it happened. Important: Any exception thrown from this processor will be ignored.",title:"On Exception Occurred Ref",required:!1,deprecated:!1},onPrepareFailureRef:{kind:"attribute",type:"object",description:"Sets a reference to a processor to prepare the org.apache.camel.Exchange before handled by the failure processor / dead letter channel. This allows for example to enrich the message before sending to a dead letter queue.",title:"On Prepare Failure Ref",required:!1,deprecated:!1},retryWhileRef:{kind:"attribute",type:"object",description:"Sets a retry while predicate. Will continue retrying until the predicate evaluates to false.",title:"Retry While Ref",required:!1,deprecated:!1},executorServiceRef:{kind:"attribute",type:"object",description:"Sets a reference to a thread pool to be used by the error handler",title:"Executor Service Ref",required:!1,deprecated:!1}}},staticServiceDiscovery:{type:"object",title:"Static Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},servers:{kind:"element",type:"array",description:"Sets the server list. Each entry can be a list of servers separated by comma in the format: servicehost:port,servicehost2:port,servicehost3:port",title:"Servers",required:!1,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}},step:{type:"object",title:"Step",group:"eip,routing",icon:"generic24.png",description:"Routes the message to a sequence of processors which is grouped together as one logical name",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},sticky:{type:"object",title:"Sticky",group:"eip,routing",icon:"generic24.png",description:"Sticky load balancing using an expression to calculate a correlation key to perform the sticky load balancing.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},correlationExpression:{kind:"expression",type:"object",description:"The correlation expression to use to calculate the correlation key",title:"Correlation Expression",required:!0,deprecated:!1}}},stop:{type:"object",title:"Stop",group:"eip,routing",icon:"generic24.png",description:"Stops the processing of the current message",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1}}},streamConfig:{type:"object",title:"Stream Config",group:"configuration,eip",icon:"generic24.png",description:"Configures stream-processing resequence eip.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{capacity:{kind:"attribute",type:"integer",defaultValue:"1000",description:"Sets the capacity of the resequencer inbound queue.",title:"Capacity",required:!1,deprecated:!1},timeout:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets minimum time (milliseconds) to wait for missing elements (messages).",title:"Timeout",required:!1,deprecated:!1},deliveryAttemptInterval:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the interval in milliseconds the stream resequencer will at most wait while waiting for condition of being able to deliver.",title:"Delivery Attempt Interval",required:!1,deprecated:!1},ignoreInvalidExchanges:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore invalid exchanges",title:"Ignore Invalid Exchanges",required:!1,deprecated:!1},rejectOld:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If true, throws an exception when messages older than the last delivered message are processed",title:"Reject Old",required:!1,deprecated:!1},comparator:{kind:"attribute",type:"object",description:"To use a custom comparator as a org.apache.camel.processor.resequencer.ExpressionResultComparator type.",title:"Comparator",required:!1,deprecated:!1}}},templateBean:{type:"object",title:"Template Bean",group:"configuration",icon:"generic24.png",description:"A route template bean (local bean)",properties:{name:{kind:"attribute",type:"string",description:"Bean name",title:"Name",required:!0,deprecated:!1},type:{kind:"attribute",type:"string",description:"What type to use for creating the bean (FQN classname). Can be prefixed with: #class or #type #class or #type then the bean is created via the fully qualified classname, such as #class:com.foo.MyBean",title:"Type",required:!0,deprecated:!1},scriptLanguage:{kind:"attribute",type:"string",description:"The script language to use when using inlined script for creating the bean, such as groovy, java, javascript etc.",title:"Script Language",required:!1,deprecated:!1},property:{kind:"element",type:"array",description:"Optional properties to set on the created local bean",title:"Property",required:!1,deprecated:!1},properties:{kind:"element",type:"object",description:"Optional properties to set on the created local bean",title:"Properties",required:!1,deprecated:!1},script:{kind:"element",type:"string",description:"The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com/foo/myscript.groovy, resource:file:/var/myscript.groovy, then its loaded from the external resource.",title:"Script",required:!1,deprecated:!1}}},templateParameter:{type:"object",title:"Template Parameter",group:"configuration",icon:"generic24.png",description:"A route template parameter",properties:{description:{kind:"attribute",type:"string",description:"Description of the parameter",title:"Description",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"The name of the parameter",title:"Name",required:!0,deprecated:!1},required:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the parameter is required or not. A parameter is required unless this option is set to false or a default value has been configured.",title:"Required",required:!1,deprecated:!1},defaultValue:{kind:"attribute",type:"string",description:"Default value of the parameter. If a default value is provided then the parameter is implied not to be required.",title:"Default Value",required:!1,deprecated:!1}}},templatedRoute:{type:"object",title:"Templated Route",group:"configuration",icon:"generic24.png",description:"Defines a templated route (a route built from a route template)",properties:{routeTemplateRef:{kind:"attribute",type:"string",description:"Sets the id of the route template to use to build the route.",title:"Route Template Ref",required:!0,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route built from the route template.",title:"Route Id",required:!1,deprecated:!1},prefixId:{kind:"attribute",type:"string",description:"Sets a prefix to use for all node ids (not route id).",title:"Prefix Id",required:!1,deprecated:!1},parameter:{kind:"element",type:"array",description:"Adds an input parameter of the template to build the route",title:"Parameter",required:!1,deprecated:!1},bean:{kind:"element",type:"array",description:"Adds a local bean as input of the template to build the route",title:"Bean",required:!1,deprecated:!1}}},templatedRouteBean:{type:"object",title:"Templated Route Bean",group:"configuration",icon:"generic24.png",description:"A bean as input of a route template (local bean)",properties:{name:{kind:"attribute",type:"string",description:"Bean name",title:"Name",required:!0,deprecated:!1},type:{kind:"attribute",type:"string",description:"What type to use for creating the bean (FQN classname). Can be prefixed with: #class or #type #class or #type then the bean is created via the fully qualified classname, such as #class:com.foo.MyBean",title:"Type",required:!0,deprecated:!1},scriptLanguage:{kind:"attribute",type:"string",description:"The script language to use when using inlined script for creating the bean, such as groovy, java, javascript etc.",title:"Script Language",required:!1,deprecated:!1},property:{kind:"element",type:"array",description:"Optional properties to set on the created local bean",title:"Property",required:!1,deprecated:!1},properties:{kind:"element",type:"object",description:"Optional properties to set on the created local bean",title:"Properties",required:!1,deprecated:!1},script:{kind:"element",type:"string",description:"The script to execute that creates the bean when using scripting languages. If the script use the prefix resource: such as resource:classpath:com/foo/myscript.groovy, resource:file:/var/myscript.groovy, then its loaded from the external resource.",title:"Script",required:!1,deprecated:!1}}},templatedRouteParameter:{type:"object",title:"Templated Route Parameter",group:"configuration",icon:"generic24.png",description:"An input parameter of a route template.",properties:{name:{kind:"attribute",type:"string",description:"The name of the parameter",title:"Name",required:!0,deprecated:!1},value:{kind:"attribute",type:"string",description:"The value of the parameter.",title:"Value",required:!0,deprecated:!1}}},templatedRoutes:{type:"object",title:"Templated Routes",group:"configuration",icon:"generic24.png",description:"A series of templated routes",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1}}},threadPoolProfile:{type:"object",title:"Thread Pool Profile",group:"configuration",icon:"generic24.png",description:"To configure thread pools",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},defaultProfile:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether this profile is the default thread pool profile",title:"Default Profile",required:!1,deprecated:!1},poolSize:{kind:"attribute",type:"integer",description:"Sets the core pool size",title:"Pool Size",required:!1,deprecated:!1},maxPoolSize:{kind:"attribute",type:"integer",description:"Sets the maximum pool size",title:"Max Pool Size",required:!1,deprecated:!1},keepAliveTime:{kind:"attribute",type:"integer",description:"Sets the keep alive time for idle threads in the pool",title:"Keep Alive Time",required:!1,deprecated:!1},timeUnit:{kind:"attribute",type:"enum",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Sets the time unit to use for keep alive time By default SECONDS is used.",title:"Time Unit",required:!1,deprecated:!1},maxQueueSize:{kind:"attribute",type:"integer",description:"Sets the maximum number of tasks in the work queue. Use -1 or Integer.MAX_VALUE for an unbounded queue",title:"Max Queue Size",required:!1,deprecated:!1},allowCoreThreadTimeOut:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether idle core threads is allowed to timeout and therefore can shrink the pool size below the core pool size Is by default true",title:"Allow Core Thread Time Out",required:!1,deprecated:!1},rejectedPolicy:{kind:"attribute",type:"enum",enum:["Abort","CallerRuns"],description:"Sets the handler for tasks which cannot be executed by the thread pool.",title:"Rejected Policy",required:!1,deprecated:!1}}},threads:{type:"object",title:"Threads",group:"eip,routing",icon:"generic24.png",description:"Specifies that all steps after this node are processed asynchronously",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom thread pool",title:"Executor Service",required:!1,deprecated:!1},poolSize:{kind:"attribute",type:"integer",description:"Sets the core pool size",title:"Pool Size",required:!1,deprecated:!1},maxPoolSize:{kind:"attribute",type:"integer",description:"Sets the maximum pool size",title:"Max Pool Size",required:!1,deprecated:!1},keepAliveTime:{kind:"attribute",type:"integer",description:"Sets the keep alive time for idle threads",title:"Keep Alive Time",required:!1,deprecated:!1},timeUnit:{kind:"attribute",type:"enum",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Sets the keep alive time unit. By default SECONDS is used.",title:"Time Unit",required:!1,deprecated:!1},maxQueueSize:{kind:"attribute",type:"integer",description:"Sets the maximum number of tasks in the work queue. Use -1 or Integer.MAX_VALUE for an unbounded queue",title:"Max Queue Size",required:!1,deprecated:!1},allowCoreThreadTimeOut:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether idle core threads are allowed to timeout and therefore can shrink the pool size below the core pool size Is by default false",title:"Allow Core Thread Time Out",required:!1,deprecated:!1},threadName:{kind:"attribute",type:"string",defaultValue:"Threads",description:"Sets the thread name to use.",title:"Thread Name",required:!1,deprecated:!1},rejectedPolicy:{kind:"attribute",type:"enum",enum:["Abort","CallerRuns"],description:"Sets the handler for tasks which cannot be executed by the thread pool.",title:"Rejected Policy",required:!1,deprecated:!1},callerRunsWhenRejected:{kind:"attribute",type:"string",defaultValue:"true",description:"Whether or not to use as caller runs as fallback when a task is rejected being added to the thread pool (when its full). This is only used as fallback if no rejectedPolicy has been configured, or the thread pool has no configured rejection handler. Is by default true",title:"Caller Runs When Rejected",required:!1,deprecated:!1}}},throttle:{type:"object",title:"Throttle",group:"eip,routing",icon:"generic24.png",description:"Controls the rate at which messages are passed to the next node in the route",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to configure the maximum number of messages to throttle per request",title:"Expression",required:!0,deprecated:!1},mode:{kind:"attribute",type:"enum",defaultValue:"TotalRequests",enum:["TotalRequests","ConcurrentRequests"],description:"Sets the throttling mode to one of the available modes enumerated in ThrottlingMode",title:"Mode",required:!1,deprecated:!1},correlationExpression:{kind:"expression",type:"object",description:"The expression used to calculate the correlation key to use for throttle grouping. The Exchange which has the same correlation key is throttled together.",title:"Correlation Expression",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"To use a custom thread pool (ScheduledExecutorService) by the throttler.",title:"Executor Service",required:!1,deprecated:!1},asyncDelayed:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enables asynchronous delay which means the thread will not block while delaying.",title:"Async Delayed",required:!1,deprecated:!1},callerRunsWhenRejected:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the caller should run the task when it was rejected by the thread pool. Is by default true",title:"Caller Runs When Rejected",required:!1,deprecated:!1},rejectExecution:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not throttler throws the ThrottlerRejectedExecutionException when the exchange exceeds the request limit Is by default false",title:"Reject Execution",required:!1,deprecated:!1},timePeriodMillis:{kind:"attribute",type:"duration",defaultValue:"1000",description:"Sets the time period during which the maximum request count is valid for",title:"Time Period Millis",required:!1,deprecated:!1}}},throwException:{type:"object",title:"Throw Exception",group:"error",icon:"generic24.png",description:"Throws an exception",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},message:{kind:"attribute",type:"string",description:"To create a new exception instance and use the given message as caused message (supports simple language)",title:"Message",required:!1,deprecated:!1},exceptionType:{kind:"attribute",type:"string",description:"The class of the exception to create using the message.",title:"Exception Type",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Reference to the exception instance to lookup from the registry to throw",title:"Ref",required:!1,deprecated:!1}}},to:{type:"object",title:"To",group:"eip,routing",icon:"endpoint24.png",description:"Sends the message to a static endpoint",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},variableSend:{kind:"attribute",type:"string",description:"To use a variable as the source for the message body to send. This makes it handy to use variables for user data and to easily control what data to use for sending and receiving. Important: When using send variable then the message body is taken from this variable instead of the current Message , however the headers from the Message will still be used as well. In other words, the variable is used instead of the message body, but everything else is as usual.",title:"Variable Send",required:!1,deprecated:!1},variableReceive:{kind:"attribute",type:"string",description:"To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .",title:"Variable Receive",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"Sets the uri of the endpoint to send to.",title:"Uri",required:!0,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the optional ExchangePattern used to invoke this endpoint",title:"Pattern",required:!1,deprecated:!1}}},toD:{type:"object",title:"To D",group:"eip,routing",icon:"endpoint24.png",description:"Sends the message to a dynamic endpoint",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"The uri of the endpoint to send to. The uri can be dynamic computed using the org.apache.camel.language.simple.SimpleLanguage expression.",title:"Uri",required:!0,deprecated:!1},variableSend:{kind:"attribute",type:"string",description:"To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .",title:"Variable Send",required:!1,deprecated:!1},variableReceive:{kind:"attribute",type:"string",description:"To use a variable as the source for the message body to send. This makes it handy to use variables for user data and to easily control what data to use for sending and receiving. Important: When using send variable then the message body is taken from this variable instead of the current Message , however the headers from the Message will still be used as well. In other words, the variable is used instead of the message body, but everything else is as usual.",title:"Variable Receive",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the optional ExchangePattern used to invoke this endpoint",title:"Pattern",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producers when using this recipient list, when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},ignoreInvalidEndpoint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore invalid endpoint URIs and skip sending the message.",title:"Ignore Invalid Endpoint",required:!1,deprecated:!1},allowOptimisedComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to allow components to optimise toD if they are org.apache.camel.spi.SendDynamicAware .",title:"Allow Optimised Components",required:!1,deprecated:!1},autoStartComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to auto startup components when toD is starting up.",title:"Auto Start Components",required:!1,deprecated:!1}}},topic:{type:"object",title:"Topic",group:"eip,routing",icon:"generic24.png",description:"Topic which sends to all destinations.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},transacted:{type:"object",title:"Transacted",group:"configuration",icon:"transactionalClient24.png",description:"Enables transaction on the route",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Sets a reference to use for lookup the policy in the registry.",title:"Ref",required:!1,deprecated:!1}}},transform:{type:"object",title:"Transform",group:"eip,transformation",icon:"transform24.png",description:"Transforms the message body based on an expression",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to return the transformed message body (the new message body to use)",title:"Expression",required:!0,deprecated:!1},fromType:{kind:"attribute",type:"string",description:"From type used in data type transformation.",title:"From Type",required:!1,deprecated:!1},toType:{kind:"attribute",type:"string",description:"To type used as a target data type in the transformation.",title:"To Type",required:!1,deprecated:!1}}},transformers:{type:"object",title:"Transformations",group:"transformation",icon:"generic24.png",description:"To configure transformers.",properties:{transformers:{kind:"element",type:"array",description:"The configured transformers",title:"Transformers",required:!0,deprecated:!1}}},validate:{type:"object",title:"Validate",group:"eip,transformation",icon:"generic24.png",description:"Validates a message based on an expression",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression to use for validation as a predicate. The expression should return either true or false. If returning false the message is invalid and an exception is thrown.",title:"Expression",required:!0,deprecated:!1},predicateExceptionFactory:{kind:"attribute",type:"object",description:"The bean id of custom PredicateExceptionFactory to use for creating the exception when the validation fails. By default, Camel will throw PredicateValidationException. By using a custom factory you can control which exception to throw instead.",title:"Predicate Exception Factory",required:!1,deprecated:!1}}},validators:{type:"object",title:"Validations",group:"validation",icon:"generic24.png",description:"To configure validators.",properties:{validators:{kind:"element",type:"array",description:"The configured transformers",title:"Validators",required:!0,deprecated:!1}}},value:{type:"object",title:"Value",group:"configuration",icon:"generic24.png",description:"A single value",properties:{value:{kind:"value",type:"string",description:"Property value",title:"Value",required:!0,deprecated:!1}}},weighted:{type:"object",title:"Weighted",group:"eip,routing",icon:"generic24.png",description:"Uses a weighted load distribution ratio for each server with respect to others.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},distributionRatio:{kind:"attribute",type:"string",description:"The distribution ratio is a delimited String consisting on integer weights separated by delimiters for example 2,3,5. The distributionRatio must match the number of endpoints and/or processors specified in the load balancer list.",title:"Distribution Ratio",required:!0,deprecated:!1},distributionRatioDelimiter:{kind:"attribute",type:"string",defaultValue:",",description:"Delimiter used to specify the distribution ratio. The default value is , (comma)",title:"Distribution Ratio Delimiter",required:!1,deprecated:!1},roundRobin:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To enable round robin mode. By default the weighted distribution mode is used. The default value is false.",title:"Round Robin",required:!1,deprecated:!1}}},when:{type:"object",title:"When",group:"eip,routing",icon:"generic24.png",description:"Triggers a route when the expression evaluates to true",acceptInput:"true",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression used as the predicate to evaluate whether this when should trigger and route the message or not.",title:"Expression",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},whenSkipSendToEndpoint:{type:"object",title:"When Skip Send To Endpoint",group:"configuration",icon:"generic24.png",description:"Predicate to determine if the message should be sent or not to the endpoint, when using interceptSentToEndpoint.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},expression:{kind:"expression",type:"object",description:"Expression used as the predicate to evaluate whether the message should be sent or not to the endpoint",title:"Expression",required:!0,deprecated:!1},outputs:{kind:"element",type:"array",description:"",title:"Outputs",required:!0,deprecated:!1}}},wireTap:{type:"object",title:"Wire Tap",group:"eip,routing",icon:"wireTap24.png",description:"Routes a copy of a message (or creates a new message) to a secondary destination while continue routing the original message.",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},copy:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Uses a copy of the original exchange",title:"Copy",required:!1,deprecated:!1},dynamicUri:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the uri is dynamic or static. If the uri is dynamic then the simple language is used to evaluate a dynamic uri to use as the wire-tap destination, for each incoming message. This works similar to how the toD EIP pattern works. If static then the uri is used as-is as the wire-tap destination.",title:"Dynamic Uri",required:!1,deprecated:!1},onPrepare:{kind:"attribute",type:"object",description:"Uses the Processor when preparing the org.apache.camel.Exchange to be sent. This can be used to deep-clone messages that should be sent, or any custom logic needed before the exchange is sent.",title:"On Prepare",required:!1,deprecated:!1},executorService:{kind:"attribute",type:"object",description:"Uses a custom thread pool",title:"Executor Service",required:!1,deprecated:!1},uri:{kind:"attribute",type:"string",description:"The uri of the endpoint to send to. The uri can be dynamic computed using the org.apache.camel.language.simple.SimpleLanguage expression.",title:"Uri",required:!0,deprecated:!1},variableSend:{kind:"attribute",type:"string",description:"To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .",title:"Variable Send",required:!1,deprecated:!1},variableReceive:{kind:"attribute",type:"string",description:"To use a variable as the source for the message body to send. This makes it handy to use variables for user data and to easily control what data to use for sending and receiving. Important: When using send variable then the message body is taken from this variable instead of the current Message , however the headers from the Message will still be used as well. In other words, the variable is used instead of the message body, but everything else is as usual.",title:"Variable Receive",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"enum",enum:["InOnly","InOut"],description:"Sets the optional ExchangePattern used to invoke this endpoint",title:"Pattern",required:!1,deprecated:!1},cacheSize:{kind:"attribute",type:"integer",description:"Sets the maximum size used by the org.apache.camel.spi.ProducerCache which is used to cache and reuse producers when using this recipient list, when uris are reused. Beware that when using dynamic endpoints then it affects how well the cache can be utilized. If each dynamic endpoint is unique then its best to turn off caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prototype scoped and will be stopped and discarded after use. This reduces memory usage as otherwise producers/endpoints are stored in memory in the caches. However if there are a high degree of dynamic endpoints that have been used before, then it can benefit to use the cache to reuse both producers and endpoints and therefore the cache size can be set accordingly or rely on the default size (1000). If there is a mix of unique and used before dynamic endpoints, then setting a reasonable cache size can help reduce memory usage to avoid storing too many non frequent used producers.",title:"Cache Size",required:!1,deprecated:!1},ignoreInvalidEndpoint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore invalid endpoint URIs and skip sending the message.",title:"Ignore Invalid Endpoint",required:!1,deprecated:!1},allowOptimisedComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to allow components to optimise toD if they are org.apache.camel.spi.SendDynamicAware .",title:"Allow Optimised Components",required:!1,deprecated:!1},autoStartComponents:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to auto startup components when toD is starting up.",title:"Auto Start Components",required:!1,deprecated:!1}}},zookeeperServiceDiscovery:{type:"object",title:"Zookeeper Service Discovery",group:"routing,cloud,service-discovery",icon:"generic24.png",description:"",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},nodes:{kind:"attribute",type:"string",description:"A comma separate list of servers to connect to in the form host:port",title:"Nodes",required:!0,deprecated:!1},namespace:{kind:"attribute",type:"string",description:"As ZooKeeper is a shared space, users of a given cluster should stay within a pre-defined namespace. If a namespace is set here, all paths will get pre-pended with the namespace",title:"Namespace",required:!1,deprecated:!1},reconnectBaseSleepTime:{kind:"attribute",type:"string",description:"Initial amount of time to wait between retries.",title:"Reconnect Base Sleep Time",required:!1,deprecated:!1},reconnectMaxSleepTime:{kind:"attribute",type:"string",description:"Max time in ms to sleep on each retry",title:"Reconnect Max Sleep Time",required:!1,deprecated:!1},reconnectMaxRetries:{kind:"attribute",type:"string",description:"Max number of times to retry",title:"Reconnect Max Retries",required:!1,deprecated:!1},sessionTimeout:{kind:"attribute",type:"string",description:"Session timeout.",title:"Session Timeout",required:!1,deprecated:!1},connectionTimeout:{kind:"attribute",type:"string",description:"Connection timeout.",title:"Connection Timeout",required:!1,deprecated:!1},basePath:{kind:"attribute",type:"string",description:"Set the base path to store in ZK",title:"Base Path",required:!0,deprecated:!1},properties:{kind:"element",type:"array",description:"Set client properties to use. These properties are specific to what service call implementation are in use. For example if using a different one, then the client properties are defined according to the specific service in use.",title:"Properties",required:!1,deprecated:!1}}}},l={apiKey:{type:"object",title:"Api Key",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security basic auth definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"The name of the header or query parameter to be used.",title:"Name",required:!0,deprecated:!1},key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},inHeader:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To use header as the location of the API key.",title:"In Header",required:!1,deprecated:!1},inQuery:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To use query parameter as the location of the API key.",title:"In Query",required:!1,deprecated:!1},inCookie:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To use a cookie as the location of the API key.",title:"In Cookie",required:!1,deprecated:!1}}},basicAuth:{type:"object",title:"Basic Auth",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security basic auth definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1},key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1}}},bearerToken:{type:"object",title:"Bearer Token",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security bearer token authentication definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1},key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},format:{kind:"attribute",type:"string",description:"A hint to the client to identify how the bearer token is formatted.",title:"Format",required:!1,deprecated:!1}}},delete:{type:"object",title:"Delete",group:"rest",icon:"generic24.png",description:"Rest DELETE command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},enableNoContentResponse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.",title:"Enable No Content Response",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1}}},get:{type:"object",title:"Get",group:"rest",icon:"generic24.png",description:"Rest GET command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},enableNoContentResponse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.",title:"Enable No Content Response",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1}}},head:{type:"object",title:"Head",group:"rest",icon:"generic24.png",description:"Rest HEAD command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},enableNoContentResponse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.",title:"Enable No Content Response",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1}}},mutualTLS:{type:"object",title:"Mutual TLS",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security mutual TLS authentication definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1},key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1}}},oauth2:{type:"object",title:"Oauth2",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security OAuth2 definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1},key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},authorizationUrl:{kind:"attribute",type:"string",description:"The authorization URL to be used for this flow. This SHOULD be in the form of a URL. Required for implicit and access code flows",title:"Authorization Url",required:!1,deprecated:!1},tokenUrl:{kind:"attribute",type:"string",description:"The token URL to be used for this flow. This SHOULD be in the form of a URL. Required for password, application, and access code flows.",title:"Token Url",required:!1,deprecated:!1},refreshUrl:{kind:"attribute",type:"string",description:"The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL.",title:"Refresh Url",required:!1,deprecated:!1},flow:{kind:"attribute",type:"enum",enum:["implicit","password","application","clientCredentials","accessCode","authorizationCode"],description:"The flow used by the OAuth2 security scheme. Valid values are implicit, password, application or accessCode.",title:"Flow",required:!1,deprecated:!1},scopes:{kind:"element",type:"array",description:"The available scopes for an OAuth2 security scheme",title:"Scopes",required:!1,deprecated:!1}}},openIdConnect:{type:"object",title:"Open Id Connect",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security OpenID Connect definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{description:{kind:"attribute",type:"string",description:"A short description for security scheme.",title:"Description",required:!1,deprecated:!1},key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},url:{kind:"attribute",type:"string",description:"OpenId Connect URL to discover OAuth2 configuration values.",title:"Url",required:!0,deprecated:!1}}},param:{type:"object",title:"Param",group:"rest",icon:"generic24.png",description:"To specify the rest operation parameters.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{description:{kind:"attribute",type:"string",description:"Sets the parameter description.",title:"Description",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Sets the parameter name.",title:"Name",required:!0,deprecated:!1},type:{kind:"attribute",type:"enum",defaultValue:"path",enum:["body","formData","header","path","query"],description:"Sets the parameter type.",title:"Type",required:!1,deprecated:!1},defaultValue:{kind:"attribute",type:"string",description:"Sets the parameter default value.",title:"Default Value",required:!1,deprecated:!1},required:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Sets the parameter required flag.",title:"Required",required:!1,deprecated:!1},collectionFormat:{kind:"attribute",type:"enum",defaultValue:"csv",enum:["csv","multi","pipes","ssv","tsv"],description:"Sets the parameter collection format.",title:"Collection Format",required:!1,deprecated:!1},arrayType:{kind:"attribute",type:"string",defaultValue:"string",description:"Sets the parameter array type. Required if data type is array. Describes the type of items in the array.",title:"Array Type",required:!1,deprecated:!1},dataType:{kind:"attribute",type:"string",defaultValue:"string",description:"Sets the parameter data type.",title:"Data Type",required:!1,deprecated:!1},dataFormat:{kind:"attribute",type:"string",description:"Sets the parameter data format.",title:"Data Format",required:!1,deprecated:!1},allowableValues:{kind:"element",type:"array",description:"Sets the parameter list of allowable values (enum).",title:"Allowable Values",required:!1,deprecated:!1},examples:{kind:"element",type:"array",description:"Sets the parameter examples.",title:"Examples",required:!1,deprecated:!1}}},patch:{type:"object",title:"Patch",group:"rest",icon:"generic24.png",description:"Rest PATCH command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},enableNoContentResponse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.",title:"Enable No Content Response",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1}}},post:{type:"object",title:"Post",group:"rest",icon:"generic24.png",description:"Rest POST command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},enableNoContentResponse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.",title:"Enable No Content Response",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1}}},put:{type:"object",title:"Put",group:"rest",icon:"generic24.png",description:"Rest PUT command",acceptInput:"true",acceptOutput:"false",nextSiblingAddedAsChild:"true",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},path:{kind:"attribute",type:"string",description:"The path mapping URIs of this REST operation such as /{id}.",title:"Path",required:!1,deprecated:!1},to:{kind:"element",type:"object",description:"The Camel endpoint this REST service will call, such as a direct endpoint to link to an existing route that handles this REST call.",title:"To",required:!0,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data This option will override what may be configured on a parent level. The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data This option will override what may be configured on a parent level The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},enableNoContentResponse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.",title:"Enable No Content Response",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},deprecated:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Marks this rest operation as deprecated in OpenApi documentation.",title:"Deprecated",required:!1,deprecated:!1},routeId:{kind:"attribute",type:"string",description:"Sets the id of the route",title:"Route Id",required:!1,deprecated:!1}}},responseHeader:{type:"object",title:"Response Header",group:"rest",icon:"generic24.png",description:"To specify the rest operation response headers.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{description:{kind:"attribute",type:"string",description:"Description of the parameter.",title:"Description",required:!1,deprecated:!1},name:{kind:"attribute",type:"string",description:"Name of the parameter. This option is mandatory.",title:"Name",required:!0,deprecated:!1},collectionFormat:{kind:"attribute",type:"enum",defaultValue:"csv",enum:["csv","multi","pipes","ssv","tsv"],description:"Sets the parameter collection format.",title:"Collection Format",required:!1,deprecated:!1},arrayType:{kind:"attribute",type:"string",defaultValue:"string",description:"Sets the parameter array type. Required if data type is array. Describes the type of items in the array.",title:"Array Type",required:!1,deprecated:!1},dataType:{kind:"attribute",type:"string",defaultValue:"string",description:"Sets the header data type.",title:"Data Type",required:!1,deprecated:!1},dataFormat:{kind:"attribute",type:"string",description:"Sets the parameter data format.",title:"Data Format",required:!1,deprecated:!1},allowableValues:{kind:"element",type:"array",description:"Sets the parameter list of allowable values.",title:"Allowable Values",required:!1,deprecated:!1},example:{kind:"attribute",type:"string",description:"Sets the example",title:"Example",required:!1,deprecated:!1}}},responseMessage:{type:"object",title:"Response Message",group:"rest",icon:"generic24.png",description:"To specify the rest operation response messages.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{code:{kind:"attribute",type:"string",defaultValue:"200",description:"The response code such as a HTTP status code",title:"Code",required:!1,deprecated:!1},message:{kind:"attribute",type:"string",description:"The response message (description)",title:"Message",required:!0,deprecated:!1},responseModel:{kind:"attribute",type:"string",description:"The response model",title:"Response Model",required:!1,deprecated:!1},header:{kind:"element",type:"array",description:"Adds a response header",title:"Header",required:!1,deprecated:!1},examples:{kind:"element",type:"array",description:"Examples of response messages",title:"Examples",required:!1,deprecated:!1}}},rest:{type:"object",title:"Rest",group:"rest",icon:"generic24.png",description:"Defines a rest service using the rest-dsl",acceptInput:"false",acceptOutput:"true",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this REST service from the route during build time. Once an REST service has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},path:{kind:"attribute",type:"string",description:"Path of the rest service, such as /foo",title:"Path",required:!1,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json. This option will override what may be configured on a parent level",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json This option will override what may be configured on a parent level",title:"Produces",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. This option will override what may be configured on a parent level The default value is auto",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do. This option will override what may be configured on a parent level",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. This option will override what may be configured on a parent level The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},enableNoContentResponse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.",title:"Enable No Content Response",required:!1,deprecated:!1},apiDocs:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to include or exclude this rest operation in API documentation. This option will override what may be configured on a parent level. The default value is true.",title:"Api Docs",required:!1,deprecated:!1},tag:{kind:"attribute",type:"string",description:"To configure a special tag for the operations within this rest definition.",title:"Tag",required:!1,deprecated:!1},securityDefinitions:{kind:"element",type:"object",description:"Sets the security definitions such as Basic, OAuth2 etc.",title:"Security Definitions",required:!1,deprecated:!1},securityRequirements:{kind:"element",type:"array",description:"Sets the security requirement(s) for all endpoints.",title:"Security Requirements",required:!1,deprecated:!1}}},restBinding:{type:"object",title:"Rest Binding",group:"rest",icon:"generic24.png",description:"To configure rest binding",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},consumes:{kind:"attribute",type:"string",description:"To define the content type what the REST service consumes (accept as input), such as application/xml or application/json",title:"Consumes",required:!1,deprecated:!1},produces:{kind:"attribute",type:"string",description:"To define the content type what the REST service produces (uses for output), such as application/xml or application/json",title:"Produces",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. The default value is off",title:"Binding Mode",required:!1,deprecated:!1},type:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from input to POJO for the incoming data The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Type",required:!1,deprecated:!1},outType:{kind:"attribute",type:"string",description:"Sets the class name to use for binding from POJO to output for the outgoing data The name of the class of the input data. Append a to the end of the name if you want the input to be an array type.",title:"Out Type",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do.",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},enableNoContentResponse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.",title:"Enable No Content Response",required:!1,deprecated:!1},component:{kind:"attribute",type:"string",description:"Sets the component name that this definition will apply to",title:"Component",required:!1,deprecated:!1}}},restConfiguration:{type:"object",title:"Rest Configuration",group:"rest",icon:"generic24.png",description:"To configure rest",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{component:{kind:"attribute",type:"enum",enum:["platform-http","servlet","jetty","undertow","netty-http","coap"],description:"The Camel Rest component to use for the REST transport (consumer), such as netty-http, jetty, servlet, undertow. If no component has been explicit configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestConsumerFactory is registered in the registry. If either one is found, then that is being used.",title:"Component",required:!1,deprecated:!1},apiComponent:{kind:"attribute",type:"enum",enum:["openapi","swagger"],description:"The name of the Camel component to use as the REST API. If no API Component has been explicit configured, then Camel will lookup if there is a Camel component responsible for servicing and generating the REST API documentation, or if a org.apache.camel.spi.RestApiProcessorFactory is registered in the registry. If either one is found, then that is being used.",title:"Api Component",required:!1,deprecated:!1},producerComponent:{kind:"attribute",type:"enum",enum:["vertx-http","http","undertow","netty-http"],description:"Sets the name of the Camel component to use as the REST producer",title:"Producer Component",required:!1,deprecated:!1},scheme:{kind:"attribute",type:"string",description:"The scheme to use for exposing the REST service. Usually http or https is supported. The default value is http",title:"Scheme",required:!1,deprecated:!1},host:{kind:"attribute",type:"string",description:"The hostname to use for exposing the REST service.",title:"Host",required:!1,deprecated:!1},port:{kind:"attribute",type:"string",description:"The port number to use for exposing the REST service. Notice if you use servlet component then the port number configured here does not apply, as the port number in use is the actual port number the servlet component is using. eg if using Apache Tomcat its the tomcat http port, if using Apache Karaf its the HTTP service in Karaf that uses port 8181 by default etc. Though in those situations setting the port number here, allows tooling and JMX to know the port number, so its recommended to set the port number to the number that the servlet engine uses.",title:"Port",required:!1,deprecated:!1},apiHost:{kind:"attribute",type:"string",description:"To use a specific hostname for the API documentation (such as swagger or openapi) This can be used to override the generated host with this configured hostname",title:"Api Host",required:!1,deprecated:!1},useXForwardHeaders:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to use X-Forward headers for Host and related setting. The default value is true.",title:"Use XForward Headers",required:!1,deprecated:!1},producerApiDoc:{kind:"attribute",type:"string",description:"Sets the location of the api document the REST producer will use to validate the REST uri and query parameters are valid accordingly to the api document. The location of the api document is loaded from classpath by default, but you can use file: or http: to refer to resources to load from file or http url.",title:"Producer Api Doc",required:!1,deprecated:!1},contextPath:{kind:"attribute",type:"string",description:"Sets a leading context-path the REST services will be using. This can be used when using components such as camel-servlet where the deployed web application is deployed using a context-path. Or for components such as camel-jetty or camel-netty-http that includes a HTTP server.",title:"Context Path",required:!1,deprecated:!1},apiContextPath:{kind:"attribute",type:"string",description:"Sets a leading API context-path the REST API services will be using. This can be used when using components such as camel-servlet where the deployed web application is deployed using a context-path.",title:"Api Context Path",required:!1,deprecated:!1},apiContextRouteId:{kind:"attribute",type:"string",description:"Sets the route id to use for the route that services the REST API. The route will by default use an auto assigned route id.",title:"Api Context Route Id",required:!1,deprecated:!1},apiVendorExtension:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether vendor extension is enabled in the Rest APIs. If enabled then Camel will include additional information as vendor extension (eg keys starting with x-) such as route ids, class names etc. Not all 3rd party API gateways and tools supports vendor-extensions when importing your API docs.",title:"Api Vendor Extension",required:!1,deprecated:!1},hostNameResolver:{kind:"attribute",type:"enum",defaultValue:"allLocalIp",enum:["allLocalIp","localHostName","localIp"],description:"If no hostname has been explicit configured, then this resolver is used to compute the hostname the REST service will be using.",title:"Host Name Resolver",required:!1,deprecated:!1},bindingMode:{kind:"attribute",type:"enum",defaultValue:"off",enum:["off","auto","json","xml","json_xml"],description:"Sets the binding mode to use. The default value is off",title:"Binding Mode",required:!1,deprecated:!1},skipBindingOnErrorCode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip binding on output if there is a custom HTTP error code header. This allows to build custom error messages that do not bind to json / xml etc, as success messages otherwise will do.",title:"Skip Binding On Error Code",required:!1,deprecated:!1},clientRequestValidation:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable validation of the client request to check: 1) Content-Type header matches what the Rest DSL consumes; returns HTTP Status 415 if validation error. 2) Accept header matches what the Rest DSL produces; returns HTTP Status 406 if validation error. 3) Missing required data (query parameters, HTTP headers, body); returns HTTP Status 400 if validation error. 4) Parsing error of the message body (JSon, XML or Auto binding mode must be enabled); returns HTTP Status 400 if validation error.",title:"Client Request Validation",required:!1,deprecated:!1},enableCORS:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable CORS headers in the HTTP response. The default value is false.",title:"Enable CORS",required:!1,deprecated:!1},enableNoContentResponse:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to return HTTP 204 with an empty body when a response contains an empty JSON object or XML root object. The default value is false.",title:"Enable No Content Response",required:!1,deprecated:!1},inlineRoutes:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Inline routes in rest-dsl which are linked using direct endpoints. By default, each service in Rest DSL is an individual route, meaning that you would have at least two routes per service (rest-dsl, and the route linked from rest-dsl). Enabling this allows Camel to optimize and inline this as a single route, however this requires to use direct endpoints, which must be unique per service. This option is default false.",title:"Inline Routes",required:!1,deprecated:!1},jsonDataFormat:{kind:"attribute",type:"string",description:"Name of specific json data format to use. By default jackson will be used. Important: This option is only for setting a custom name of the data format, not to refer to an existing data format instance.",title:"Json Data Format",required:!1,deprecated:!1},xmlDataFormat:{kind:"attribute",type:"string",description:"Name of specific XML data format to use. By default jaxb will be used. Important: This option is only for setting a custom name of the data format, not to refer to an existing data format instance.",title:"Xml Data Format",required:!1,deprecated:!1},componentProperty:{kind:"element",type:"array",description:"Allows to configure as many additional properties for the rest component in use.",title:"Component Property",required:!1,deprecated:!1},endpointProperty:{kind:"element",type:"array",description:"Allows to configure as many additional properties for the rest endpoint in use.",title:"Endpoint Property",required:!1,deprecated:!1},consumerProperty:{kind:"element",type:"array",description:"Allows to configure as many additional properties for the rest consumer in use.",title:"Consumer Property",required:!1,deprecated:!1},dataFormatProperty:{kind:"element",type:"array",description:"Allows to configure as many additional properties for the data formats in use. For example set property prettyPrint to true to have json outputted in pretty mode. The properties can be prefixed to denote the option is only for either JSON or XML and for either the IN or the OUT. The prefixes are: json.in. json.out. xml.in. xml.out. For example a key with value xml.out.mustBeJAXBElement is only for the XML data format for the outgoing. A key without a prefix is a common key for all situations.",title:"Data Format Property",required:!1,deprecated:!1},apiProperty:{kind:"element",type:"array",description:"Allows to configure as many additional properties for the api documentation. For example set property api.title to my cool stuff",title:"Api Property",required:!1,deprecated:!1},corsHeaders:{kind:"element",type:"array",description:"Allows to configure custom CORS headers.",title:"Cors Headers",required:!1,deprecated:!1}}},restContextRef:{type:"object",title:"Rest Context Ref",group:"configuration,rest",icon:"generic24.png",description:"To refer to an XML file with rest services defined using the rest-dsl",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{ref:{kind:"attribute",type:"string",description:"Reference to the rest-dsl",title:"Ref",required:!0,deprecated:!1}}},restProperty:{type:"object",title:"Rest Property",group:"rest",icon:"generic24.png",description:"A key value pair",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{key:{kind:"attribute",type:"string",description:"Property key",title:"Key",required:!0,deprecated:!1},value:{kind:"attribute",type:"string",description:"Property value",title:"Value",required:!0,deprecated:!1}}},rests:{type:"object",title:"Rests",group:"rest",icon:"generic24.png",description:"A series of rest services defined using the rest-dsl",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},rests:{kind:"element",type:"array",description:"Contains the rest services defined using the rest-dsl",title:"Rests",required:!1,deprecated:!1}}},security:{type:"object",title:"Rest Security",group:"rest,security,configuration",icon:"generic24.png",description:"Rest security definition",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{key:{kind:"attribute",type:"string",description:"Key used to refer to this security definition",title:"Key",required:!0,deprecated:!1},scopes:{kind:"attribute",type:"string",description:"The scopes to allow (separate multiple scopes by comma)",title:"Scopes",required:!1,deprecated:!1}}},securityDefinitions:{type:"object",title:"Rest Security Definitions",group:"rest,security,configuration",icon:"generic24.png",description:"To configure rest security definitions.",acceptInput:"false",acceptOutput:"false",nextSiblingAddedAsChild:"false",properties:{securityDefinitions:{kind:"element",type:"array",description:"Security definitions",title:"Security Definitions",required:!0,deprecated:!1}}}},d={asn1:{type:"object",title:"ASN.1 File",group:"dataformat,transformation,file",icon:"generic24.png",description:"Encode and decode data structures using Abstract Syntax Notation One (ASN.1).",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class to use when unmarshalling.",title:"Unmarshal Type",required:!1,deprecated:!1},usingIterator:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the asn1 file has more than one entry, the setting this option to true, allows working with the splitter EIP, to split the data using an iterator in a streaming mode.",title:"Using Iterator",required:!1,deprecated:!1}}},avro:{type:"object",title:"Avro",group:"dataformat,transformation",icon:"generic24.png",description:"Serialize and deserialize messages using Apache Avro binary data format.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},instanceClassName:{kind:"attribute",type:"string",description:"Class name to use for marshal and unmarshalling",title:"Instance Class Name",required:!1,deprecated:!1},library:{kind:"attribute",type:"enum",defaultValue:"ApacheAvro",enum:["ApacheAvro","Jackson"],description:"Which Avro library to use.",title:"Library",required:!1,deprecated:!1},objectMapper:{kind:"attribute",type:"string",description:"Lookup and use the existing ObjectMapper with the given id when using Jackson.",title:"Object Mapper",required:!1,deprecated:!1},useDefaultObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to lookup and use default Jackson ObjectMapper from the registry.",title:"Use Default Object Mapper",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},jsonView:{kind:"attribute",type:"string",description:"When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations",title:"Json View",required:!1,deprecated:!1},include:{kind:"attribute",type:"string",description:"If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null values, you can set this option to NON_NULL",title:"Include",required:!1,deprecated:!1},allowJmsType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.",title:"Allow Jms Type",required:!1,deprecated:!1},collectionType:{kind:"attribute",type:"string",description:"Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows to use different collection types than java.util.Collection based as default.",title:"Collection Type",required:!1,deprecated:!1},useList:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To unmarshal to a List of Map or a List of Pojo.",title:"Use List",required:!1,deprecated:!1},moduleClassNames:{kind:"attribute",type:"string",description:"To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma.",title:"Module Class Names",required:!1,deprecated:!1},moduleRefs:{kind:"attribute",type:"string",description:"To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.",title:"Module Refs",required:!1,deprecated:!1},enableFeatures:{kind:"attribute",type:"string",description:"Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Enable Features",required:!1,deprecated:!1},disableFeatures:{kind:"attribute",type:"string",description:"Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Disable Features",required:!1,deprecated:!1},allowUnmarshallType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used.",title:"Allow Unmarshall Type",required:!1,deprecated:!1},timezone:{kind:"attribute",type:"string",description:"If set then Jackson will use the Timezone when marshalling/unmarshalling.",title:"Timezone",required:!1,deprecated:!1},autoDiscoverObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true then Jackson will lookup for an objectMapper into the registry",title:"Auto Discover Object Mapper",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},schemaResolver:{kind:"attribute",type:"string",description:"Optional schema resolver used to lookup schemas for the data in transit.",title:"Schema Resolver",required:!1,deprecated:!1},autoDiscoverSchemaResolver:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When not disabled, the SchemaResolver will be looked up into the registry",title:"Auto Discover Schema Resolver",required:!1,deprecated:!1}}},barcode:{type:"object",title:"Barcode",group:"dataformat,transformation",icon:"generic24.png",description:"Transform strings to various 1D/2D barcode bitmap formats and back.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},barcodeFormat:{kind:"attribute",type:"string",description:"Barcode format such as QR-Code",title:"Barcode Format",required:!1,deprecated:!1},imageType:{kind:"attribute",type:"string",description:"Image type of the barcode such as png",title:"Image Type",required:!1,deprecated:!1},width:{kind:"attribute",type:"integer",description:"Width of the barcode",title:"Width",required:!1,deprecated:!1},height:{kind:"attribute",type:"integer",description:"Height of the barcode",title:"Height",required:!1,deprecated:!1}}},base64:{type:"object",title:"Base64",group:"dataformat,transformation",icon:"generic24.png",description:"Encode and decode data using Base64.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},lineLength:{kind:"attribute",type:"integer",defaultValue:"76",description:"To specific a maximum line length for the encoded data. By default 76 is used.",title:"Line Length",required:!1,deprecated:!1},lineSeparator:{kind:"attribute",type:"string",description:"The line separators to use. Uses new line characters (CRLF) by default.",title:"Line Separator",required:!1,deprecated:!1},urlSafe:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Instead of emitting '' and '/' we emit '-' and '_' respectively. urlSafe is only applied to encode operations. Decoding seamlessly handles both modes. Is by default false.",title:"Url Safe",required:!1,deprecated:!1}}},beanio:{type:"object",title:"BeanIO",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java beans to and from flat files (such as CSV, delimited, or fixed length formats).",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},mapping:{kind:"attribute",type:"string",description:"The BeanIO mapping file. Is by default loaded from the classpath. You can prefix with file:, http:, or classpath: to denote from where to load the mapping file.",title:"Mapping",required:!0,deprecated:!1},streamName:{kind:"attribute",type:"string",description:"The name of the stream to use.",title:"Stream Name",required:!0,deprecated:!1},ignoreUnidentifiedRecords:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore unidentified records.",title:"Ignore Unidentified Records",required:!1,deprecated:!1},ignoreUnexpectedRecords:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore unexpected records.",title:"Ignore Unexpected Records",required:!1,deprecated:!1},ignoreInvalidRecords:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore invalid records.",title:"Ignore Invalid Records",required:!1,deprecated:!1},encoding:{kind:"attribute",type:"string",description:"The charset to use. Is by default the JVM platform default charset.",title:"Encoding",required:!1,deprecated:!1},beanReaderErrorHandlerType:{kind:"attribute",type:"string",description:"To use a custom org.apache.camel.dataformat.beanio.BeanIOErrorHandler as error handler while parsing. Configure the fully qualified class name of the error handler. Notice the options ignoreUnidentifiedRecords, ignoreUnexpectedRecords, and ignoreInvalidRecords may not be in use when you use a custom error handler.",title:"Bean Reader Error Handler Type",required:!1,deprecated:!1},unmarshalSingleObject:{kind:"attribute",type:"boolean",defaultValue:"false",description:"This options controls whether to unmarshal as a list of objects or as a single object only. The former is the default mode, and the latter is only intended in special use-cases where beanio maps the Camel message to a single POJO bean.",title:"Unmarshal Single Object",required:!1,deprecated:!1}}},bindy:{type:"object",title:"Bindy",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java beans from and to flat payloads (such as CSV, delimited, fixed length formats, or FIX messages).",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},type:{kind:"attribute",type:"enum",enum:["Csv","Fixed","KeyValue"],description:"Whether to use Csv, Fixed, or KeyValue.",title:"Type",required:!0,deprecated:!1},classType:{kind:"attribute",type:"string",description:"Name of model class to use.",title:"Class Type",required:!1,deprecated:!1},allowEmptyStream:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to allow empty streams in the unmarshal process. If true, no exception will be thrown when a body without records is provided.",title:"Allow Empty Stream",required:!1,deprecated:!1},unwrapSingleInstance:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When unmarshalling should a single instance be unwrapped and returned instead of wrapped in a java.util.List.",title:"Unwrap Single Instance",required:!1,deprecated:!1},locale:{kind:"attribute",type:"string",description:"To configure a default locale to use, such as us for united states. To use the JVM platform default locale then use the name default",title:"Locale",required:!1,deprecated:!1}}},cbor:{type:"object",title:"CBOR",group:"dataformat,transformation,json",icon:"generic24.png",description:"Unmarshal a CBOR payload to POJO and back.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},objectMapper:{kind:"attribute",type:"string",description:"Lookup and use the existing CBOR ObjectMapper with the given id when using Jackson.",title:"Object Mapper",required:!1,deprecated:!1},useDefaultObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to lookup and use default Jackson CBOR ObjectMapper from the registry.",title:"Use Default Object Mapper",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},collectionType:{kind:"attribute",type:"string",description:"Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows to use different collection types than java.util.Collection based as default.",title:"Collection Type",required:!1,deprecated:!1},useList:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To unmarshal to a List of Map or a List of Pojo.",title:"Use List",required:!1,deprecated:!1},allowUnmarshallType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Jackson CBOR is allowed to attempt to use the CamelCBORUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used.",title:"Allow Unmarshall Type",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To enable pretty printing output nicely formatted. Is by default false.",title:"Pretty Print",required:!1,deprecated:!1},allowJmsType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.",title:"Allow Jms Type",required:!1,deprecated:!1},enableFeatures:{kind:"attribute",type:"string",description:"Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Enable Features",required:!1,deprecated:!1},disableFeatures:{kind:"attribute",type:"string",description:"Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Disable Features",required:!1,deprecated:!1}}},crypto:{type:"object",title:"Crypto (Java Cryptographic Extension)",group:"dataformat,transformation,security",icon:"generic24.png",description:"Encrypt and decrypt messages using Java Cryptography Extension (JCE).",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},algorithm:{kind:"attribute",type:"string",description:"The JCE algorithm name indicating the cryptographic algorithm that will be used.",title:"Algorithm",required:!1,deprecated:!1},keyRef:{kind:"attribute",type:"string",description:"Refers to the secret key to lookup from the register to use.",title:"Key Ref",required:!1,deprecated:!1},cryptoProvider:{kind:"attribute",type:"string",description:"The name of the JCE Security Provider that should be used.",title:"Crypto Provider",required:!1,deprecated:!1},initVectorRef:{kind:"attribute",type:"string",description:"Refers to a byte array containing the Initialization Vector that will be used to initialize the Cipher.",title:"Init Vector Ref",required:!1,deprecated:!1},algorithmParameterRef:{kind:"attribute",type:"string",description:"A JCE AlgorithmParameterSpec used to initialize the Cipher. Will lookup the type using the given name as a java.security.spec.AlgorithmParameterSpec type.",title:"Algorithm Parameter Ref",required:!1,deprecated:!1},bufferSize:{kind:"attribute",type:"integer",defaultValue:"4096",description:"The size of the buffer used in the signature process.",title:"Buffer Size",required:!1,deprecated:!1},macAlgorithm:{kind:"attribute",type:"string",defaultValue:"HmacSHA1",description:"The JCE algorithm name indicating the Message Authentication algorithm.",title:"Mac Algorithm",required:!1,deprecated:!1},shouldAppendHMAC:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Flag indicating that a Message Authentication Code should be calculated and appended to the encrypted data.",title:"Should Append HMAC",required:!1,deprecated:!1},inline:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Flag indicating that the configured IV should be inlined into the encrypted data stream. Is by default false.",title:"Inline",required:!1,deprecated:!1}}},csv:{type:"object",title:"CSV",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Handle CSV (Comma Separated Values) payloads.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},formatRef:{kind:"attribute",type:"string",description:"The reference format to use, it will be updated with the other format options, the default value is CSVFormat.DEFAULT",title:"Format Ref",required:!1,deprecated:!1},formatName:{kind:"attribute",type:"enum",defaultValue:"DEFAULT",enum:["DEFAULT","EXCEL","INFORMIX_UNLOAD","INFORMIX_UNLOAD_CSV","MYSQL","RFC4180"],description:"The name of the format to use, the default value is CSVFormat.DEFAULT",title:"Format Name",required:!1,deprecated:!1},commentMarkerDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Disables the comment marker of the reference format.",title:"Comment Marker Disabled",required:!1,deprecated:!1},commentMarker:{kind:"attribute",type:"string",description:"Sets the comment marker of the reference format.",title:"Comment Marker",required:!1,deprecated:!1},delimiter:{kind:"attribute",type:"string",description:"Sets the delimiter to use. The default value is , (comma)",title:"Delimiter",required:!1,deprecated:!1},escapeDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Use for disabling using escape character",title:"Escape Disabled",required:!1,deprecated:!1},escape:{kind:"attribute",type:"string",description:"Sets the escape character to use",title:"Escape",required:!1,deprecated:!1},headerDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Use for disabling headers",title:"Header Disabled",required:!1,deprecated:!1},header:{kind:"element",type:"array",description:"To configure the CSV headers",title:"Header",required:!1,deprecated:!1},allowMissingColumnNames:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to allow missing column names.",title:"Allow Missing Column Names",required:!1,deprecated:!1},ignoreEmptyLines:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore empty lines.",title:"Ignore Empty Lines",required:!1,deprecated:!1},ignoreSurroundingSpaces:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore surrounding spaces",title:"Ignore Surrounding Spaces",required:!1,deprecated:!1},nullStringDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used to disable null strings",title:"Null String Disabled",required:!1,deprecated:!1},nullString:{kind:"attribute",type:"string",description:"Sets the null string",title:"Null String",required:!1,deprecated:!1},quoteDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used to disable quotes",title:"Quote Disabled",required:!1,deprecated:!1},quote:{kind:"attribute",type:"string",description:"Sets the quote which by default is",title:"Quote",required:!1,deprecated:!1},recordSeparatorDisabled:{kind:"attribute",type:"string",description:"Used for disabling record separator",title:"Record Separator Disabled",required:!1,deprecated:!1},recordSeparator:{kind:"attribute",type:"string",description:"Sets the record separator (aka new line) which by default is new line characters (CRLF)",title:"Record Separator",required:!1,deprecated:!1},skipHeaderRecord:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to skip the header record in the output",title:"Skip Header Record",required:!1,deprecated:!1},quoteMode:{kind:"attribute",type:"enum",enum:["ALL","ALL_NON_NULL","MINIMAL","NON_NUMERIC","NONE"],description:"Sets the quote mode",title:"Quote Mode",required:!1,deprecated:!1},ignoreHeaderCase:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether or not to ignore case when accessing header names.",title:"Ignore Header Case",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether or not to trim leading and trailing blanks.",title:"Trim",required:!1,deprecated:!1},trailingDelimiter:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets whether or not to add a trailing delimiter.",title:"Trailing Delimiter",required:!1,deprecated:!1},marshallerFactoryRef:{kind:"attribute",type:"string",description:"Sets the implementation of the CsvMarshallerFactory interface which is able to customize marshalling/unmarshalling behavior by extending CsvMarshaller or creating it from scratch.",title:"Marshaller Factory Ref",required:!1,deprecated:!1},lazyLoad:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at one.",title:"Lazy Load",required:!1,deprecated:!1},useMaps:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce maps (HashMap)for the lines values instead of lists. It requires to have header (either defined or collected).",title:"Use Maps",required:!1,deprecated:!1},useOrderedMaps:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce ordered maps (LinkedHashMap) for the lines values instead of lists. It requires to have header (either defined or collected).",title:"Use Ordered Maps",required:!1,deprecated:!1},recordConverterRef:{kind:"attribute",type:"string",description:"Refers to a custom CsvRecordConverter to lookup from the registry to use.",title:"Record Converter Ref",required:!1,deprecated:!1},captureHeaderRecord:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should capture the header record and store it in the message header",title:"Capture Header Record",required:!1,deprecated:!1}}},custom:{type:"object",title:"Custom",group:"dataformat,transformation",icon:"generic24.png",description:"Delegate to a custom org.apache.camel.spi.DataFormat implementation via Camel registry.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Reference to the custom org.apache.camel.spi.DataFormat to lookup from the Camel registry.",title:"Ref",required:!0,deprecated:!1}}},dataFormats:{type:"object",title:"Data formats",group:"dataformat,transformation",icon:"generic24.png",description:"Configure data formats.",properties:{dataFormats:{kind:"element",type:"array",description:"A list holding the configured data formats",title:"Data Formats",required:!0,deprecated:!1}}},fhirJson:{type:"object",title:"FHIR JSon",group:"dataformat,transformation,hl7,json",icon:"generic24.png",description:"Marshall and unmarshall FHIR objects to/from JSON.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},fhirVersion:{kind:"attribute",type:"enum",defaultValue:"R4",enum:["DSTU2","DSTU2_HL7ORG","DSTU2_1","DSTU3","R4","R5"],description:"The version of FHIR to use. Possible values are: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4,R5",title:"Fhir Version",required:!1,deprecated:!1},fhirContext:{kind:"attribute",type:"string",description:"To use a custom fhir context. Reference to object of type ca.uhn.fhir.context.FhirContext",title:"Fhir Context",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets the pretty print flag, meaning that the parser will encode resources with human-readable spacing and newlines between elements instead of condensing output as much as possible.",title:"Pretty Print",required:!1,deprecated:!1},parserErrorHandler:{kind:"attribute",type:"string",description:"Registers an error handler which will be invoked when any parse errors are found. Reference to object of type ca.uhn.fhir.parser.IParserErrorHandler",title:"Parser Error Handler",required:!1,deprecated:!1},parserOptions:{kind:"attribute",type:"string",description:"Sets the parser options object which will be used to supply default options to newly created parsers. Reference to object of type ca.uhn.fhir.context.ParserOptions.",title:"Parser Options",required:!1,deprecated:!1},preferTypes:{kind:"attribute",type:"string",description:"If set (FQN class names), when parsing resources the parser will try to use the given types when possible, in the order that they are provided (from highest to lowest priority). For example, if a custom type which declares to implement the Patient resource is passed in here, and the parser is parsing a Bundle containing a Patient resource, the parser will use the given custom type. Multiple class names can be separated by comma.",title:"Prefer Types",required:!1,deprecated:!1},forceResourceId:{kind:"attribute",type:"string",description:"When encoding, force this resource ID to be encoded as the resource ID. Reference to object of type org.hl7.fhir.instance.model.api.IIdType",title:"Force Resource Id",required:!1,deprecated:!1},serverBaseUrl:{kind:"attribute",type:"string",description:"Sets the server's base URL used by this parser. If a value is set, resource references will be turned into relative references if they are provided as absolute URLs but have a base matching the given base.",title:"Server Base Url",required:!1,deprecated:!1},omitResourceId:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false) the ID of any resources being encoded will not be included in the output. Note that this does not apply to contained resources, only to root resources. In other words, if this is set to true, contained resources will still have local IDs but the outer/containing ID will not have an ID.",title:"Omit Resource Id",required:!1,deprecated:!1},encodeElementsAppliesToChildResourcesOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false), the values supplied to setEncodeElements(Set) will not be applied to the root resource (typically a Bundle), but will be applied to any sub-resources contained within it (i.e. search result resources in that bundle)",title:"Encode Elements Applies To Child Resources Only",required:!1,deprecated:!1},encodeElements:{kind:"attribute",type:"string",description:"If provided, specifies the elements which should be encoded, to the exclusion of all others. Multiple elements can be separated by comma when using String parameter. Valid values for this field would include: Patient - Encode patient and all its children Patient.name - Encode only the patient's name Patient.name.family - Encode only the patient's family name .text - Encode the text element on any resource (only the very first position may contain a wildcard) .(mandatory) - This is a special case which causes any mandatory fields (min 0) to be encoded",title:"Encode Elements",required:!1,deprecated:!1},dontEncodeElements:{kind:"attribute",type:"string",description:"If provided, specifies the elements which should NOT be encoded. Multiple elements can be separated by comma when using String parameter. Valid values for this field would include: Patient - Don't encode patient and all its children Patient.name - Don't encode the patient's name Patient.name.family - Don't encode the patient's family name .text - Don't encode the text element on any resource (only the very first position may contain a wildcard) DSTU2 note: Note that values including meta, such as Patient.meta will work for DSTU2 parsers, but values with subelements on meta such as Patient.meta.lastUpdated will only work in DSTU3 mode.",title:"Dont Encode Elements",required:!1,deprecated:!1},stripVersionsFromReferences:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (which is the default), resource references containing a version will have the version removed when the resource is encoded. This is generally good behaviour because in most situations, references from one resource to another should be to the resource by ID, not by ID and version. In some cases though, it may be desirable to preserve the version in resource links. In that case, this value should be set to false. This method provides the ability to globally disable reference encoding. If finer-grained control is needed, use setDontStripVersionsFromReferencesAtPaths(List)",title:"Strip Versions From References",required:!1,deprecated:!1},overrideResourceIdWithBundleEntryFullUrl:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (which is the default), the Bundle.entry.fullUrl will override the Bundle.entry.resource's resource id if the fullUrl is defined. This behavior happens when parsing the source data into a Bundle object. Set this to false if this is not the desired behavior (e.g. the client code wishes to perform additional validation checks between the fullUrl and the resource id).",title:"Override Resource Id With Bundle Entry Full Url",required:!1,deprecated:!1},summaryMode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included.",title:"Summary Mode",required:!1,deprecated:!1},suppressNarratives:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false), narratives will not be included in the encoded values.",title:"Suppress Narratives",required:!1,deprecated:!1},dontStripVersionsFromReferencesAtPaths:{kind:"attribute",type:"string",description:"If supplied value(s), any resource references at the specified paths will have their resource versions encoded instead of being automatically stripped during the encoding process. This setting has no effect on the parsing process. Multiple elements can be separated by comma when using String parameter. This method provides a finer-grained level of control than setStripVersionsFromReferences(String) and any paths specified by this method will be encoded even if setStripVersionsFromReferences(String) has been set to true (which is the default)",title:"Dont Strip Versions From References At Paths",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1}}},fhirXml:{type:"object",title:"FHIR XML",group:"dataformat,transformation,hl7,xml",icon:"generic24.png",description:"Marshall and unmarshall FHIR objects to/from XML.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},fhirVersion:{kind:"attribute",type:"enum",defaultValue:"R4",enum:["DSTU2","DSTU2_HL7ORG","DSTU2_1","DSTU3","R4","R5"],description:"The version of FHIR to use. Possible values are: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4,R5",title:"Fhir Version",required:!1,deprecated:!1},fhirContext:{kind:"attribute",type:"string",description:"To use a custom fhir context. Reference to object of type ca.uhn.fhir.context.FhirContext",title:"Fhir Context",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Sets the pretty print flag, meaning that the parser will encode resources with human-readable spacing and newlines between elements instead of condensing output as much as possible.",title:"Pretty Print",required:!1,deprecated:!1},parserErrorHandler:{kind:"attribute",type:"string",description:"Registers an error handler which will be invoked when any parse errors are found. Reference to object of type ca.uhn.fhir.parser.IParserErrorHandler",title:"Parser Error Handler",required:!1,deprecated:!1},parserOptions:{kind:"attribute",type:"string",description:"Sets the parser options object which will be used to supply default options to newly created parsers. Reference to object of type ca.uhn.fhir.context.ParserOptions.",title:"Parser Options",required:!1,deprecated:!1},preferTypes:{kind:"attribute",type:"string",description:"If set (FQN class names), when parsing resources the parser will try to use the given types when possible, in the order that they are provided (from highest to lowest priority). For example, if a custom type which declares to implement the Patient resource is passed in here, and the parser is parsing a Bundle containing a Patient resource, the parser will use the given custom type. Multiple class names can be separated by comma.",title:"Prefer Types",required:!1,deprecated:!1},forceResourceId:{kind:"attribute",type:"string",description:"When encoding, force this resource ID to be encoded as the resource ID. Reference to object of type org.hl7.fhir.instance.model.api.IIdType",title:"Force Resource Id",required:!1,deprecated:!1},serverBaseUrl:{kind:"attribute",type:"string",description:"Sets the server's base URL used by this parser. If a value is set, resource references will be turned into relative references if they are provided as absolute URLs but have a base matching the given base.",title:"Server Base Url",required:!1,deprecated:!1},omitResourceId:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false) the ID of any resources being encoded will not be included in the output. Note that this does not apply to contained resources, only to root resources. In other words, if this is set to true, contained resources will still have local IDs but the outer/containing ID will not have an ID.",title:"Omit Resource Id",required:!1,deprecated:!1},encodeElementsAppliesToChildResourcesOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false), the values supplied to setEncodeElements(Set) will not be applied to the root resource (typically a Bundle), but will be applied to any sub-resources contained within it (i.e. search result resources in that bundle)",title:"Encode Elements Applies To Child Resources Only",required:!1,deprecated:!1},encodeElements:{kind:"attribute",type:"string",description:"If provided, specifies the elements which should be encoded, to the exclusion of all others. Multiple elements can be separated by comma when using String parameter. Valid values for this field would include: Patient - Encode patient and all its children Patient.name - Encode only the patient's name Patient.name.family - Encode only the patient's family name .text - Encode the text element on any resource (only the very first position may contain a wildcard) .(mandatory) - This is a special case which causes any mandatory fields (min 0) to be encoded",title:"Encode Elements",required:!1,deprecated:!1},dontEncodeElements:{kind:"attribute",type:"string",description:"If provided, specifies the elements which should NOT be encoded. Multiple elements can be separated by comma when using String parameter. Valid values for this field would include: Patient - Don't encode patient and all its children Patient.name - Don't encode the patient's name Patient.name.family - Don't encode the patient's family name .text - Don't encode the text element on any resource (only the very first position may contain a wildcard) DSTU2 note: Note that values including meta, such as Patient.meta will work for DSTU2 parsers, but values with subelements on meta such as Patient.meta.lastUpdated will only work in DSTU3 mode.",title:"Dont Encode Elements",required:!1,deprecated:!1},stripVersionsFromReferences:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (which is the default), resource references containing a version will have the version removed when the resource is encoded. This is generally good behaviour because in most situations, references from one resource to another should be to the resource by ID, not by ID and version. In some cases though, it may be desirable to preserve the version in resource links. In that case, this value should be set to false. This method provides the ability to globally disable reference encoding. If finer-grained control is needed, use setDontStripVersionsFromReferencesAtPaths(List)",title:"Strip Versions From References",required:!1,deprecated:!1},overrideResourceIdWithBundleEntryFullUrl:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (which is the default), the Bundle.entry.fullUrl will override the Bundle.entry.resource's resource id if the fullUrl is defined. This behavior happens when parsing the source data into a Bundle object. Set this to false if this is not the desired behavior (e.g. the client code wishes to perform additional validation checks between the fullUrl and the resource id).",title:"Override Resource Id With Bundle Entry Full Url",required:!1,deprecated:!1},summaryMode:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included.",title:"Summary Mode",required:!1,deprecated:!1},suppressNarratives:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true (default is false), narratives will not be included in the encoded values.",title:"Suppress Narratives",required:!1,deprecated:!1},dontStripVersionsFromReferencesAtPaths:{kind:"attribute",type:"string",description:"If supplied value(s), any resource references at the specified paths will have their resource versions encoded instead of being automatically stripped during the encoding process. This setting has no effect on the parsing process. Multiple elements can be separated by comma when using String parameter. This method provides a finer-grained level of control than setStripVersionsFromReferences(String) and any paths specified by this method will be encoded even if setStripVersionsFromReferences(String) has been set to true (which is the default)",title:"Dont Strip Versions From References At Paths",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1}}},flatpack:{type:"object",title:"Flatpack",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java lists and maps to/from flat files (such as CSV, delimited, or fixed length formats) using Flatpack library.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},definition:{kind:"attribute",type:"string",description:"The flatpack pzmap configuration file. Can be omitted in simpler situations, but its preferred to use the pzmap.",title:"Definition",required:!1,deprecated:!1},fixed:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Delimited or fixed. Is by default false = delimited",title:"Fixed",required:!1,deprecated:!1},delimiter:{kind:"attribute",type:"string",defaultValue:",",description:"The delimiter char (could be ; , or similar)",title:"Delimiter",required:!1,deprecated:!1},ignoreFirstRecord:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the first line is ignored for delimited files (for the column headers). Is by default true.",title:"Ignore First Record",required:!1,deprecated:!1},allowShortLines:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Allows for lines to be shorter than expected and ignores the extra characters",title:"Allow Short Lines",required:!1,deprecated:!1},ignoreExtraColumns:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Allows for lines to be longer than expected and ignores the extra characters.",title:"Ignore Extra Columns",required:!1,deprecated:!1},textQualifier:{kind:"attribute",type:"string",description:"If the text is qualified with a character. Uses quote character by default.",title:"Text Qualifier",required:!1,deprecated:!1},parserFactoryRef:{kind:"attribute",type:"string",description:"References to a custom parser factory to lookup in the registry",title:"Parser Factory Ref",required:!1,deprecated:!1}}},grok:{type:"object",title:"Grok",group:"dataformat,transformation",icon:"generic24.png",description:"Unmarshal unstructured data to objects using Logstash based Grok patterns.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},pattern:{kind:"attribute",type:"string",description:"The grok pattern to match lines of input",title:"Pattern",required:!1,deprecated:!1},flattened:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Turns on flattened mode. In flattened mode the exception is thrown when there are multiple pattern matches with same key.",title:"Flattened",required:!1,deprecated:!1},allowMultipleMatchesPerLine:{kind:"attribute",type:"boolean",defaultValue:"true",description:"If false, every line of input is matched for pattern only once. Otherwise the line can be scanned multiple times when non-terminal pattern is used.",title:"Allow Multiple Matches Per Line",required:!1,deprecated:!1},namedOnly:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to capture named expressions only or not (i.e. %{IP:ip} but not ${IP})",title:"Named Only",required:!1,deprecated:!1}}},gzipDeflater:{type:"object",title:"GZip Deflater",group:"dataformat,transformation",icon:"generic24.png",description:"Compress and decompress messages using java.util.zip.GZIPStream.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},hl7:{type:"object",title:"HL7",group:"dataformat,transformation,hl7",icon:"generic24.png",description:"Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},validate:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to validate the HL7 message Is by default true.",title:"Validate",required:!1,deprecated:!1}}},ical:{type:"object",title:"iCal",group:"dataformat,transformation",icon:"generic24.png",description:"Marshal and unmarshal iCal (.ics) documents to/from model objects.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},validating:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to validate.",title:"Validating",required:!1,deprecated:!1}}},jacksonXml:{type:"object",title:"Jackson XML",group:"dataformat,transformation,xml",icon:"generic24.png",description:"Unmarshal an XML payloads to POJOs and back using XMLMapper extension of Jackson.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},xmlMapper:{kind:"attribute",type:"string",description:"Lookup and use the existing XmlMapper with the given id.",title:"Xml Mapper",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To enable pretty printing output nicely formatted. Is by default false.",title:"Pretty Print",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},allowUnmarshallType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used.",title:"Allow Unmarshall Type",required:!1,deprecated:!1},jsonView:{kind:"attribute",type:"string",description:"When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations",title:"Json View",required:!1,deprecated:!1},include:{kind:"attribute",type:"string",description:"If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null values, you can set this option to NON_NULL",title:"Include",required:!1,deprecated:!1},allowJmsType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.",title:"Allow Jms Type",required:!1,deprecated:!1},collectionType:{kind:"attribute",type:"string",description:"Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows to use different collection types than java.util.Collection based as default.",title:"Collection Type",required:!1,deprecated:!1},useList:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To unmarshal to a List of Map or a List of Pojo.",title:"Use List",required:!1,deprecated:!1},timezone:{kind:"attribute",type:"string",description:"If set then Jackson will use the Timezone when marshalling/unmarshalling.",title:"Timezone",required:!1,deprecated:!1},enableJaxbAnnotationModule:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable the JAXB annotations module when using jackson. When enabled then JAXB annotations can be used by Jackson.",title:"Enable Jaxb Annotation Module",required:!1,deprecated:!1},moduleClassNames:{kind:"attribute",type:"string",description:"To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma.",title:"Module Class Names",required:!1,deprecated:!1},moduleRefs:{kind:"attribute",type:"string",description:"To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.",title:"Module Refs",required:!1,deprecated:!1},enableFeatures:{kind:"attribute",type:"string",description:"Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Enable Features",required:!1,deprecated:!1},disableFeatures:{kind:"attribute",type:"string",description:"Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Disable Features",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1}}},jaxb:{type:"object",title:"JAXB",group:"dataformat,transformation,xml",icon:"generic24.png",description:"Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},contextPath:{kind:"attribute",type:"string",description:"Package name where your JAXB classes are located.",title:"Context Path",required:!0,deprecated:!1},contextPathIsClassName:{kind:"attribute",type:"boolean",defaultValue:"false",description:"This can be set to true to mark that the contextPath is referring to a classname and not a package name.",title:"Context Path Is Class Name",required:!1,deprecated:!1},schema:{kind:"attribute",type:"string",description:"To validate against an existing schema. Your can use the prefix classpath:, file: or http: to specify how the resource should be resolved. You can separate multiple schema files by using the ',' character.",title:"Schema",required:!1,deprecated:!1},schemaSeverityLevel:{kind:"attribute",type:"enum",defaultValue:"0",enum:["0","1","2"],description:"Sets the schema severity level to use when validating against a schema. This level determines the minimum severity error that triggers JAXB to stop continue parsing. The default value of 0 (warning) means that any error (warning, error or fatal error) will trigger JAXB to stop. There are the following three levels: 0=warning, 1=error, 2=fatal error.",title:"Schema Severity Level",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To enable pretty printing output nicely formatted. Is by default false.",title:"Pretty Print",required:!1,deprecated:!1},objectFactory:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to allow using ObjectFactory classes to create the POJO classes during marshalling. This only applies to POJO classes that has not been annotated with JAXB and providing jaxb.index descriptor files.",title:"Object Factory",required:!1,deprecated:!1},ignoreJAXBElement:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases.",title:"Ignore JAXBElement",required:!1,deprecated:!1},mustBeJAXBElement:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether marhsalling must be java objects with JAXB annotations. And if not then it fails. This option can be set to false to relax that, such as when the data is already in XML format.",title:"Must Be JAXBElement",required:!1,deprecated:!1},filterNonXmlChars:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To ignore non xml characheters and replace them with an empty space.",title:"Filter Non Xml Chars",required:!1,deprecated:!1},encoding:{kind:"attribute",type:"string",description:"To overrule and use a specific encoding",title:"Encoding",required:!1,deprecated:!1},fragment:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To turn on marshalling XML fragment trees. By default JAXB looks for XmlRootElement annotation on given class to operate on whole XML tree. This is useful but not always - sometimes generated code does not have XmlRootElement annotation, sometimes you need unmarshall only part of tree. In that case you can use partial unmarshalling. To enable this behaviours you need set property partClass. Camel will pass this class to JAXB's unmarshaler.",title:"Fragment",required:!1,deprecated:!1},partClass:{kind:"attribute",type:"string",description:"Name of class used for fragment parsing. See more details at the fragment option.",title:"Part Class",required:!1,deprecated:!1},partNamespace:{kind:"attribute",type:"string",description:"XML namespace to use for fragment parsing. See more details at the fragment option.",title:"Part Namespace",required:!1,deprecated:!1},namespacePrefixRef:{kind:"attribute",type:"string",description:"When marshalling using JAXB or SOAP then the JAXB implementation will automatic assign namespace prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer to a map which contains the desired mapping.",title:"Namespace Prefix Ref",required:!1,deprecated:!1},xmlStreamWriterWrapper:{kind:"attribute",type:"string",description:"To use a custom xml stream writer.",title:"Xml Stream Writer Wrapper",required:!1,deprecated:!1},schemaLocation:{kind:"attribute",type:"string",description:"To define the location of the schema",title:"Schema Location",required:!1,deprecated:!1},noNamespaceSchemaLocation:{kind:"attribute",type:"string",description:"To define the location of the namespaceless schema",title:"No Namespace Schema Location",required:!1,deprecated:!1},jaxbProviderProperties:{kind:"attribute",type:"string",description:"Refers to a custom java.util.Map to lookup in the registry containing custom JAXB provider properties to be used with the JAXB marshaller.",title:"Jaxb Provider Properties",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},accessExternalSchemaProtocols:{kind:"attribute",type:"string",defaultValue:"false",description:"Only in use if schema validation has been enabled. Restrict access to the protocols specified for external reference set by the schemaLocation attribute, Import and Include element. Examples of protocols are file, http, jar:file. false or none to deny all access to external references; a specific protocol, such as file, to give permission to only the protocol; the keyword all to grant permission to all protocols.",title:"Access External Schema Protocols",required:!1,deprecated:!1}}},json:{type:"object",title:"JSon",group:"dataformat,transformation,json",icon:"generic24.png",description:"Marshal POJOs to JSON and back.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},objectMapper:{kind:"attribute",type:"string",description:"Lookup and use the existing ObjectMapper with the given id when using Jackson.",title:"Object Mapper",required:!1,deprecated:!1},useDefaultObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to lookup and use default Jackson ObjectMapper from the registry.",title:"Use Default Object Mapper",required:!1,deprecated:!1},autoDiscoverObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true then Jackson will look for an objectMapper to use from the registry",title:"Auto Discover Object Mapper",required:!1,deprecated:!1},prettyPrint:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To enable pretty printing output nicely formatted. Is by default false.",title:"Pretty Print",required:!1,deprecated:!1},library:{kind:"attribute",type:"enum",defaultValue:"Jackson",enum:["Fastjson","Gson","Jackson","Johnzon","Jsonb"],description:"Which json library to use.",title:"Library",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},jsonView:{kind:"attribute",type:"string",description:"When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations",title:"Json View",required:!1,deprecated:!1},include:{kind:"attribute",type:"string",description:"If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null values, you can set this option to NON_NULL",title:"Include",required:!1,deprecated:!1},allowJmsType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.",title:"Allow Jms Type",required:!1,deprecated:!1},collectionType:{kind:"attribute",type:"string",description:"Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows using different collection types than java.util.Collection based as default.",title:"Collection Type",required:!1,deprecated:!1},useList:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To unmarshal to a List of Map or a List of Pojo.",title:"Use List",required:!1,deprecated:!1},moduleClassNames:{kind:"attribute",type:"string",description:"To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma.",title:"Module Class Names",required:!1,deprecated:!1},moduleRefs:{kind:"attribute",type:"string",description:"To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.",title:"Module Refs",required:!1,deprecated:!1},enableFeatures:{kind:"attribute",type:"string",description:"Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Enable Features",required:!1,deprecated:!1},disableFeatures:{kind:"attribute",type:"string",description:"Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Disable Features",required:!1,deprecated:!1},allowUnmarshallType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used.",title:"Allow Unmarshall Type",required:!1,deprecated:!1},timezone:{kind:"attribute",type:"string",description:"If set then Jackson will use the Timezone when marshalling/unmarshalling. This option will have no effect on the others Json DataFormat, like gson and fastjson.",title:"Timezone",required:!1,deprecated:!1},schemaResolver:{kind:"attribute",type:"string",description:"Optional schema resolver used to lookup schemas for the data in transit.",title:"Schema Resolver",required:!1,deprecated:!1},autoDiscoverSchemaResolver:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When not disabled, the SchemaResolver will be looked up into the registry",title:"Auto Discover Schema Resolver",required:!1,deprecated:!1},namingStrategy:{kind:"attribute",type:"string",description:"If set then Jackson will use the the defined Property Naming Strategy.Possible values are: LOWER_CAMEL_CASE, LOWER_DOT_CASE, LOWER_CASE, KEBAB_CASE, SNAKE_CASE and UPPER_CAMEL_CASE",title:"Naming Strategy",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1},dateFormatPattern:{kind:"attribute",type:"string",description:"To configure the date format while marshall or unmarshall Date fields in JSON using Gson",title:"Date Format Pattern",required:!1,deprecated:!1}}},jsonApi:{type:"object",title:"JSonApi",group:"dataformat,transformation",icon:"generic24.png",description:"Marshal and unmarshal JSON:API resources using JSONAPI-Converter library.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},dataFormatTypes:{kind:"attribute",type:"string",description:"The classes to take into account for the marshalling. Multiple classes can be separated by comma.",title:"Data Format Types",required:!1,deprecated:!1},mainFormatType:{kind:"attribute",type:"string",description:"The class to take into account while unmarshalling.",title:"Main Format Type",required:!1,deprecated:!1}}},lzf:{type:"object",title:"LZF Deflate Compression",group:"dataformat,transformation",icon:"generic24.png",description:"Compress and decompress streams using LZF deflate algorithm.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},usingParallelCompression:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Enable encoding (compress) using multiple processing cores.",title:"Using Parallel Compression",required:!1,deprecated:!1}}},marshal:{type:"object",title:"Marshal",group:"dataformat,transformation",icon:"marshal24.png",description:"Marshals data into a specified format for transmission over a transport or component",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},dataFormatType:{kind:"element",type:"object",description:"The data format to be used",title:"Data Format Type",required:!0,deprecated:!1},variableSend:{kind:"attribute",type:"string",description:"To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .",title:"Variable Send",required:!1,deprecated:!1},variableReceive:{kind:"attribute",type:"string",description:"To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .",title:"Variable Receive",required:!1,deprecated:!1}}},mimeMultipart:{type:"object",title:"MIME Multipart",group:"dataformat,transformation",icon:"generic24.png",description:"Marshal Camel messages with attachments into MIME-Multipart messages and back.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},multipartSubType:{kind:"attribute",type:"string",defaultValue:"mixed",description:"Specify the subtype of the MIME Multipart. Default is mixed.",title:"Multipart Sub Type",required:!1,deprecated:!1},multipartWithoutAttachment:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Defines whether a message without attachment is also marshaled into a MIME Multipart (with only one body part). Default is false.",title:"Multipart Without Attachment",required:!1,deprecated:!1},headersInline:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Defines whether the MIME-Multipart headers are part of the message body (true) or are set as Camel headers (false). Default is false.",title:"Headers Inline",required:!1,deprecated:!1},includeHeaders:{kind:"attribute",type:"string",description:"A regex that defines which Camel headers are also included as MIME headers into the MIME multipart. This will only work if headersInline is set to true. Default is to include no headers",title:"Include Headers",required:!1,deprecated:!1},binaryContent:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Defines whether the content of binary parts in the MIME multipart is binary (true) or Base-64 encoded (false) Default is false.",title:"Binary Content",required:!1,deprecated:!1}}},parquetAvro:{type:"object",title:"Parquet File",group:"dataformat,transformation,file",icon:"generic24.png",description:"Parquet Avro serialization and de-serialization.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},compressionCodecName:{kind:"attribute",type:"enum",defaultValue:"GZIP",enum:["UNCOMPRESSED","SNAPPY","GZIP","LZO","BROTLI","LZ4","ZSTD","LZ4_RAW"],description:"Compression codec to use when marshalling.",title:"Compression Codec Name",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class to use when (un)marshalling. If omitted, parquet files are converted into Avro's GenericRecords for unmarshalling and input objects are assumed as GenericRecords for marshalling.",title:"Unmarshal Type",required:!1,deprecated:!1},lazyLoad:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce an iterator of records or read all the records at once.",title:"Lazy Load",required:!1,deprecated:!1}}},pgp:{type:"object",title:"PGP",group:"dataformat,transformation,security",icon:"generic24.png",description:"Encrypt and decrypt messages using Java Cryptographic Extension (JCE) and PGP.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},keyUserid:{kind:"attribute",type:"string",description:"The user ID of the key in the PGP keyring used during encryption. Can also be only a part of a user ID. For example, if the user ID is Test User then you can use the part Test User or to address the user ID.",title:"Key Userid",required:!1,deprecated:!1},signatureKeyUserid:{kind:"attribute",type:"string",description:"User ID of the key in the PGP keyring used for signing (during encryption) or signature verification (during decryption). During the signature verification process the specified User ID restricts the public keys from the public keyring which can be used for the verification. If no User ID is specified for the signature verficiation then any public key in the public keyring can be used for the verification. Can also be only a part of a user ID. For example, if the user ID is Test User then you can use the part Test User or to address the User ID.",title:"Signature Key Userid",required:!1,deprecated:!1},password:{kind:"attribute",type:"string",description:"Password used when opening the private key (not used for encryption).",title:"Password",required:!1,deprecated:!1},signaturePassword:{kind:"attribute",type:"string",description:"Password used when opening the private key used for signing (during encryption).",title:"Signature Password",required:!1,deprecated:!1},keyFileName:{kind:"attribute",type:"string",description:"Filename of the keyring; must be accessible as a classpath resource (but you can specify a location in the file system by using the file: prefix).",title:"Key File Name",required:!1,deprecated:!1},signatureKeyFileName:{kind:"attribute",type:"string",description:"Filename of the keyring to use for signing (during encryption) or for signature verification (during decryption); must be accessible as a classpath resource (but you can specify a location in the file system by using the file: prefix).",title:"Signature Key File Name",required:!1,deprecated:!1},signatureKeyRing:{kind:"attribute",type:"string",description:"Keyring used for signing/verifying as byte array. You can not set the signatureKeyFileName and signatureKeyRing at the same time.",title:"Signature Key Ring",required:!1,deprecated:!1},armored:{kind:"attribute",type:"boolean",defaultValue:"false",description:"This option will cause PGP to base64 encode the encrypted text, making it available for copy/paste, etc.",title:"Armored",required:!1,deprecated:!1},integrity:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Adds an integrity check/sign into the encryption file. The default value is true.",title:"Integrity",required:!1,deprecated:!1},provider:{kind:"attribute",type:"string",description:"Java Cryptography Extension (JCE) provider, default is Bouncy Castle (BC). Alternatively you can use, for example, the IAIK JCE provider; in this case the provider must be registered beforehand and the Bouncy Castle provider must not be registered beforehand. The Sun JCE provider does not work.",title:"Provider",required:!1,deprecated:!1},algorithm:{kind:"attribute",type:"integer",description:"Symmetric key encryption algorithm; possible values are defined in org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags; for example 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6 (= DES), 7 (= AES_128). Only relevant for encrypting.",title:"Algorithm",required:!1,deprecated:!1},compressionAlgorithm:{kind:"attribute",type:"integer",description:"Compression algorithm; possible values are defined in org.bouncycastle.bcpg.CompressionAlgorithmTags; for example 0 (= UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2). Only relevant for encrypting.",title:"Compression Algorithm",required:!1,deprecated:!1},hashAlgorithm:{kind:"attribute",type:"integer",description:"Signature hash algorithm; possible values are defined in org.bouncycastle.bcpg.HashAlgorithmTags; for example 2 (= SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224). Only relevant for signing.",title:"Hash Algorithm",required:!1,deprecated:!1},signatureVerificationOption:{kind:"attribute",type:"string",description:"Controls the behavior for verifying the signature during unmarshaling. There are 4 values possible: optional: The PGP message may or may not contain signatures; if it does contain signatures, then a signature verification is executed. required: The PGP message must contain at least one signature; if this is not the case an exception (PGPException) is thrown. A signature verification is executed. ignore: Contained signatures in the PGP message are ignored; no signature verification is executed. no_signature_allowed: The PGP message must not contain a signature; otherwise an exception (PGPException) is thrown.",title:"Signature Verification Option",required:!1,deprecated:!1}}},protobuf:{type:"object",title:"Protobuf",group:"dataformat,transformation",icon:"generic24.png",description:"Serialize and deserialize Java objects using Google's Protocol buffers.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},instanceClass:{kind:"attribute",type:"string",description:"Name of class to use when unmarshalling",title:"Instance Class",required:!1,deprecated:!1},objectMapper:{kind:"attribute",type:"string",description:"Lookup and use the existing ObjectMapper with the given id when using Jackson.",title:"Object Mapper",required:!1,deprecated:!1},useDefaultObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to lookup and use default Jackson ObjectMapper from the registry.",title:"Use Default Object Mapper",required:!1,deprecated:!1},autoDiscoverObjectMapper:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If set to true then Jackson will lookup for an objectMapper into the registry",title:"Auto Discover Object Mapper",required:!1,deprecated:!1},library:{kind:"attribute",type:"enum",defaultValue:"GoogleProtobuf",enum:["GoogleProtobuf","Jackson"],description:"Which Protobuf library to use.",title:"Library",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},jsonView:{kind:"attribute",type:"string",description:"When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations",title:"Json View",required:!1,deprecated:!1},include:{kind:"attribute",type:"string",description:"If you want to marshal a pojo to JSON, and the pojo has some fields with null values. And you want to skip these null values, you can set this option to NON_NULL",title:"Include",required:!1,deprecated:!1},allowJmsType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.",title:"Allow Jms Type",required:!1,deprecated:!1},collectionType:{kind:"attribute",type:"string",description:"Refers to a custom collection type to lookup in the registry to use. This option should rarely be used, but allows to use different collection types than java.util.Collection based as default.",title:"Collection Type",required:!1,deprecated:!1},useList:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To unmarshal to a List of Map or a List of Pojo.",title:"Use List",required:!1,deprecated:!1},moduleClassNames:{kind:"attribute",type:"string",description:"To use custom Jackson modules com.fasterxml.jackson.databind.Module specified as a String with FQN class names. Multiple classes can be separated by comma.",title:"Module Class Names",required:!1,deprecated:!1},moduleRefs:{kind:"attribute",type:"string",description:"To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.",title:"Module Refs",required:!1,deprecated:!1},enableFeatures:{kind:"attribute",type:"string",description:"Set of features to enable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Enable Features",required:!1,deprecated:!1},disableFeatures:{kind:"attribute",type:"string",description:"Set of features to disable on the Jackson com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that matches a enum from com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature, or com.fasterxml.jackson.databind.MapperFeature Multiple features can be separated by comma",title:"Disable Features",required:!1,deprecated:!1},allowUnmarshallType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If enabled then Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header during the unmarshalling. This should only be enabled when desired to be used.",title:"Allow Unmarshall Type",required:!1,deprecated:!1},timezone:{kind:"attribute",type:"string",description:"If set then Jackson will use the Timezone when marshalling/unmarshalling.",title:"Timezone",required:!1,deprecated:!1},schemaResolver:{kind:"attribute",type:"string",description:"Optional schema resolver used to lookup schemas for the data in transit.",title:"Schema Resolver",required:!1,deprecated:!1},autoDiscoverSchemaResolver:{kind:"attribute",type:"boolean",defaultValue:"true",description:"When not disabled, the SchemaResolver will be looked up into the registry",title:"Auto Discover Schema Resolver",required:!1,deprecated:!1},contentTypeFormat:{kind:"attribute",type:"enum",defaultValue:"native",enum:["native","json"],description:"Defines a content type format in which protobuf message will be serialized/deserialized from(to) the Java been. The format can either be native or json for either native protobuf or json fields representation. The default value is native.",title:"Content Type Format",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1}}},rss:{type:"object",title:"RSS",group:"dataformat,transformation",icon:"generic24.png",description:"Transform from ROME SyndFeed Java Objects to XML and vice-versa.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},soap:{type:"object",title:"SOAP",group:"dataformat,transformation,xml",icon:"generic24.png",description:"Marshal Java objects to SOAP messages and back.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},contextPath:{kind:"attribute",type:"string",description:"Package name where your JAXB classes are located.",title:"Context Path",required:!0,deprecated:!1},encoding:{kind:"attribute",type:"string",description:"To overrule and use a specific encoding",title:"Encoding",required:!1,deprecated:!1},elementNameStrategyRef:{kind:"attribute",type:"string",description:"Refers to an element strategy to lookup from the registry. An element name strategy is used for two purposes. The first is to find a xml element name for a given object and soap action when marshaling the object into a SOAP message. The second is to find an Exception class for a given soap fault name. The following three element strategy class name is provided out of the box. QNameStrategy - Uses a fixed qName that is configured on instantiation. Exception lookup is not supported TypeNameStrategy - Uses the name and namespace from the XMLType annotation of the given type. If no namespace is set then package-info is used. Exception lookup is not supported ServiceInterfaceStrategy - Uses information from a webservice interface to determine the type name and to find the exception class for a SOAP fault All three classes is located in the package name org.apache.camel.dataformat.soap.name If you have generated the web service stub code with cxf-codegen or a similar tool then you probably will want to use the ServiceInterfaceStrategy. In the case you have no annotated service interface you should use QNameStrategy or TypeNameStrategy.",title:"Element Name Strategy Ref",required:!1,deprecated:!1},version:{kind:"attribute",type:"enum",defaultValue:"1.1",enum:["1.1","1.2"],description:"SOAP version should either be 1.1 or 1.2. Is by default 1.1",title:"Version",required:!1,deprecated:!1},namespacePrefixRef:{kind:"attribute",type:"string",description:"When marshalling using JAXB or SOAP then the JAXB implementation will automatic assign namespace prefixes, such as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer to a map which contains the desired mapping.",title:"Namespace Prefix Ref",required:!1,deprecated:!1},schema:{kind:"attribute",type:"string",description:"To validate against an existing schema. Your can use the prefix classpath:, file: or http: to specify how the resource should be resolved. You can separate multiple schema files by using the ',' character.",title:"Schema",required:!1,deprecated:!1}}},swiftMt:{type:"object",title:"SWIFT MT",group:"dataformat,transformation,swift",icon:"generic24.png",description:"Encode and decode SWIFT MT messages.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},writeInJson:{kind:"attribute",type:"boolean",defaultValue:"false",description:"The flag indicating that messages must be marshalled in a JSON format.",title:"Write In Json",required:!1,deprecated:!1}}},swiftMx:{type:"object",title:"SWIFT MX",group:"dataformat,transformation,swift",icon:"generic24.png",description:"Encode and decode SWIFT MX messages.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},writeConfigRef:{kind:"attribute",type:"string",description:"Refers to a specific configuration to use when marshalling a message to lookup from the registry.",title:"Write Config Ref",required:!1,deprecated:!1},writeInJson:{kind:"attribute",type:"boolean",defaultValue:"false",description:"The flag indicating that messages must be marshalled in a JSON format.",title:"Write In Json",required:!1,deprecated:!1},readMessageId:{kind:"attribute",type:"string",description:"The type of MX message to produce when unmarshalling an input stream. If not set, it will be automatically detected from the namespace used.",title:"Read Message Id",required:!1,deprecated:!1},readConfigRef:{kind:"attribute",type:"string",description:"Refers to a specific configuration to use when unmarshalling an input stream to lookup from the registry.",title:"Read Config Ref",required:!1,deprecated:!1}}},syslog:{type:"object",title:"Syslog",group:"dataformat,transformation,monitoring",icon:"generic24.png",description:"Marshall SyslogMessages to RFC3164 and RFC5424 messages and back.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1}}},tarFile:{type:"object",title:"Tar File",group:"dataformat,transformation,file",icon:"generic24.png",description:"Archive files into tarballs or extract files from tarballs.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},usingIterator:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the tar file has more than one entry, the setting this option to true, allows working with the splitter EIP, to split the data using an iterator in a streaming mode.",title:"Using Iterator",required:!1,deprecated:!1},allowEmptyDirectory:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the tar file has more than one entry, setting this option to true, allows to get the iterator even if the directory is empty",title:"Allow Empty Directory",required:!1,deprecated:!1},preservePathElements:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the file name contains path elements, setting this option to true, allows the path to be maintained in the tar file.",title:"Preserve Path Elements",required:!1,deprecated:!1},maxDecompressedSize:{kind:"attribute",type:"integer",defaultValue:"1073741824",description:"Set the maximum decompressed size of a tar file (in bytes). The default value if not specified corresponds to 1 gigabyte. An IOException will be thrown if the decompressed size exceeds this amount. Set to -1 to disable setting a maximum decompressed size.",title:"Max Decompressed Size",required:!1,deprecated:!1}}},thrift:{type:"object",title:"Thrift",group:"dataformat,transformation",icon:"generic24.png",description:"Serialize and deserialize messages using Apache Thrift binary data format.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},instanceClass:{kind:"attribute",type:"string",description:"Name of class to use when unmarshalling",title:"Instance Class",required:!1,deprecated:!1},contentTypeFormat:{kind:"attribute",type:"enum",defaultValue:"binary",enum:["binary","json","sjson"],description:"Defines a content type format in which thrift message will be serialized/deserialized from(to) the Java been. The format can either be native or json for either native binary thrift, json or simple json fields representation. The default value is binary.",title:"Content Type Format",required:!1,deprecated:!1},contentTypeHeader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the data format should set the Content-Type header with the type from the data format. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON",title:"Content Type Header",required:!1,deprecated:!1}}},tidyMarkup:{type:"object",title:"TidyMarkup",group:"dataformat,transformation",icon:"generic24.png",description:"Parse (potentially invalid) HTML into valid HTML or DOM.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},dataObjectType:{kind:"attribute",type:"enum",defaultValue:"org.w3c.dom.Node",enum:["org.w3c.dom.Node","java.lang.String"],description:"What data type to unmarshal as, can either be org.w3c.dom.Node or java.lang.String. Is by default org.w3c.dom.Node",title:"Data Object Type",required:!1,deprecated:!1},omitXmlDeclaration:{kind:"attribute",type:"boolean",defaultValue:"false",description:"When returning a String, do we omit the XML declaration in the top.",title:"Omit Xml Declaration",required:!1,deprecated:!1}}},typeFilter:{type:"object",title:"YAML Type Filter",group:"dataformat,transformation,yaml",icon:"generic24.png",description:"",properties:{value:{kind:"attribute",type:"string",description:"Value of type such as class name or regular expression",title:"Value",required:!1,deprecated:!1},type:{kind:"attribute",type:"object",description:"Whether to filter by class type or regular expression",title:"Type",required:!1,deprecated:!1}}},univocityCsv:{type:"object",title:"uniVocity CSV",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java objects from and to CSV (Comma Separated Values) using UniVocity Parsers.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},delimiter:{kind:"attribute",type:"string",defaultValue:",",description:"The delimiter of values",title:"Delimiter",required:!1,deprecated:!1},quoteAllFields:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not all values must be quoted when writing them.",title:"Quote All Fields",required:!1,deprecated:!1},quote:{kind:"attribute",type:"string",defaultValue:'\\"',description:"The quote symbol.",title:"Quote",required:!1,deprecated:!1},quoteEscape:{kind:"attribute",type:"string",defaultValue:'\\"',description:"The quote escape symbol",title:"Quote Escape",required:!1,deprecated:!1},nullValue:{kind:"attribute",type:"string",description:"The string representation of a null value. The default value is null",title:"Null Value",required:!1,deprecated:!1},skipEmptyLines:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the empty lines must be ignored. The default value is true",title:"Skip Empty Lines",required:!1,deprecated:!1},ignoreTrailingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the trailing white spaces must be ignored. The default value is true",title:"Ignore Trailing Whitespaces",required:!1,deprecated:!1},ignoreLeadingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the leading white spaces must be ignored. The default value is true",title:"Ignore Leading Whitespaces",required:!1,deprecated:!1},headersDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the headers are disabled. When defined, this option explicitly sets the headers as null which indicates that there is no header. The default value is false",title:"Headers Disabled",required:!1,deprecated:!1},headerExtractionEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the header must be read in the first line of the test document. The default value is false",title:"Header Extraction Enabled",required:!1,deprecated:!1},numberOfRecordsToRead:{kind:"attribute",type:"integer",description:"The maximum number of record to read.",title:"Number Of Records To Read",required:!1,deprecated:!1},emptyValue:{kind:"attribute",type:"string",description:"The String representation of an empty value.",title:"Empty Value",required:!1,deprecated:!1},lineSeparator:{kind:"attribute",type:"string",description:"The line separator of the files. The default value is to use the JVM platform line separator",title:"Line Separator",required:!1,deprecated:!1},normalizedLineSeparator:{kind:"attribute",type:"string",description:"The normalized line separator of the files. The default value is a new line character.",title:"Normalized Line Separator",required:!1,deprecated:!1},comment:{kind:"attribute",type:"string",defaultValue:"#",description:"The comment symbol. The default value is #",title:"Comment",required:!1,deprecated:!1},lazyLoad:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at once. The default value is false",title:"Lazy Load",required:!1,deprecated:!1},asMap:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have header (either defined or collected). The default value is false",title:"As Map",required:!1,deprecated:!1}}},univocityFixed:{type:"object",title:"uniVocity Fixed Length",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java objects from and to fixed length records using UniVocity Parsers.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},padding:{kind:"attribute",type:"string",description:"The padding character. The default value is a space",title:"Padding",required:!1,deprecated:!1},skipTrailingCharsUntilNewline:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the trailing characters until new line must be ignored. The default value is false",title:"Skip Trailing Chars Until Newline",required:!1,deprecated:!1},recordEndsOnNewline:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the record ends on new line. The default value is false",title:"Record Ends On Newline",required:!1,deprecated:!1},nullValue:{kind:"attribute",type:"string",description:"The string representation of a null value. The default value is null",title:"Null Value",required:!1,deprecated:!1},skipEmptyLines:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the empty lines must be ignored. The default value is true",title:"Skip Empty Lines",required:!1,deprecated:!1},ignoreTrailingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the trailing white spaces must be ignored. The default value is true",title:"Ignore Trailing Whitespaces",required:!1,deprecated:!1},ignoreLeadingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the leading white spaces must be ignored. The default value is true",title:"Ignore Leading Whitespaces",required:!1,deprecated:!1},headersDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the headers are disabled. When defined, this option explicitly sets the headers as null which indicates that there is no header. The default value is false",title:"Headers Disabled",required:!1,deprecated:!1},headerExtractionEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the header must be read in the first line of the test document. The default value is false",title:"Header Extraction Enabled",required:!1,deprecated:!1},numberOfRecordsToRead:{kind:"attribute",type:"integer",description:"The maximum number of record to read.",title:"Number Of Records To Read",required:!1,deprecated:!1},emptyValue:{kind:"attribute",type:"string",description:"The String representation of an empty value.",title:"Empty Value",required:!1,deprecated:!1},lineSeparator:{kind:"attribute",type:"string",description:"The line separator of the files. The default value is to use the JVM platform line separator",title:"Line Separator",required:!1,deprecated:!1},normalizedLineSeparator:{kind:"attribute",type:"string",description:"The normalized line separator of the files. The default value is a new line character.",title:"Normalized Line Separator",required:!1,deprecated:!1},comment:{kind:"attribute",type:"string",defaultValue:"#",description:"The comment symbol. The default value is #",title:"Comment",required:!1,deprecated:!1},lazyLoad:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at once. The default value is false",title:"Lazy Load",required:!1,deprecated:!1},asMap:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have header (either defined or collected). The default value is false",title:"As Map",required:!1,deprecated:!1}}},univocityHeader:{type:"object",title:"uniVocity Header",group:"dataformat,transformation,csv",icon:"generic24.png",description:"To configure headers for UniVocity data formats.",properties:{name:{kind:"value",type:"string",description:"Header name",title:"Name",required:!0,deprecated:!1},length:{kind:"attribute",type:"string",description:"Header length",title:"Length",required:!1,deprecated:!1}}},univocityTsv:{type:"object",title:"uniVocity TSV",group:"dataformat,transformation,csv",icon:"generic24.png",description:"Marshal and unmarshal Java objects from and to TSV (Tab-Separated Values) records using UniVocity Parsers.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},escapeChar:{kind:"attribute",type:"string",defaultValue:"\\\\",description:"The escape character.",title:"Escape Char",required:!1,deprecated:!1},nullValue:{kind:"attribute",type:"string",description:"The string representation of a null value. The default value is null",title:"Null Value",required:!1,deprecated:!1},skipEmptyLines:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the empty lines must be ignored. The default value is true",title:"Skip Empty Lines",required:!1,deprecated:!1},ignoreTrailingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the trailing white spaces must be ignored. The default value is true",title:"Ignore Trailing Whitespaces",required:!1,deprecated:!1},ignoreLeadingWhitespaces:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether or not the leading white spaces must be ignored. The default value is true",title:"Ignore Leading Whitespaces",required:!1,deprecated:!1},headersDisabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the headers are disabled. When defined, this option explicitly sets the headers as null which indicates that there is no header. The default value is false",title:"Headers Disabled",required:!1,deprecated:!1},headerExtractionEnabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether or not the header must be read in the first line of the test document. The default value is false",title:"Header Extraction Enabled",required:!1,deprecated:!1},numberOfRecordsToRead:{kind:"attribute",type:"integer",description:"The maximum number of record to read.",title:"Number Of Records To Read",required:!1,deprecated:!1},emptyValue:{kind:"attribute",type:"string",description:"The String representation of an empty value.",title:"Empty Value",required:!1,deprecated:!1},lineSeparator:{kind:"attribute",type:"string",description:"The line separator of the files. The default value is to use the JVM platform line separator",title:"Line Separator",required:!1,deprecated:!1},normalizedLineSeparator:{kind:"attribute",type:"string",description:"The normalized line separator of the files. The default value is a new line character.",title:"Normalized Line Separator",required:!1,deprecated:!1},comment:{kind:"attribute",type:"string",defaultValue:"#",description:"The comment symbol. The default value is #",title:"Comment",required:!1,deprecated:!1},lazyLoad:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at once. The default value is false",title:"Lazy Load",required:!1,deprecated:!1},asMap:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have header (either defined or collected). The default value is false",title:"As Map",required:!1,deprecated:!1}}},unmarshal:{type:"object",title:"Unmarshal",group:"dataformat,transformation",icon:"unmarshal24.png",description:"Converts the message data received from the wire into a format that Apache Camel processors can consume",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},description:{kind:"element",type:"string",description:"Sets the description of this node",title:"Description",required:!1,deprecated:!1},disabled:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.",title:"Disabled",required:!1,deprecated:!1},dataFormatType:{kind:"element",type:"object",description:"The data format to be used",title:"Data Format Type",required:!0,deprecated:!1},variableSend:{kind:"attribute",type:"string",description:"To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .",title:"Variable Send",required:!1,deprecated:!1},variableReceive:{kind:"attribute",type:"string",description:"To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .",title:"Variable Receive",required:!1,deprecated:!1},allowNullBody:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Indicates whether null is allowed as value of a body to unmarshall.",title:"Allow Null Body",required:!1,deprecated:!1}}},xmlSecurity:{type:"object",title:"XML Security",group:"dataformat,transformation,xml",icon:"generic24.png",description:"Encrypt and decrypt XML payloads using Apache Santuario.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},xmlCipherAlgorithm:{kind:"attribute",type:"enum",defaultValue:"AES-256-GCM",enum:["TRIPLEDES","AES_128","AES_128_GCM","AES_192","AES_192_GCM","AES_256","AES_256_GCM","SEED_128","CAMELLIA_128","CAMELLIA_192","CAMELLIA_256"],description:"The cipher algorithm to be used for encryption/decryption of the XML message content. The available choices are: XMLCipher.TRIPLEDES XMLCipher.AES_128 XMLCipher.AES_128_GCM XMLCipher.AES_192 XMLCipher.AES_192_GCM XMLCipher.AES_256 XMLCipher.AES_256_GCM XMLCipher.SEED_128 XMLCipher.CAMELLIA_128 XMLCipher.CAMELLIA_192 XMLCipher.CAMELLIA_256 The default value is XMLCipher.AES_256_GCM",title:"Xml Cipher Algorithm",required:!1,deprecated:!1},passPhrase:{kind:"attribute",type:"string",description:"A String used as passPhrase to encrypt/decrypt content. The passPhrase has to be provided. The passPhrase needs to be put together in conjunction with the appropriate encryption algorithm. For example using TRIPLEDES the passPhase can be a Only another 24 Byte key",title:"Pass Phrase",required:!1,deprecated:!1},passPhraseByte:{kind:"attribute",type:"string",description:"A byte used as passPhrase to encrypt/decrypt content. The passPhrase has to be provided. The passPhrase needs to be put together in conjunction with the appropriate encryption algorithm. For example using TRIPLEDES the passPhase can be a Only another 24 Byte key",title:"Pass Phrase Byte",required:!1,deprecated:!1},secureTag:{kind:"attribute",type:"string",description:"The XPath reference to the XML Element selected for encryption/decryption. If no tag is specified, the entire payload is encrypted/decrypted.",title:"Secure Tag",required:!1,deprecated:!1},secureTagContents:{kind:"attribute",type:"boolean",defaultValue:"false",description:"A boolean value to specify whether the XML Element is to be encrypted or the contents of the XML Element. false = Element Level. true = Element Content Level.",title:"Secure Tag Contents",required:!1,deprecated:!1},keyCipherAlgorithm:{kind:"attribute",type:"enum",defaultValue:"RSA_OAEP",enum:["RSA_v1dot5","RSA_OAEP","RSA_OAEP_11"],description:"The cipher algorithm to be used for encryption/decryption of the asymmetric key. The available choices are: XMLCipher.RSA_v1dot5 XMLCipher.RSA_OAEP XMLCipher.RSA_OAEP_11 The default value is XMLCipher.RSA_OAEP",title:"Key Cipher Algorithm",required:!1,deprecated:!1},recipientKeyAlias:{kind:"attribute",type:"string",description:"The key alias to be used when retrieving the recipient's public or private key from a KeyStore when performing asymmetric key encryption or decryption.",title:"Recipient Key Alias",required:!1,deprecated:!1},keyOrTrustStoreParametersRef:{kind:"attribute",type:"string",description:"Refers to a KeyStore instance to lookup in the registry, which is used for configuration options for creating and loading a KeyStore instance that represents the sender's trustStore or recipient's keyStore.",title:"Key Or Trust Store Parameters Ref",required:!1,deprecated:!1},keyPassword:{kind:"attribute",type:"string",description:"The password to be used for retrieving the private key from the KeyStore. This key is used for asymmetric decryption.",title:"Key Password",required:!1,deprecated:!1},digestAlgorithm:{kind:"attribute",type:"enum",defaultValue:"SHA1",enum:["SHA1","SHA256","SHA512"],description:"The digest algorithm to use with the RSA OAEP algorithm. The available choices are: XMLCipher.SHA1 XMLCipher.SHA256 XMLCipher.SHA512 The default value is XMLCipher.SHA1",title:"Digest Algorithm",required:!1,deprecated:!1},mgfAlgorithm:{kind:"attribute",type:"enum",defaultValue:"MGF1_SHA1",enum:["MGF1_SHA1","MGF1_SHA256","MGF1_SHA512"],description:"The MGF Algorithm to use with the RSA OAEP algorithm. The available choices are: EncryptionConstants.MGF1_SHA1 EncryptionConstants.MGF1_SHA256 EncryptionConstants.MGF1_SHA512 The default value is EncryptionConstants.MGF1_SHA1",title:"Mgf Algorithm",required:!1,deprecated:!1},addKeyValueForEncryptedKey:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to add the public key used to encrypt the session key as a KeyValue in the EncryptedKey structure or not.",title:"Add Key Value For Encrypted Key",required:!1,deprecated:!1}}},yaml:{type:"object",title:"YAML",group:"dataformat,transformation,yaml",icon:"generic24.png",description:"Marshal and unmarshal Java objects to and from YAML.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},library:{kind:"attribute",type:"enum",defaultValue:"SnakeYAML",enum:["SnakeYAML"],description:"Which yaml library to use. By default it is SnakeYAML",title:"Library",required:!1,deprecated:!1},unmarshalType:{kind:"attribute",type:"string",description:"Class name of the java type to use when unmarshalling",title:"Unmarshal Type",required:!1,deprecated:!1},constructor:{kind:"attribute",type:"string",description:"BaseConstructor to construct incoming documents.",title:"Constructor",required:!1,deprecated:!1},representer:{kind:"attribute",type:"string",description:"Representer to emit outgoing objects.",title:"Representer",required:!1,deprecated:!1},dumperOptions:{kind:"attribute",type:"string",description:"DumperOptions to configure outgoing objects.",title:"Dumper Options",required:!1,deprecated:!1},resolver:{kind:"attribute",type:"string",description:"Resolver to detect implicit type",title:"Resolver",required:!1,deprecated:!1},useApplicationContextClassLoader:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Use ApplicationContextClassLoader as custom ClassLoader",title:"Use Application Context Class Loader",required:!1,deprecated:!1},prettyFlow:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Force the emitter to produce a pretty YAML document when using the flow style.",title:"Pretty Flow",required:!1,deprecated:!1},allowAnyType:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Allow any class to be un-marshaled",title:"Allow Any Type",required:!1,deprecated:!1},typeFilter:{kind:"element",type:"array",description:"Set the types SnakeYAML is allowed to un-marshall",title:"Type Filter",required:!1,deprecated:!1},maxAliasesForCollections:{kind:"attribute",type:"integer",defaultValue:"50",description:"Set the maximum amount of aliases allowed for collections.",title:"Max Aliases For Collections",required:!1,deprecated:!1},allowRecursiveKeys:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Set whether recursive keys are allowed.",title:"Allow Recursive Keys",required:!1,deprecated:!1}}},zipDeflater:{type:"object",title:"Zip Deflater",group:"dataformat,transformation",icon:"generic24.png",description:"Compress and decompress streams using java.util.zip.Deflater and java.util.zip.Inflater.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},compressionLevel:{kind:"attribute",type:"enum",defaultValue:"-1",enum:["-1","0","1","2","3","4","5","6","7","8","9"],description:"To specify a specific compression between 0-9. -1 is default compression, 0 is no compression, and 9 is the best compression.",title:"Compression Level",required:!1,deprecated:!1}}},zipFile:{type:"object",title:"Zip File",group:"dataformat,transformation,file",icon:"generic24.png",description:"Compression and decompress streams using java.util.zip.ZipStream.",properties:{id:{kind:"attribute",type:"string",description:"The id of this node",title:"Id",required:!1,deprecated:!1},usingIterator:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the zip file has more than one entry, the setting this option to true, allows working with the splitter EIP, to split the data using an iterator in a streaming mode.",title:"Using Iterator",required:!1,deprecated:!1},allowEmptyDirectory:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the zip file has more than one entry, setting this option to true, allows to get the iterator even if the directory is empty",title:"Allow Empty Directory",required:!1,deprecated:!1},preservePathElements:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the file name contains path elements, setting this option to true, allows the path to be maintained in the zip file.",title:"Preserve Path Elements",required:!1,deprecated:!1},maxDecompressedSize:{kind:"attribute",type:"integer",defaultValue:"1073741824",description:"Set the maximum decompressed size of a zip file (in bytes). The default value if not specified corresponds to 1 gigabyte. An IOException will be thrown if the decompressed size exceeds this amount. Set to -1 to disable setting a maximum decompressed size.",title:"Max Decompressed Size",required:!1,deprecated:!1}}}},c={constant:{type:"object",title:"Constant",group:"language,core",icon:"generic24.png",description:"A fixed value set only once during the route startup.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},csimple:{type:"object",title:"CSimple",group:"language,java",icon:"generic24.png",description:"Evaluate a compiled simple expression.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},datasonnet:{type:"object",title:"DataSonnet",group:"language,transformation",icon:"generic24.png",description:"To use DataSonnet scripts for message transformations.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},bodyMediaType:{kind:"attribute",type:"string",description:"The String representation of the message's body MediaType",title:"Body Media Type",required:!1,deprecated:!1},outputMediaType:{kind:"attribute",type:"string",description:"The String representation of the MediaType to output",title:"Output Media Type",required:!1,deprecated:!1},source:{kind:"attribute",type:"string",description:"Source to use, instead of message body. You can prefix with variable:, header:, or property: to specify kind of source. Otherwise, the source is assumed to be a variable. Use empty or null to use default source, which is the message body.",title:"Source",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},exchangeProperty:{type:"object",title:"ExchangeProperty",group:"language,core",icon:"generic24.png",description:"Gets a property from the Exchange.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},expression:{type:"object",title:"Expression",group:"language",icon:"generic24.png",description:"A useful base class for an expression",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},groovy:{type:"object",title:"Groovy",group:"language,script",icon:"generic24.png",description:"Evaluates a Groovy script.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},header:{type:"object",title:"Header",group:"language,core",icon:"generic24.png",description:"Gets a header from the Exchange.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},hl7terser:{type:"object",title:"HL7 Terser",group:"language,hl7",icon:"generic24.png",description:"Get the value of a HL7 message field specified by terse location specification syntax.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},source:{kind:"attribute",type:"string",description:"Source to use, instead of message body. You can prefix with variable:, header:, or property: to specify kind of source. Otherwise, the source is assumed to be a variable. Use empty or null to use default source, which is the message body.",title:"Source",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},java:{type:"object",title:"Java",group:"language",icon:"generic24.png",description:"Evaluates a Java (Java compiled once at runtime) expression.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},preCompile:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the expression should be pre compiled once during initialization phase. If this is turned off, then the expression is reloaded and compiled on each evaluation.",title:"Pre Compile",required:!1,deprecated:!1},singleQuotes:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether single quotes can be used as replacement for double quotes. This is convenient when you need to work with strings inside strings.",title:"Single Quotes",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},joor:{type:"object",title:"jOOR",group:"language",icon:"generic24.png",description:"Evaluates a jOOR (Java compiled once at runtime) expression.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},preCompile:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether the expression should be pre compiled once during initialization phase. If this is turned off, then the expression is reloaded and compiled on each evaluation.",title:"Pre Compile",required:!1,deprecated:!1},singleQuotes:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether single quotes can be used as replacement for double quotes. This is convenient when you need to work with strings inside strings.",title:"Single Quotes",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},jq:{type:"object",title:"JQ",group:"language,json",icon:"generic24.png",description:"Evaluates a JQ expression against a JSON message body.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},source:{kind:"attribute",type:"string",description:"Source to use, instead of message body. You can prefix with variable:, header:, or property: to specify kind of source. Otherwise, the source is assumed to be a variable. Use empty or null to use default source, which is the message body.",title:"Source",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},js:{type:"object",title:"JavaScript",group:"language,javascript",icon:"generic24.png",description:"Evaluates a JavaScript expression.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},jsonpath:{type:"object",title:"JSONPath",group:"language,json",icon:"generic24.png",description:"Evaluates a JSONPath expression against a JSON message body.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},suppressExceptions:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to suppress exceptions such as PathNotFoundException.",title:"Suppress Exceptions",required:!1,deprecated:!1},allowSimple:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to allow in inlined Simple exceptions in the JSONPath expression",title:"Allow Simple",required:!1,deprecated:!1},allowEasyPredicate:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to allow using the easy predicate parser to pre-parse predicates.",title:"Allow Easy Predicate",required:!1,deprecated:!1},writeAsString:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to write the output of each row/element as a JSON String value instead of a Map/POJO value.",title:"Write As String",required:!1,deprecated:!1},unpackArray:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to unpack a single element json-array into an object.",title:"Unpack Array",required:!1,deprecated:!1},option:{kind:"attribute",type:"enum",enum:["DEFAULT_PATH_LEAF_TO_NULL","ALWAYS_RETURN_LIST","AS_PATH_LIST","SUPPRESS_EXCEPTIONS","REQUIRE_PROPERTIES"],description:"To configure additional options on JSONPath. Multiple values can be separated by comma.",title:"Option",required:!1,deprecated:!1},source:{kind:"attribute",type:"string",description:"Source to use, instead of message body. You can prefix with variable:, header:, or property: to specify kind of source. Otherwise, the source is assumed to be a variable. Use empty or null to use default source, which is the message body.",title:"Source",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},language:{type:"object",title:"Language",group:"language,core",icon:"generic24.png",description:"Evaluates a custom language.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},language:{kind:"attribute",type:"string",description:"The name of the language to use",title:"Language",required:!0,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},method:{type:"object",title:"Bean Method",group:"language,core,java",icon:"generic24.png",description:"Calls a Java bean method.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},ref:{kind:"attribute",type:"string",description:"Reference to an existing bean (bean id) to lookup in the registry",title:"Ref",required:!1,deprecated:!1},method:{kind:"attribute",type:"string",description:"Name of method to call",title:"Method",required:!1,deprecated:!1},beanType:{kind:"attribute",type:"string",description:"Class name (fully qualified) of the bean to use Will lookup in registry and if there is a single instance of the same type, then the existing bean is used, otherwise a new bean is created (requires a default no-arg constructor).",title:"Bean Type",required:!1,deprecated:!1},scope:{kind:"attribute",type:"enum",defaultValue:"Singleton",enum:["Singleton","Request","Prototype"],description:"Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while processing the request. The bean does not have to be thread-safe as the instance is only called from the same request. When using prototype scope, then the bean will be looked up or created per call. However in case of lookup then this is delegated to the bean registry such as Spring or CDI (if in use), which depends on their configuration can act as either singleton or prototype scope. So when using prototype scope then this depends on the bean registry implementation.",title:"Scope",required:!1,deprecated:!1},validate:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to validate the bean has the configured method.",title:"Validate",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},mvel:{type:"object",title:"MVEL",group:"language,java",icon:"generic24.png",description:"Evaluates a MVEL template.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},ognl:{type:"object",title:"OGNL",group:"language,java",icon:"generic24.png",description:"Evaluates an OGNL expression (Apache Commons OGNL).",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},python:{type:"object",title:"Python",group:"language,python",icon:"generic24.png",description:"Evaluates a Python expression.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},ref:{type:"object",title:"Ref",group:"language,core",icon:"generic24.png",description:"Uses an existing expression from the registry.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},simple:{type:"object",title:"Simple",group:"language,core,java",icon:"generic24.png",description:"Evaluates a Camel simple expression.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},spel:{type:"object",title:"SpEL",group:"language,spring",icon:"generic24.png",description:"Evaluates a Spring expression (SpEL).",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},tokenize:{type:"object",title:"Tokenize",group:"language,core",icon:"generic24.png",description:"Tokenize text payloads using delimiter patterns.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},token:{kind:"attribute",type:"string",description:"The (start) token to use as tokenizer, for example you can use the new line token. You can use simple language as the token to support dynamic tokens.",title:"Token",required:!0,deprecated:!1},endToken:{kind:"attribute",type:"string",description:"The end token to use as tokenizer if using start/end token pairs. You can use simple language as the token to support dynamic tokens.",title:"End Token",required:!1,deprecated:!1},inheritNamespaceTagName:{kind:"attribute",type:"string",description:"To inherit namespaces from a root/parent tag name when using XML You can use simple language as the tag name to support dynamic names.",title:"Inherit Namespace Tag Name",required:!1,deprecated:!1},regex:{kind:"attribute",type:"boolean",defaultValue:"false",description:"If the token is a regular expression pattern. The default value is false",title:"Regex",required:!1,deprecated:!1},xml:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether the input is XML messages. This option must be set to true if working with XML payloads.",title:"Xml",required:!1,deprecated:!1},includeTokens:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to include the tokens in the parts when using pairs. When including tokens then the endToken property must also be configured (to use pair mode). The default value is false",title:"Include Tokens",required:!1,deprecated:!1},group:{kind:"attribute",type:"string",description:"To group N parts together, for example to split big files into chunks of 1000 lines. You can use simple language as the group to support dynamic group sizes.",title:"Group",required:!1,deprecated:!1},groupDelimiter:{kind:"attribute",type:"string",description:"Sets the delimiter to use when grouping. If this has not been set then token will be used as the delimiter.",title:"Group Delimiter",required:!1,deprecated:!1},skipFirst:{kind:"attribute",type:"boolean",defaultValue:"false",description:"To skip the very first element",title:"Skip First",required:!1,deprecated:!1},source:{kind:"attribute",type:"string",description:"Source to use, instead of message body. You can prefix with variable:, header:, or property: to specify kind of source. Otherwise, the source is assumed to be a variable. Use empty or null to use default source, which is the message body.",title:"Source",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},variable:{type:"object",title:"Variable",group:"language,core",icon:"generic24.png",description:"Gets a variable",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},wasm:{type:"object",title:"Wasm",group:"language",icon:"generic24.png",description:"Call a wasm (web assembly) function.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},module:{kind:"attribute",type:"string",description:"Set the module (the distributable, loadable, and executable unit of code in WebAssembly) resource that provides the expression function.",title:"Module",required:!0,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},xpath:{type:"object",title:"XPath",group:"language,core,xml",icon:"generic24.png",description:"Evaluates an XPath expression against an XML payload.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},documentType:{kind:"attribute",type:"string",description:"Name of class for document type The default value is org.w3c.dom.Document",title:"Document Type",required:!1,deprecated:!1},resultQName:{kind:"attribute",type:"enum",defaultValue:"NODESET",enum:["NUMBER","STRING","BOOLEAN","NODESET","NODE"],description:"Sets the output type supported by XPath.",title:"Result QName",required:!1,deprecated:!1},saxon:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to use Saxon.",title:"Saxon",required:!1,deprecated:!1},factoryRef:{kind:"attribute",type:"string",description:"References to a custom XPathFactory to lookup in the registry",title:"Factory Ref",required:!1,deprecated:!1},objectModel:{kind:"attribute",type:"string",description:"The XPath object model to use",title:"Object Model",required:!1,deprecated:!1},logNamespaces:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to log namespaces which can assist during troubleshooting",title:"Log Namespaces",required:!1,deprecated:!1},threadSafety:{kind:"attribute",type:"boolean",defaultValue:"false",description:"Whether to enable thread-safety for the returned result of the xpath expression. This applies to when using NODESET as the result type, and the returned set has multiple elements. In this situation there can be thread-safety issues if you process the NODESET concurrently such as from a Camel Splitter EIP in parallel processing mode. This option prevents concurrency issues by doing defensive copies of the nodes. It is recommended to turn this option on if you are using camel-saxon or Saxon in your application. Saxon has thread-safety issues which can be prevented by turning this option on.",title:"Thread Safety",required:!1,deprecated:!1},preCompile:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to enable pre-compiling the xpath expression during initialization phase. pre-compile is enabled by default. This can be used to turn off, for example in cases the compilation phase is desired at the starting phase, such as if the application is ahead of time compiled (for example with camel-quarkus) which would then load the xpath factory of the built operating system, and not a JVM runtime.",title:"Pre Compile",required:!1,deprecated:!1},namespace:{kind:"element",type:"array",description:"Injects the XML Namespaces of prefix - uri mappings",title:"Namespace",required:!1,deprecated:!1},source:{kind:"attribute",type:"string",description:"Source to use, instead of message body. You can prefix with variable:, header:, or property: to specify kind of source. Otherwise, the source is assumed to be a variable. Use empty or null to use default source, which is the message body.",title:"Source",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},xquery:{type:"object",title:"XQuery",group:"language,xml",icon:"generic24.png",description:"Evaluates an XQuery expressions against an XML payload.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},configurationRef:{kind:"attribute",type:"string",description:"Reference to a saxon configuration instance in the registry to use for xquery (requires camel-saxon). This may be needed to add custom functions to a saxon configuration, so these custom functions can be used in xquery expressions.",title:"Configuration Ref",required:!1,deprecated:!1},namespace:{kind:"element",type:"array",description:"Injects the XML Namespaces of prefix - uri mappings",title:"Namespace",required:!1,deprecated:!1},source:{kind:"attribute",type:"string",description:"Source to use, instead of message body. You can prefix with variable:, header:, or property: to specify kind of source. Otherwise, the source is assumed to be a variable. Use empty or null to use default source, which is the message body.",title:"Source",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}},xtokenize:{type:"object",title:"XML Tokenize",group:"language,core,xml",icon:"generic24.png",description:"Tokenize XML payloads.",properties:{id:{kind:"attribute",type:"string",description:"Sets the id of this node",title:"Id",required:!1,deprecated:!1},expression:{kind:"value",type:"string",description:"The expression value in your chosen language syntax",title:"Expression",required:!0,deprecated:!1},mode:{kind:"attribute",type:"enum",defaultValue:"i",enum:["i","w","u","t"],description:"The extraction mode. The available extraction modes are: i - injecting the contextual namespace bindings into the extracted token (default) w - wrapping the extracted token in its ancestor context u - unwrapping the extracted token to its child content t - extracting the text content of the specified element",title:"Mode",required:!1,deprecated:!1},group:{kind:"attribute",type:"integer",description:"To group N parts together",title:"Group",required:!1,deprecated:!1},namespace:{kind:"element",type:"array",description:"Injects the XML Namespaces of prefix - uri mappings",title:"Namespace",required:!1,deprecated:!1},source:{kind:"attribute",type:"string",description:"Source to use, instead of message body. You can prefix with variable:, header:, or property: to specify kind of source. Otherwise, the source is assumed to be a variable. Use empty or null to use default source, which is the message body.",title:"Source",required:!1,deprecated:!1},resultType:{kind:"attribute",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},trim:{kind:"attribute",type:"boolean",defaultValue:"true",description:"Whether to trim the value to remove leading and trailing whitespaces and line breaks",title:"Trim",required:!1,deprecated:!1}}}},p={activemq:{type:"object",title:"ActiveMQ",group:"messaging",icon:"generic24.png",description:"Send messages to (or consume from) Apache ActiveMQ. This component extends the Camel JMS component.",properties:{destinationType:{kind:"path",type:"string",defaultValue:"queue",enum:["queue","topic","temp-queue","temp-topic"],description:"The kind of destination to use",title:"Destination Type",required:!1,deprecated:!1},destinationName:{kind:"path",type:"string",description:"Name of the queue or topic to use as destination",title:"Destination Name",required:!0,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions with JMS 1.1.",title:"Client Id",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},durableSubscriptionName:{kind:"parameter",type:"string",description:"The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",title:"Durable Subscription Name",required:!1,deprecated:!1},jmsMessageType:{kind:"parameter",type:"object",enum:["Bytes","Map","Object","Stream","Text"],description:"Allows you to force the use of a specific jakarta.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it.",title:"Jms Message Type",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",title:"Reply To",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},acknowledgementModeName:{kind:"parameter",type:"string",defaultValue:"AUTO_ACKNOWLEDGE",enum:["SESSION_TRANSACTED","CLIENT_ACKNOWLEDGE","AUTO_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"],description:"The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",title:"Acknowledgement Mode Name",required:!1,deprecated:!1},artemisConsumerPriority:{kind:"parameter",type:"integer",description:"Consumer priorities allow you to ensure that high priority consumers receive messages while they are active. Normally, active consumers connected to a queue receive messages from it in a round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if multiple active consumers exist with the same high priority. Messages will only going to lower priority consumers when the high priority consumers do not have credit available to consume the message, or those high priority consumers have declined to accept the message (for instance because it does not meet the criteria of any selectors associated with the consumer).",title:"Artemis Consumer Priority",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",title:"Async Consumer",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},cacheLevel:{kind:"parameter",type:"integer",description:"Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details.",title:"Cache Level",required:!1,deprecated:!1},cacheLevelName:{kind:"parameter",type:"string",defaultValue:"CACHE_AUTO",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information.",title:"Cache Level Name",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Concurrent Consumers",required:!1,deprecated:!1},maxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Max Concurrent Consumers",required:!1,deprecated:!1},replyToDeliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to use persistent delivery by default for replies.",title:"Reply To Delivery Persistent",required:!1,deprecated:!1},selector:{kind:"parameter",type:"string",description:"Sets the JMS selector to use",title:"Selector",required:!1,deprecated:!1},subscriptionDurable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription durable. The durable subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a durable subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.",title:"Subscription Durable",required:!1,deprecated:!1},subscriptionName:{kind:"parameter",type:"string",description:"Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2.0).",title:"Subscription Name",required:!1,deprecated:!1},subscriptionShared:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription shared. The shared subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a shared subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can (and often will) be combined with subscriptionDurable as well. Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well. Requires a JMS 2.0 compatible message broker.",title:"Subscription Shared",required:!1,deprecated:!1},acceptMessagesWhileStopping:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the consumer accept messages while it is stopping. You may consider enabling this option, if you start and stop JMS routes at runtime, while there are still messages enqueued on the queue. If this option is false, and you stop the JMS route, then messages may be rejected, and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and eventually the message may be moved at a dead letter queue on the JMS broker. To avoid this its recommended to enable this option.",title:"Accept Messages While Stopping",required:!1,deprecated:!1},allowReplyManagerQuickStop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the DefaultMessageListenerContainer used in the reply managers for request-reply messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is currently being stopped. This quick stop ability is enabled by default in the regular JMS consumers but to enable for reply managers you must enable this flag.",title:"Allow Reply Manager Quick Stop",required:!1,deprecated:!1},consumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type to use, which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Consumer Type",required:!1,deprecated:!1},defaultTaskExecutorType:{kind:"parameter",type:"object",enum:["ThreadPool","SimpleAsync"],description:"Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's ThreadPoolTaskExecutor with optimal values - cached thread-pool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsync for reply consumers. The use of ThreadPool is recommended to reduce thread trash in elastic configurations with dynamically increasing and decreasing concurrent consumers.",title:"Default Task Executor Type",required:!1,deprecated:!1},destinationOptions:{kind:"parameter",type:"object",description:"Destination Options are a way to provide extended configuration options to a JMS consumer without having to extend the JMS API. The options are encoded using URL query syntax in the destination name that the consumer is created on. See more details at https://activemq.apache.org/destination-options.",title:"Destination Options",required:!1,deprecated:!1},eagerLoadingOfProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",title:"Eager Loading Of Properties",required:!1,deprecated:!1},eagerPoisonBody:{kind:"parameter",type:"string",defaultValue:"Poison JMS message due to ${exception.message}",description:"If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",title:"Eager Poison Body",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},exposeListenerSession:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the listener session should be exposed when consuming messages.",title:"Expose Listener Session",required:!1,deprecated:!1},replyToConsumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type of the reply consumer (when doing request/reply), which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Reply To Consumer Type",required:!1,deprecated:!1},replyToSameDestinationAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",title:"Reply To Same Destination Allowed",required:!1,deprecated:!1},taskExecutor:{kind:"parameter",type:"object",description:"Allows you to specify a custom task executor for consuming messages.",title:"Task Executor",required:!1,deprecated:!1},deliveryDelay:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker.",title:"Delivery Delay",required:!1,deprecated:!1},deliveryMode:{kind:"parameter",type:"integer",enum:["1","2"],description:"Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",title:"Delivery Mode",required:!1,deprecated:!1},deliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether persistent delivery is used by default.",title:"Delivery Persistent",required:!1,deprecated:!1},explicitQosEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",title:"Explicit Qos Enabled",required:!1,deprecated:!1},formatDateHeadersToIso8601:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether JMS date properties should be formatted according to the ISO 8601 standard.",title:"Format Date Headers To Iso8601",required:!1,deprecated:!1},preserveMessageQos:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header.",title:"Preserve Message Qos",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",defaultValue:"4",enum:["1","2","3","4","5","6","7","8","9"],description:"Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",title:"Priority",required:!1,deprecated:!1},replyToConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Concurrent Consumers",required:!1,deprecated:!1},replyToMaxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Max Concurrent Consumers",required:!1,deprecated:!1},replyToOnTimeoutMaxConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS.",title:"Reply To On Timeout Max Concurrent Consumers",required:!1,deprecated:!1},replyToOverride:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",title:"Reply To Override",required:!1,deprecated:!1},replyToType:{kind:"parameter",type:"object",enum:["Temporary","Shared","Exclusive"],description:"Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running in a clustered environment, and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive.",title:"Reply To Type",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"duration",defaultValue:"20000",description:"The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.",title:"Request Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"integer",defaultValue:"-1",description:"When sending messages, specifies the time-to-live of the message (in milliseconds).",title:"Time To Live",required:!1,deprecated:!1},allowAdditionalHeaders:{kind:"parameter",type:"string",description:"This option is used to allow additional headers which may have values that are invalid according to JMS specification. For example, some message systems, such as WMQ, do this with header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types. You can specify multiple header names separated by comma, and use as suffix for wildcard matching.",title:"Allow Additional Headers",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},alwaysCopyMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations, such as when a replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set)",title:"Always Copy Message",required:!1,deprecated:!1},correlationProperty:{kind:"parameter",type:"string",description:"When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS property to correlate messages. If set messages will be correlated solely on the value of this property JMSCorrelationID property will be ignored and not set by Camel.",title:"Correlation Property",required:!1,deprecated:!1},disableTimeToLive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expire on the receiver system. See below in section About time to live for more details.",title:"Disable Time To Live",required:!1,deprecated:!1},forceSendOriginalMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS destination if you touch the headers (get or set) during the route. Set this option to true to force Camel to send the original JMS message that was received.",title:"Force Send Original Message",required:!1,deprecated:!1},includeSentJMSMessageID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS client when the message was sent to the JMS destination.",title:"Include Sent JMSMessage ID",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},replyToCacheLevelName:{kind:"parameter",type:"string",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the reply consumer when doing request/reply over JMS. This option only applies when using fixed reply queues (not temporary). Camel will by default use: CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE_NONE is not allowed, and you must use a higher value such as CACHE_CONSUMER or CACHE_SESSION.",title:"Reply To Cache Level Name",required:!1,deprecated:!1},replyToDestinationSelectorName:{kind:"parameter",type:"string",description:"Sets the JMS Selector using the fixed name to be used so you can filter out your own replies from the others when using a shared queue (that is, if you are not using a temporary reply queue).",title:"Reply To Destination Selector Name",required:!1,deprecated:!1},streamMessageTypeEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls which kind will be used. By default BytesMessage is used which enforces the entire message payload to be read into memory. By enabling this option the message payload is read into memory in chunks and each chunk is then written to the StreamMessage until no more data.",title:"Stream Message Type Enabled",required:!1,deprecated:!1},allowSerializedHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls whether or not to include serialized headers. Applies only when transferExchange is true. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Allow Serialized Headers",required:!1,deprecated:!1},artemisStreamingEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is being used.",title:"Artemis Streaming Enabled",required:!1,deprecated:!1},asyncStartListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or fail-over. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that if the connection could not be established, then an exception is logged at WARN level, and the consumer will not be able to receive messages; You can then restart the route to retry.",title:"Async Start Listener",required:!1,deprecated:!1},asyncStopListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.",title:"Async Stop Listener",required:!1,deprecated:!1},destinationResolver:{kind:"parameter",type:"object",description:"A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry).",title:"Destination Resolver",required:!1,deprecated:!1},errorHandler:{kind:"parameter",type:"object",description:"Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom errorHandler.",title:"Error Handler",required:!1,deprecated:!1},exceptionListener:{kind:"parameter",type:"object",description:"Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.",title:"Exception Listener",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},idleConsumerLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specify the limit for the number of consumers that are allowed to be idle at any given time.",title:"Idle Consumer Limit",required:!1,deprecated:!1},idleTaskExecutionLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting). There is additional doc available from Spring.",title:"Idle Task Execution Limit",required:!1,deprecated:!1},includeAllJMSXProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include all JMSX prefixed properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",title:"Include All JMSXProperties",required:!1,deprecated:!1},jmsKeyFormatStrategy:{kind:"parameter",type:"object",enum:["default","passthrough"],description:"Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.",title:"Jms Key Format Strategy",required:!1,deprecated:!1},mapJmsMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc.",title:"Map Jms Message",required:!1,deprecated:!1},maxMessagesPerTask:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max), then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.",title:"Max Messages Per Task",required:!1,deprecated:!1},messageConverter:{kind:"parameter",type:"object",description:"To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a jakarta.jms.Message.",title:"Message Converter",required:!1,deprecated:!1},messageCreatedStrategy:{kind:"parameter",type:"object",description:"To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message.",title:"Message Created Strategy",required:!1,deprecated:!1},messageIdEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When sending, specifies whether message IDs should be added. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value.",title:"Message Id Enabled",required:!1,deprecated:!1},messageListenerContainerFactory:{kind:"parameter",type:"object",description:"Registry ID of the MessageListenerContainerFactory used to determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use to consume messages. Setting this will automatically set consumerType to Custom.",title:"Message Listener Container Factory",required:!1,deprecated:!1},messageTimestampEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether timestamps should be enabled by default on sending messages. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal value.",title:"Message Timestamp Enabled",required:!1,deprecated:!1},pubSubNoLocal:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to inhibit the delivery of messages published by its own connection.",title:"Pub Sub No Local",required:!1,deprecated:!1},receiveTimeout:{kind:"parameter",type:"duration",defaultValue:"1000",description:"The timeout for receiving messages (in milliseconds).",title:"Receive Timeout",required:!1,deprecated:!1},recoveryInterval:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds.",title:"Recovery Interval",required:!1,deprecated:!1},requestTimeoutCheckerInterval:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout.",title:"Request Timeout Checker Interval",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The caught exception is required to be serializable. The original Exception on the consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException when returned to the producer. Use this with caution as the data is using Java Object serialization and requires the received to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumer!",title:"Transfer Exception",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the payloads is an Exchange and not a regular payload. Use this with caution as the data is using Java Object serialization and requires the receiver to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumers having to use compatible Camel versions!",title:"Transfer Exchange",required:!1,deprecated:!1},useMessageIDAsCorrelationID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.",title:"Use Message IDAs Correlation ID",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedCounter:{kind:"parameter",type:"integer",defaultValue:"50",description:"Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.",title:"Wait For Provision Correlation To Be Updated Counter",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedThreadSleepingTime:{kind:"parameter",type:"duration",defaultValue:"100",description:"Interval in millis to sleep each time while waiting for provisional correlation id to be updated.",title:"Wait For Provision Correlation To Be Updated Thread Sleeping Time",required:!1,deprecated:!1},errorHandlerLoggingLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Allows to configure the default errorHandler logging level for logging uncaught exceptions.",title:"Error Handler Logging Level",required:!1,deprecated:!1},errorHandlerLogStackTrace:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows to control whether stack-traces should be logged or not, by the default errorHandler.",title:"Error Handler Log Stack Trace",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Username",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to use transacted mode",title:"Transacted",required:!1,deprecated:!1},transactedInOut:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether InOut operations (request reply) default to using transacted mode If this flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS: that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not taken into account. Depending on the Java EE transaction context, the container makes its own decisions on these values. Analogously, these parameters are not taken into account within a locally managed transaction either, since Spring JMS operates on an existing JMS Session in this case. Setting this flag to true will use a short local JMS transaction when running outside of a managed transaction, and a synchronized local JMS transaction in case of a managed transaction (other than an XA transaction) being present. This has the effect of a local JMS transaction being managed alongside the main transaction (which might be a native JDBC transaction), with the JMS transaction committing right after the main transaction.",title:"Transacted In Out",required:!1,deprecated:!1},lazyCreateTransactionManager:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true.",title:"Lazy Create Transaction Manager",required:!1,deprecated:!1},transactionManager:{kind:"parameter",type:"object",description:"The Spring transaction manager to use.",title:"Transaction Manager",required:!1,deprecated:!1},transactionName:{kind:"parameter",type:"string",description:"The name of the transaction to use.",title:"Transaction Name",required:!1,deprecated:!1},transactionTimeout:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The timeout value of the transaction (in seconds), if using transacted mode.",title:"Transaction Timeout",required:!1,deprecated:!1}}},amqp:{type:"object",title:"AMQP",group:"messaging",icon:"generic24.png",description:"Messaging with AMQP protocol using Apache QPid Client.",properties:{destinationType:{kind:"path",type:"string",defaultValue:"queue",enum:["queue","topic","temp-queue","temp-topic"],description:"The kind of destination to use",title:"Destination Type",required:!1,deprecated:!1},destinationName:{kind:"path",type:"string",description:"Name of the queue or topic to use as destination",title:"Destination Name",required:!0,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions with JMS 1.1.",title:"Client Id",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},durableSubscriptionName:{kind:"parameter",type:"string",description:"The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",title:"Durable Subscription Name",required:!1,deprecated:!1},jmsMessageType:{kind:"parameter",type:"object",enum:["Bytes","Map","Object","Stream","Text"],description:"Allows you to force the use of a specific jakarta.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it.",title:"Jms Message Type",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",title:"Reply To",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},acknowledgementModeName:{kind:"parameter",type:"string",defaultValue:"AUTO_ACKNOWLEDGE",enum:["SESSION_TRANSACTED","CLIENT_ACKNOWLEDGE","AUTO_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"],description:"The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",title:"Acknowledgement Mode Name",required:!1,deprecated:!1},artemisConsumerPriority:{kind:"parameter",type:"integer",description:"Consumer priorities allow you to ensure that high priority consumers receive messages while they are active. Normally, active consumers connected to a queue receive messages from it in a round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if multiple active consumers exist with the same high priority. Messages will only going to lower priority consumers when the high priority consumers do not have credit available to consume the message, or those high priority consumers have declined to accept the message (for instance because it does not meet the criteria of any selectors associated with the consumer).",title:"Artemis Consumer Priority",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",title:"Async Consumer",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},cacheLevel:{kind:"parameter",type:"integer",description:"Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details.",title:"Cache Level",required:!1,deprecated:!1},cacheLevelName:{kind:"parameter",type:"string",defaultValue:"CACHE_AUTO",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information.",title:"Cache Level Name",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Concurrent Consumers",required:!1,deprecated:!1},maxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Max Concurrent Consumers",required:!1,deprecated:!1},replyToDeliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to use persistent delivery by default for replies.",title:"Reply To Delivery Persistent",required:!1,deprecated:!1},selector:{kind:"parameter",type:"string",description:"Sets the JMS selector to use",title:"Selector",required:!1,deprecated:!1},subscriptionDurable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription durable. The durable subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a durable subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.",title:"Subscription Durable",required:!1,deprecated:!1},subscriptionName:{kind:"parameter",type:"string",description:"Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2.0).",title:"Subscription Name",required:!1,deprecated:!1},subscriptionShared:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription shared. The shared subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a shared subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can (and often will) be combined with subscriptionDurable as well. Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well. Requires a JMS 2.0 compatible message broker.",title:"Subscription Shared",required:!1,deprecated:!1},acceptMessagesWhileStopping:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the consumer accept messages while it is stopping. You may consider enabling this option, if you start and stop JMS routes at runtime, while there are still messages enqueued on the queue. If this option is false, and you stop the JMS route, then messages may be rejected, and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and eventually the message may be moved at a dead letter queue on the JMS broker. To avoid this its recommended to enable this option.",title:"Accept Messages While Stopping",required:!1,deprecated:!1},allowReplyManagerQuickStop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the DefaultMessageListenerContainer used in the reply managers for request-reply messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is currently being stopped. This quick stop ability is enabled by default in the regular JMS consumers but to enable for reply managers you must enable this flag.",title:"Allow Reply Manager Quick Stop",required:!1,deprecated:!1},consumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type to use, which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Consumer Type",required:!1,deprecated:!1},defaultTaskExecutorType:{kind:"parameter",type:"object",enum:["ThreadPool","SimpleAsync"],description:"Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's ThreadPoolTaskExecutor with optimal values - cached thread-pool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsync for reply consumers. The use of ThreadPool is recommended to reduce thread trash in elastic configurations with dynamically increasing and decreasing concurrent consumers.",title:"Default Task Executor Type",required:!1,deprecated:!1},eagerLoadingOfProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",title:"Eager Loading Of Properties",required:!1,deprecated:!1},eagerPoisonBody:{kind:"parameter",type:"string",defaultValue:"Poison JMS message due to ${exception.message}",description:"If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",title:"Eager Poison Body",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},exposeListenerSession:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the listener session should be exposed when consuming messages.",title:"Expose Listener Session",required:!1,deprecated:!1},replyToConsumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type of the reply consumer (when doing request/reply), which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Reply To Consumer Type",required:!1,deprecated:!1},replyToSameDestinationAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",title:"Reply To Same Destination Allowed",required:!1,deprecated:!1},taskExecutor:{kind:"parameter",type:"object",description:"Allows you to specify a custom task executor for consuming messages.",title:"Task Executor",required:!1,deprecated:!1},deliveryDelay:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker.",title:"Delivery Delay",required:!1,deprecated:!1},deliveryMode:{kind:"parameter",type:"integer",enum:["1","2"],description:"Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",title:"Delivery Mode",required:!1,deprecated:!1},deliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether persistent delivery is used by default.",title:"Delivery Persistent",required:!1,deprecated:!1},explicitQosEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",title:"Explicit Qos Enabled",required:!1,deprecated:!1},formatDateHeadersToIso8601:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether JMS date properties should be formatted according to the ISO 8601 standard.",title:"Format Date Headers To Iso8601",required:!1,deprecated:!1},preserveMessageQos:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header.",title:"Preserve Message Qos",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",defaultValue:"4",enum:["1","2","3","4","5","6","7","8","9"],description:"Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",title:"Priority",required:!1,deprecated:!1},replyToConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Concurrent Consumers",required:!1,deprecated:!1},replyToMaxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Max Concurrent Consumers",required:!1,deprecated:!1},replyToOnTimeoutMaxConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS.",title:"Reply To On Timeout Max Concurrent Consumers",required:!1,deprecated:!1},replyToOverride:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",title:"Reply To Override",required:!1,deprecated:!1},replyToType:{kind:"parameter",type:"object",enum:["Temporary","Shared","Exclusive"],description:"Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running in a clustered environment, and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive.",title:"Reply To Type",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"duration",defaultValue:"20000",description:"The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.",title:"Request Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"integer",defaultValue:"-1",description:"When sending messages, specifies the time-to-live of the message (in milliseconds).",title:"Time To Live",required:!1,deprecated:!1},allowAdditionalHeaders:{kind:"parameter",type:"string",description:"This option is used to allow additional headers which may have values that are invalid according to JMS specification. For example, some message systems, such as WMQ, do this with header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types. You can specify multiple header names separated by comma, and use as suffix for wildcard matching.",title:"Allow Additional Headers",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},alwaysCopyMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations, such as when a replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set)",title:"Always Copy Message",required:!1,deprecated:!1},correlationProperty:{kind:"parameter",type:"string",description:"When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS property to correlate messages. If set messages will be correlated solely on the value of this property JMSCorrelationID property will be ignored and not set by Camel.",title:"Correlation Property",required:!1,deprecated:!1},disableTimeToLive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expire on the receiver system. See below in section About time to live for more details.",title:"Disable Time To Live",required:!1,deprecated:!1},forceSendOriginalMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS destination if you touch the headers (get or set) during the route. Set this option to true to force Camel to send the original JMS message that was received.",title:"Force Send Original Message",required:!1,deprecated:!1},includeSentJMSMessageID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS client when the message was sent to the JMS destination.",title:"Include Sent JMSMessage ID",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},replyToCacheLevelName:{kind:"parameter",type:"string",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the reply consumer when doing request/reply over JMS. This option only applies when using fixed reply queues (not temporary). Camel will by default use: CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE_NONE is not allowed, and you must use a higher value such as CACHE_CONSUMER or CACHE_SESSION.",title:"Reply To Cache Level Name",required:!1,deprecated:!1},replyToDestinationSelectorName:{kind:"parameter",type:"string",description:"Sets the JMS Selector using the fixed name to be used so you can filter out your own replies from the others when using a shared queue (that is, if you are not using a temporary reply queue).",title:"Reply To Destination Selector Name",required:!1,deprecated:!1},streamMessageTypeEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls which kind will be used. By default BytesMessage is used which enforces the entire message payload to be read into memory. By enabling this option the message payload is read into memory in chunks and each chunk is then written to the StreamMessage until no more data.",title:"Stream Message Type Enabled",required:!1,deprecated:!1},allowSerializedHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls whether or not to include serialized headers. Applies only when transferExchange is true. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Allow Serialized Headers",required:!1,deprecated:!1},artemisStreamingEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is being used.",title:"Artemis Streaming Enabled",required:!1,deprecated:!1},asyncStartListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or fail-over. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that if the connection could not be established, then an exception is logged at WARN level, and the consumer will not be able to receive messages; You can then restart the route to retry.",title:"Async Start Listener",required:!1,deprecated:!1},asyncStopListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.",title:"Async Stop Listener",required:!1,deprecated:!1},destinationResolver:{kind:"parameter",type:"object",description:"A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry).",title:"Destination Resolver",required:!1,deprecated:!1},errorHandler:{kind:"parameter",type:"object",description:"Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom errorHandler.",title:"Error Handler",required:!1,deprecated:!1},exceptionListener:{kind:"parameter",type:"object",description:"Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.",title:"Exception Listener",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},idleConsumerLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specify the limit for the number of consumers that are allowed to be idle at any given time.",title:"Idle Consumer Limit",required:!1,deprecated:!1},idleTaskExecutionLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting). There is additional doc available from Spring.",title:"Idle Task Execution Limit",required:!1,deprecated:!1},includeAllJMSXProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include all JMSX prefixed properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",title:"Include All JMSXProperties",required:!1,deprecated:!1},jmsKeyFormatStrategy:{kind:"parameter",type:"object",enum:["default","passthrough"],description:"Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.",title:"Jms Key Format Strategy",required:!1,deprecated:!1},mapJmsMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc.",title:"Map Jms Message",required:!1,deprecated:!1},maxMessagesPerTask:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max), then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.",title:"Max Messages Per Task",required:!1,deprecated:!1},messageConverter:{kind:"parameter",type:"object",description:"To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a jakarta.jms.Message.",title:"Message Converter",required:!1,deprecated:!1},messageCreatedStrategy:{kind:"parameter",type:"object",description:"To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message.",title:"Message Created Strategy",required:!1,deprecated:!1},messageIdEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When sending, specifies whether message IDs should be added. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value.",title:"Message Id Enabled",required:!1,deprecated:!1},messageListenerContainerFactory:{kind:"parameter",type:"object",description:"Registry ID of the MessageListenerContainerFactory used to determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use to consume messages. Setting this will automatically set consumerType to Custom.",title:"Message Listener Container Factory",required:!1,deprecated:!1},messageTimestampEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether timestamps should be enabled by default on sending messages. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal value.",title:"Message Timestamp Enabled",required:!1,deprecated:!1},pubSubNoLocal:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to inhibit the delivery of messages published by its own connection.",title:"Pub Sub No Local",required:!1,deprecated:!1},receiveTimeout:{kind:"parameter",type:"duration",defaultValue:"1000",description:"The timeout for receiving messages (in milliseconds).",title:"Receive Timeout",required:!1,deprecated:!1},recoveryInterval:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds.",title:"Recovery Interval",required:!1,deprecated:!1},requestTimeoutCheckerInterval:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout.",title:"Request Timeout Checker Interval",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The caught exception is required to be serializable. The original Exception on the consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException when returned to the producer. Use this with caution as the data is using Java Object serialization and requires the received to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumer!",title:"Transfer Exception",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the payloads is an Exchange and not a regular payload. Use this with caution as the data is using Java Object serialization and requires the receiver to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumers having to use compatible Camel versions!",title:"Transfer Exchange",required:!1,deprecated:!1},useMessageIDAsCorrelationID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.",title:"Use Message IDAs Correlation ID",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedCounter:{kind:"parameter",type:"integer",defaultValue:"50",description:"Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.",title:"Wait For Provision Correlation To Be Updated Counter",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedThreadSleepingTime:{kind:"parameter",type:"duration",defaultValue:"100",description:"Interval in millis to sleep each time while waiting for provisional correlation id to be updated.",title:"Wait For Provision Correlation To Be Updated Thread Sleeping Time",required:!1,deprecated:!1},errorHandlerLoggingLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Allows to configure the default errorHandler logging level for logging uncaught exceptions.",title:"Error Handler Logging Level",required:!1,deprecated:!1},errorHandlerLogStackTrace:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows to control whether stack-traces should be logged or not, by the default errorHandler.",title:"Error Handler Log Stack Trace",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Username",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to use transacted mode",title:"Transacted",required:!1,deprecated:!1},transactedInOut:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether InOut operations (request reply) default to using transacted mode If this flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS: that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not taken into account. Depending on the Java EE transaction context, the container makes its own decisions on these values. Analogously, these parameters are not taken into account within a locally managed transaction either, since Spring JMS operates on an existing JMS Session in this case. Setting this flag to true will use a short local JMS transaction when running outside of a managed transaction, and a synchronized local JMS transaction in case of a managed transaction (other than an XA transaction) being present. This has the effect of a local JMS transaction being managed alongside the main transaction (which might be a native JDBC transaction), with the JMS transaction committing right after the main transaction.",title:"Transacted In Out",required:!1,deprecated:!1},lazyCreateTransactionManager:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true.",title:"Lazy Create Transaction Manager",required:!1,deprecated:!1},transactionManager:{kind:"parameter",type:"object",description:"The Spring transaction manager to use.",title:"Transaction Manager",required:!1,deprecated:!1},transactionName:{kind:"parameter",type:"string",description:"The name of the transaction to use.",title:"Transaction Name",required:!1,deprecated:!1},transactionTimeout:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The timeout value of the transaction (in seconds), if using transacted mode.",title:"Transaction Timeout",required:!1,deprecated:!1}}},arangodb:{type:"object",title:"ArangoDb",group:"database",icon:"generic24.png",description:"Perform operations on ArangoDb when used as a Document Database, or as a Graph Database",properties:{database:{kind:"path",type:"string",description:"database name",title:"Database",required:!0,deprecated:!1},documentCollection:{kind:"parameter",type:"string",description:"Collection name, when using ArangoDb as a Document Database. Set the documentCollection name when using the CRUD operation on the document database collections (SAVE_DOCUMENT , FIND_DOCUMENT_BY_KEY, UPDATE_DOCUMENT, DELETE_DOCUMENT).",title:"Document Collection",required:!1,deprecated:!1},edgeCollection:{kind:"parameter",type:"string",description:"Collection name of vertices, when using ArangoDb as a Graph Database. Set the edgeCollection name to perform CRUD operation on edges using these operations : SAVE_VERTEX, FIND_VERTEX_BY_KEY, UPDATE_VERTEX, DELETE_VERTEX. The graph attribute is mandatory.",title:"Edge Collection",required:!1,deprecated:!1},graph:{kind:"parameter",type:"string",description:"Graph name, when using ArangoDb as a Graph Database. Combine this attribute with one of the two attributes vertexCollection and edgeCollection.",title:"Graph",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"ArangoDB host. If host and port are default, this field is Optional.",title:"Host",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["SAVE_DOCUMENT","FIND_DOCUMENT_BY_KEY","UPDATE_DOCUMENT","DELETE_DOCUMENT","AQL_QUERY","SAVE_VERTEX","FIND_VERTEX_BY_KEY","UPDATE_VERTEX","DELETE_VERTEX","SAVE_EDGE","FIND_EDGE_BY_KEY","UPDATE_EDGE","DELETE_EDGE"],description:"Operations to perform on ArangoDb. For the operation AQL_QUERY, no need to specify a collection or graph.",title:"Operation",required:!1,deprecated:!1},port:{kind:"parameter",type:"integer",description:"ArangoDB exposed port. If host and port are default, this field is Optional.",title:"Port",required:!1,deprecated:!1},vertexCollection:{kind:"parameter",type:"string",description:"Collection name of vertices, when using ArangoDb as a Graph Database. Set the vertexCollection name to perform CRUD operation on vertices using these operations : SAVE_EDGE, FIND_EDGE_BY_KEY, UPDATE_EDGE, DELETE_EDGE. The graph attribute is mandatory.",title:"Vertex Collection",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},arangoDB:{kind:"parameter",type:"object",description:"To use an existing ArangDB client.",title:"Arango DB",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"ArangoDB password. If user and password are default, this field is Optional.",title:"Password",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"ArangoDB user. If user and password are default, this field is Optional.",title:"User",required:!1,deprecated:!1}}},as2:{type:"object",title:"AS2",group:"file",icon:"generic24.png",description:"Transfer data securely and reliably using the AS2 protocol (RFC4130).",properties:{apiName:{kind:"path",type:"object",enum:["CLIENT","SERVER"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},as2From:{kind:"parameter",type:"string",description:"The value of the AS2From header of AS2 message.",title:"As2 From",required:!1,deprecated:!1},as2MessageStructure:{kind:"parameter",type:"object",enum:["PLAIN","SIGNED","ENCRYPTED","SIGNED_ENCRYPTED","PLAIN_COMPRESSED","SIGNED_COMPRESSED","ENCRYPTED_COMPRESSED","ENCRYPTED_COMPRESSED_SIGNED"],description:"The structure of AS2 Message. One of: PLAIN - No encryption, no signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption, no signature, ENCRYPTED_SIGNED - Encryption, signature",title:"As2 Message Structure",required:!1,deprecated:!1},as2To:{kind:"parameter",type:"string",description:"The value of the AS2To header of AS2 message.",title:"As2 To",required:!1,deprecated:!1},as2Version:{kind:"parameter",type:"string",defaultValue:"1.1",enum:["1.0","1.1"],description:"The version of the AS2 protocol.",title:"As2 Version",required:!1,deprecated:!1},attachedFileName:{kind:"parameter",type:"string",description:"The name of the attached file",title:"Attached File Name",required:!1,deprecated:!1},clientFqdn:{kind:"parameter",type:"string",defaultValue:"camel.apache.org",description:"The Client Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint.",title:"Client Fqdn",required:!1,deprecated:!1},compressionAlgorithm:{kind:"parameter",type:"object",enum:["ZLIB"],description:"The algorithm used to compress EDI message.",title:"Compression Algorithm",required:!1,deprecated:!1},dispositionNotificationTo:{kind:"parameter",type:"string",description:"The value of the Disposition-Notification-To header. Assigning a value to this parameter requests a message disposition notification (MDN) for the AS2 message.",title:"Disposition Notification To",required:!1,deprecated:!1},ediMessageTransferEncoding:{kind:"parameter",type:"string",description:"The transfer encoding of EDI message.",title:"Edi Message Transfer Encoding",required:!1,deprecated:!1},ediMessageType:{kind:"parameter",type:"object",description:"The content type of EDI message. One of application/edifact, application/edi-x12, application/edi-consent, application/xml",title:"Edi Message Type",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",description:"The value of the From header of AS2 message.",title:"From",required:!1,deprecated:!1},hostnameVerifier:{kind:"parameter",type:"object",description:"Set hostname verifier for SSL session.",title:"Hostname Verifier",required:!1,deprecated:!1},httpConnectionPoolSize:{kind:"parameter",type:"integer",defaultValue:"5",description:"The maximum size of the connection pool for http connections (client only)",title:"Http Connection Pool Size",required:!1,deprecated:!1},httpConnectionPoolTtl:{kind:"parameter",type:"object",defaultValue:"15m",description:"The time to live for connections in the connection pool (client only)",title:"Http Connection Pool Ttl",required:!1,deprecated:!1},httpConnectionTimeout:{kind:"parameter",type:"object",defaultValue:"5s",description:"The timeout of the http connection (client only)",title:"Http Connection Timeout",required:!1,deprecated:!1},httpSocketTimeout:{kind:"parameter",type:"object",defaultValue:"5s",description:"The timeout of the underlying http socket (client only)",title:"Http Socket Timeout",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},mdnMessageTemplate:{kind:"parameter",type:"string",description:"The template used to format MDN message",title:"Mdn Message Template",required:!1,deprecated:!1},requestUri:{kind:"parameter",type:"string",defaultValue:"/",description:"The request URI of EDI message.",title:"Request Uri",required:!1,deprecated:!1},server:{kind:"parameter",type:"string",defaultValue:"Camel AS2 Server Endpoint",description:"The value included in the Server message header identifying the AS2 Server.",title:"Server",required:!1,deprecated:!1},serverFqdn:{kind:"parameter",type:"string",defaultValue:"camel.apache.org",description:"The Server Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint.",title:"Server Fqdn",required:!1,deprecated:!1},serverPortNumber:{kind:"parameter",type:"integer",description:"The port number of server.",title:"Server Port Number",required:!1,deprecated:!1},sslContext:{kind:"parameter",type:"object",description:"Set SSL context for connection to remote server.",title:"Ssl Context",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The value of Subject header of AS2 message.",title:"Subject",required:!1,deprecated:!1},targetHostname:{kind:"parameter",type:"string",description:"The host name (IP or DNS name) of target host.",title:"Target Hostname",required:!1,deprecated:!1},targetPortNumber:{kind:"parameter",type:"integer",defaultValue:"80",description:"The port number of target host. -1 indicates the scheme default port.",title:"Target Port Number",required:!1,deprecated:!1},userAgent:{kind:"parameter",type:"string",defaultValue:"Camel AS2 Client Endpoint",description:"The value included in the User-Agent message header identifying the AS2 user agent.",title:"User Agent",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},decryptingPrivateKey:{kind:"parameter",type:"object",description:"The key used to encrypt the EDI message.",title:"Decrypting Private Key",required:!1,deprecated:!1},encryptingAlgorithm:{kind:"parameter",type:"object",enum:["AES128_CBC","AES192_CBC","AES256_CBC","AES128_CCM","AES192_CCM","AES256_CCM","AES128_GCM","AES192_GCM","AES256_GCM","CAMELLIA128_CBC","CAMELLIA192_CBC","CAMELLIA256_CBC","CAST5_CBC","DES_CBC","DES_EDE3_CBC","GOST28147_GCFB","IDEA_CBC","RC2_CBC","RC4","SEED_CBC"],description:"The algorithm used to encrypt EDI message.",title:"Encrypting Algorithm",required:!1,deprecated:!1},encryptingCertificateChain:{kind:"parameter",type:"object",description:"The chain of certificates used to encrypt EDI message.",title:"Encrypting Certificate Chain",required:!1,deprecated:!1},signedReceiptMicAlgorithms:{kind:"parameter",type:"array",description:"The list of algorithms, in order of preference, requested to generate a message integrity check (MIC) returned in message dispostion notification (MDN)",title:"Signed Receipt Mic Algorithms",required:!1,deprecated:!1},signingAlgorithm:{kind:"parameter",type:"object",enum:["SHA3_224WITHRSA","SHA3_256WITHRSA","SHA3_384withRSA","SHA3_512WITHRSA","MD5WITHRSA","SHA1WITHRSA","MD2WITHRSA","SHA224WITHRSA","SHA256WITHRSA","SHA384WITHRSA","SHA512WITHRSA","RIPEMD128WITHRSA","RIPEMD160WITHRSA","RIPEMD256WITHRSA","SHA224WITHDSA","SHA256WITHDSA","SHA384WITHDSA","SHA512WITHDSA","SHA3_224WITHDSA","SHA3_256WITHDSA","SHA3_384WITHDSA","SHA3_512WITHDSA","SHA1WITHDSA","SHA3_224WITHECDSA","SHA3_256WITHECDSA","SHA3_384WITHECDSA","SHA3_512WITHECDSA","SHA1WITHECDSA","SHA224WITHECDSA","SHA256WITHECDSA","SHA384WITHECDSA","SHA512WITHECDSA","SHA1WITHPLAIN_ECDSA","SHA224WITHPLAIN_ECDSA","SHA256WITHPLAIN_ECDSA","SHA384WITHPLAIN_ECDSA","SHA512WITHPLAIN_ECDSA","RIPEMD160WITHPLAIN_ECDSA","SHA1WITHRSAANDMGF1","SHA224WITHRSAANDMGF1","SHA256WITHRSAANDMGF1","SHA384WITHRSAANDMGF1","SHA512WITHRSAANDMGF1","SHA3_224WITHRSAANDMGF1","SHA3_256WITHRSAANDMGF1","SHA3_384WITHRSAANDMGF1","SHA3_512WITHRSAANDMGF1"],description:"The algorithm used to sign EDI message.",title:"Signing Algorithm",required:!1,deprecated:!1},signingCertificateChain:{kind:"parameter",type:"object",description:"The chain of certificates used to sign EDI message.",title:"Signing Certificate Chain",required:!1,deprecated:!1},signingPrivateKey:{kind:"parameter",type:"object",description:"The key used to sign the EDI message.",title:"Signing Private Key",required:!1,deprecated:!1},validateSigningCertificateChain:{kind:"parameter",type:"object",description:"Certificates to validate the message's signature against. If not supplied, validation will not take place. Server: validates the received message. Client: not yet implemented, should validate the MDN",title:"Validate Signing Certificate Chain",required:!1,deprecated:!1}}},asterisk:{type:"object",title:"Asterisk",group:"mobile",icon:"generic24.png",description:"Interact with Asterisk PBX Server (VoIP).",properties:{name:{kind:"path",type:"string",description:"Name of component",title:"Name",required:!0,deprecated:!1},hostname:{kind:"parameter",type:"string",description:"The hostname of the asterisk server",title:"Hostname",required:!0,deprecated:!1},password:{kind:"parameter",type:"string",description:"Login password",title:"Password",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"Login username",title:"Username",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},action:{kind:"parameter",type:"object",enum:["QUEUE_STATUS","SIP_PEERS","EXTENSION_STATE"],description:"What action to perform such as getting queue status, sip peers or extension state.",title:"Action",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"atmosphere-websocket":{type:"object",title:"Atmosphere Websocket",group:"http,networking",icon:"generic24.png",description:"Expose WebSocket endpoints using the Atmosphere framework.",properties:{servicePath:{kind:"path",type:"string",description:"Name of websocket endpoint",title:"Service Path",required:!0,deprecated:!1},chunked:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is false the Servlet will disable the HTTP streaming and set the content-length header on the response",title:"Chunked",required:!1,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",title:"Disable Stream Cache",required:!1,deprecated:!1},sendToAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to send to all (broadcast) or send to a single receiver.",title:"Send To All",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},useStreaming:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable streaming to send data as multiple text fragments.",title:"Use Streaming",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},httpBinding:{kind:"parameter",type:"object",description:"To use a custom HttpBinding to control the mapping between Camel message and HttpClient.",title:"Http Binding",required:!1,deprecated:!1},async:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configure the consumer to work in async mode",title:"Async",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple methods can be specified separated by comma.",title:"Http Method Restrict",required:!1,deprecated:!1},logException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the exception's stack trace will be logged when the exception stack trace is not sent in the response's body.",title:"Log Exception",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},responseBufferSize:{kind:"parameter",type:"integer",description:"To use a custom buffer size on the jakarta.servlet.ServletResponse.",title:"Response Buffer Size",required:!1,deprecated:!1},servletName:{kind:"parameter",type:"string",defaultValue:"CamelServlet",description:"Name of the servlet to use",title:"Servlet Name",required:!1,deprecated:!1},attachmentMultipartBinding:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to automatic bind multipart/form-data as attachments on the Camel Exchange. The options attachmentMultipartBinding=true and disableStreamCache=false cannot work together. Remove disableStreamCache to use AttachmentMultipartBinding. This is turn off by default as this may require servlet specific configuration to enable this when using Servlet's.",title:"Attachment Multipart Binding",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eagerCheckContentAvailable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to eager check whether the HTTP requests has content if the content-length header is 0 or not present. This can be turned on in case HTTP clients do not send streamed data.",title:"Eager Check Content Available",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},fileNameExtWhitelist:{kind:"parameter",type:"string",description:"Whitelist of accepted filename extensions for accepting uploaded files. Multiple extensions can be separated by comma, such as txt,xml.",title:"File Name Ext Whitelist",required:!1,deprecated:!1},mapHttpMessageBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",title:"Map Http Message Body",required:!1,deprecated:!1},mapHttpMessageFormUrlEncodedBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.",title:"Map Http Message Form Url Encoded Body",required:!1,deprecated:!1},mapHttpMessageHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping.",title:"Map Http Message Headers",required:!1,deprecated:!1},optionsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",title:"Options Enabled",required:!1,deprecated:!1},traceEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off.",title:"Trace Enabled",required:!1,deprecated:!1},bridgeEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let the HttpProducer send all the fault response back.",title:"Bridge Endpoint",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},oauth2ClientId:{kind:"parameter",type:"string",description:"OAuth2 client id",title:"Oauth2 Client Id",required:!1,deprecated:!1},oauth2ClientSecret:{kind:"parameter",type:"string",description:"OAuth2 client secret",title:"Oauth2 Client Secret",required:!1,deprecated:!1},oauth2TokenEndpoint:{kind:"parameter",type:"string",description:"OAuth2 Token endpoint",title:"Oauth2 Token Endpoint",required:!1,deprecated:!1}}},atom:{type:"object",title:"Atom",group:"document",icon:"generic24.png",description:"Poll Atom RSS feeds.",properties:{feedUri:{kind:"path",type:"string",description:"The URI to the feed to poll.",title:"Feed Uri",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},sortEntries:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to sort entries by published date. Only works when splitEntries = true.",title:"Sort Entries",required:!1,deprecated:!1},splitEntries:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message",title:"Split Entries",required:!1,deprecated:!1},throttleEntries:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true.",title:"Throttle Entries",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},feedHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to add the feed object as a header.",title:"Feed Header",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},avro:{type:"object",title:"Avro RPC",group:"rpc",icon:"generic24.png",description:"Produce or consume Apache Avro RPC services.",properties:{transport:{kind:"path",type:"object",enum:["http","netty"],description:"Transport to use, can be either http or netty",title:"Transport",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number to use",title:"Port",required:!0,deprecated:!1},host:{kind:"path",type:"string",description:"Hostname to use",title:"Host",required:!0,deprecated:!1},messageName:{kind:"path",type:"string",description:"The name of the message to send.",title:"Message Name",required:!1,deprecated:!1},protocol:{kind:"parameter",type:"object",description:"Avro protocol to use",title:"Protocol",required:!1,deprecated:!1},protocolClassName:{kind:"parameter",type:"string",description:"Avro protocol to use defined by the FQN class name",title:"Protocol Class Name",required:!1,deprecated:!1},protocolLocation:{kind:"parameter",type:"string",description:"Avro protocol location",title:"Protocol Location",required:!1,deprecated:!1},reflectionProtocol:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the protocol object provided is reflection protocol. Should be used only with protocol parameter because for protocolClassName protocol type will be auto-detected",title:"Reflection Protocol",required:!1,deprecated:!1},singleParameter:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, consumer parameter won't be wrapped into an array. Will fail if protocol specifies more than one parameter for the message",title:"Single Parameter",required:!1,deprecated:!1},uriAuthority:{kind:"parameter",type:"string",description:"Authority to use (username and password)",title:"Uri Authority",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"aws-cloudtrail":{type:"object",title:"AWS Cloudtrail",group:"cloud,management,monitoring",icon:"generic24.png",description:"Consume events from Amazon Cloudtrail using AWS SDK version 2.x.",properties:{label:{kind:"path",type:"string",description:"A label for indexing cloudtrail endpoints",title:"Label",required:!0,deprecated:!1},eventSource:{kind:"parameter",type:"string",description:"Specify an event source to select events",title:"Event Source",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",defaultValue:"1",description:"Maximum number of records that will be fetched in each poll",title:"Max Results",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which Cloudtrail client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},cloudTrailClient:{kind:"parameter",type:"object",description:"Amazon Cloudtrail client to use for all requests for this endpoint",title:"Cloud Trail Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Cloudtrail client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Cloudtrail client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Cloudtrail client",title:"Proxy Protocol",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name.",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume a IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Cloudtrail client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Cloudtrail client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the CloudTrail client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in CloudTrail.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws-config":{type:"object",title:"AWS Config Service",group:"cloud,management",icon:"generic24.png",description:"Manage AWS Config service.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["putConfigRule","removeConfigRule","describeRuleCompliance","putConformancePack","removeConformancePack"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which the Config client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},configClient:{kind:"parameter",type:"object",description:"Amazon AWS Config Client instance",title:"Config Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Config client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Config client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Config client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Config client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Config client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Config client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in Config.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws-secrets-manager":{type:"object",title:"AWS Secrets Manager",group:"cloud,management",icon:"generic24.png",description:"Manage secrets using AWS Secrets Manager.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},binaryPayload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the secret is binary or not",title:"Binary Payload",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listSecrets","createSecret","getSecret","describeSecret","deleteSecret","rotateSecret","updateSecret","restoreSecret","replicateSecretToRegions"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which a Secrets Manager client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Secrets Manager client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},secretsManagerClient:{kind:"parameter",type:"object",description:"To use an existing configured AWS Secrets Manager client",title:"Secrets Manager Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Secrets Manager client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Secrets Manager client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Secrets Manager client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Translate client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Secrets Manager client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in Secrets Manager.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-athena":{type:"object",title:"AWS Athena",group:"cloud,database",icon:"generic24.png",description:"Access AWS Athena.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},database:{kind:"parameter",type:"string",description:"The Athena database to use.",title:"Database",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"2000",description:"Milliseconds before the next poll for query execution status. See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Delay",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll for query execution status. See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Initial Delay",required:!1,deprecated:!1},maxAttempts:{kind:"parameter",type:"integer",defaultValue:"1",description:"Maximum number of times to attempt a query. Set to 1 to disable retries. See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Max Attempts",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",description:"Max number of results to return for the given operation (if supported by the Athena API endpoint). If not set, will use the Athena API default for the given operation.",title:"Max Results",required:!1,deprecated:!1},nextToken:{kind:"parameter",type:"string",description:"Pagination token to use in the case where the response from the previous request was truncated.",title:"Next Token",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"startQueryExecution",enum:["getQueryExecution","getQueryResults","listQueryExecutions","startQueryExecution"],description:"The Athena API function to call.",title:"Operation",required:!1,deprecated:!1},outputLocation:{kind:"parameter",type:"string",description:"The location in Amazon S3 where query results are stored, such as s3://path/to/query/bucket/. Ensure this value ends with a forward slash.",title:"Output Location",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"StreamList",enum:["StreamList","SelectList","S3Pointer"],description:"How query results should be returned. One of StreamList (default - return a GetQueryResultsIterable that can page through all results), SelectList (returns at most 1000 rows at a time, plus a NextToken value as a header than can be used for manual pagination of results), S3Pointer (return an S3 path pointing to the results).",title:"Output Type",required:!1,deprecated:!1},queryExecutionId:{kind:"parameter",type:"string",description:"The unique ID identifying the query execution.",title:"Query Execution Id",required:!1,deprecated:!1},queryString:{kind:"parameter",type:"string",description:"The SQL query to run. Except for simple queries, prefer setting this as the body of the Exchange or as a header using Athena2Constants.QUERY_STRING to avoid having to deal with URL encoding issues.",title:"Query String",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which Athena client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1).",title:"Region",required:!1,deprecated:!1},resetWaitTimeoutOnRetry:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Reset the waitTimeout countdown in the event of a query retry. If set to true, potential max time spent waiting for queries is equal to waitTimeout x maxAttempts. See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Reset Wait Timeout On Retry",required:!1,deprecated:!1},retry:{kind:"parameter",type:"string",defaultValue:"never",enum:["never","always","retryable","exhausted","generic"],description:"Optional comma separated list of error types to retry the query for. Use: 'retryable' to retry all retryable failure conditions (e.g. generic errors and resources exhausted), 'generic' to retry 'GENERIC_INTERNAL_ERROR' failures, 'exhausted' to retry queries that have exhausted resource limits, 'always' to always retry regardless of failure condition, or 'never' or null to never retry (default). See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Retry",required:!1,deprecated:!1},waitTimeout:{kind:"parameter",type:"integer",defaultValue:"0",description:"Optional max wait time in millis to wait for a successful query completion. See the section Waiting for Query Completion and Retrying Failed Queries to learn more.",title:"Wait Timeout",required:!1,deprecated:!1},workGroup:{kind:"parameter",type:"string",description:"The workgroup to use for running the query.",title:"Work Group",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonAthenaClient:{kind:"parameter",type:"object",description:"The AmazonAthena instance to use as the client.",title:"Amazon Athena Client",required:!1,deprecated:!1},clientRequestToken:{kind:"parameter",type:"string",description:"A unique string to ensure issues queries are idempotent. It is unlikely you will need to set this.",title:"Client Request Token",required:!1,deprecated:!1},includeTrace:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Include useful trace information at the beginning of queries as an SQL comment (prefixed with --).",title:"Include Trace",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Athena client.",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Athena client.",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Athena client.",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key.",title:"Access Key",required:!1,deprecated:!1},encryptionOption:{kind:"parameter",type:"object",enum:["SSE_S3","SSE_KMS","CSE_KMS","null"],description:"The encryption type to use when storing query results in S3. One of SSE_S3, SSE_KMS, or CSE_KMS.",title:"Encryption Option",required:!1,deprecated:!1},kmsKey:{kind:"parameter",type:"string",description:"For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.",title:"Kms Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key.",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Athena client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Athena client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Athena client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume a IAM role for doing operations in Athena.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-cw":{type:"object",title:"AWS CloudWatch",group:"cloud,monitoring",icon:"generic24.png",description:"Sending metrics to AWS CloudWatch.",properties:{namespace:{kind:"path",type:"string",description:"The metric namespace",title:"Namespace",required:!0,deprecated:!1},name:{kind:"parameter",type:"string",description:"The metric name",title:"Name",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which CW client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},timestamp:{kind:"parameter",type:"object",description:"The metric timestamp",title:"Timestamp",required:!1,deprecated:!1},unit:{kind:"parameter",type:"string",description:"The metric unit",title:"Unit",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},value:{kind:"parameter",type:"number",description:"The metric value",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonCwClient:{kind:"parameter",type:"object",description:"To use the AmazonCloudWatch as the client",title:"Amazon Cw Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the CW client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the CW client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the CW client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Cloudwatch client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the CloudWatch client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in CloudWatch.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-ddb":{type:"object",title:"AWS DynamoDB",group:"cloud,database",icon:"generic24.png",description:"Store and retrieve data from AWS DynamoDB.",properties:{tableName:{kind:"path",type:"string",description:"The name of the table currently worked with.",title:"Table Name",required:!0,deprecated:!1},consistentRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether strong consistency should be enforced when data is read.",title:"Consistent Read",required:!1,deprecated:!1},enabledInitialDescribeTable:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Set whether the initial Describe table operation in the DDB Endpoint must be done, or not.",title:"Enabled Initial Describe Table",required:!1,deprecated:!1},keyAttributeName:{kind:"parameter",type:"string",description:"Attribute name when creating table",title:"Key Attribute Name",required:!1,deprecated:!1},keyAttributeType:{kind:"parameter",type:"string",description:"Attribute type when creating table",title:"Key Attribute Type",required:!1,deprecated:!1},keyScalarType:{kind:"parameter",type:"string",description:"The key scalar type, it can be S (String), N (Number) and B (Bytes)",title:"Key Scalar Type",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"PutItem",enum:["BatchGetItems","DeleteItem","DeleteTable","DescribeTable","GetItem","PutItem","Query","Scan","UpdateItem","UpdateTable"],description:"What operation to perform",title:"Operation",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},readCapacity:{kind:"parameter",type:"integer",description:"The provisioned throughput to reserve for reading resources from your table",title:"Read Capacity",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which DDB client needs to work",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},writeCapacity:{kind:"parameter",type:"integer",description:"The provisioned throughput to reserved for writing resources to your table",title:"Write Capacity",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonDDBClient:{kind:"parameter",type:"object",description:"To use the AmazonDynamoDB as the client",title:"Amazon DDBClient",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the DDB client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"The region in which DynamoDB client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the DDB client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume a IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the DDB client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the DDB client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in DDB.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-ddbstream":{type:"object",title:"AWS DynamoDB Streams",group:"cloud,messaging",icon:"generic24.png",description:"Receive messages from AWS DynamoDB Stream.",properties:{tableName:{kind:"path",type:"string",description:"Name of the dynamodb table",title:"Table Name",required:!0,deprecated:!1},maxResultsPerRequest:{kind:"parameter",type:"integer",description:"Maximum number of records that will be fetched in each poll",title:"Max Results Per Request",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which DDBStreams client needs to work",title:"Region",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamIteratorType:{kind:"parameter",type:"object",defaultValue:"FROM_LATEST",enum:["FROM_LATEST","FROM_START"],description:"Defines where in the DynamoDB stream to start getting records. Note that using FROM_START can cause a significant delay before the stream has caught up to real-time.",title:"Stream Iterator Type",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},amazonDynamoDbStreamsClient:{kind:"parameter",type:"object",description:"Amazon DynamoDB client to use for all requests for this endpoint",title:"Amazon Dynamo Db Streams Client",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the DDBStreams client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the DDBStreams client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the DDBStreams client",title:"Proxy Protocol",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name.",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume a IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the DynamoDB Streams client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Cloudtrail client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the DDB Streams client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in DDB.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-ec2":{type:"object",title:"AWS Elastic Compute Cloud (EC2)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS EC2 instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},amazonEc2Client:{kind:"parameter",type:"object",description:"To use an existing configured AmazonEC2Client client",title:"Amazon Ec2 Client",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["createAndRunInstances","startInstances","stopInstances","terminateInstances","describeInstances","describeInstancesStatus","rebootInstances","monitorInstances","unmonitorInstances","createTags","deleteTags"],description:"The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which EC2 client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the EC2 client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the EC2 client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the EC2 client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the EC2 client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the EC2 client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the EC2 client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in EC2.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-ecs":{type:"object",title:"AWS Elastic Container Service (ECS)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS ECS cluster instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listClusters","describeCluster","createCluster","deleteCluster"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which the ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},ecsClient:{kind:"parameter",type:"object",description:"To use an existing configured AWS ECS client",title:"Ecs Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the ECS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the ECS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the ECS client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the ECS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the ECS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the ECS client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in ECS.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-eks":{type:"object",title:"AWS Elastic Kubernetes Service (EKS)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS EKS cluster instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listClusters","describeCluster","createCluster","deleteCluster"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",defaultValue:"false",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which EKS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the EKS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the EKS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},eksClient:{kind:"parameter",type:"object",description:"To use an existing configured AWS EKS client",title:"Eks Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the EKS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the EKS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the EKS client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the EKS client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in EKS.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-eventbridge":{type:"object",title:"AWS Eventbridge",group:"cloud,management",icon:"generic24.png",description:"Send events to AWS Eventbridge cluster instances.",properties:{eventbusNameOrArn:{kind:"path",type:"string",description:"Event bus name or ARN",title:"Eventbus Name Or Arn",required:!0,deprecated:!1},eventPatternFile:{kind:"parameter",type:"string",description:"EventPattern File",title:"Event Pattern File",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"putRule",enum:["putRule","putTargets","removeTargets","deleteRule","enableRule","disableRule","describeRule","listRules","listTargetsByRule","listRuleNamesByTarget","putEvent"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which the Eventbridge client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},eventbridgeClient:{kind:"parameter",type:"object",description:"To use an existing configured AWS Eventbridge client",title:"Eventbridge Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Eventbridge client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Eventbridge client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Eventbridge client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Eventbridge client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Eventbridge client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Eventbridge client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in Eventbridge.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-iam":{type:"object",title:"AWS Identity and Access Management (IAM)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS IAM instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},iamClient:{kind:"parameter",type:"object",description:"To use an existing configured AWS IAM client",title:"Iam Client",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listAccessKeys","createUser","deleteUser","getUser","listUsers","createAccessKey","deleteAccessKey","updateAccessKey","createGroup","deleteGroup","listGroups","addUserToGroup","removeUserFromGroup"],description:"The operation to perform. You can configure a default operation on the component level, or the operation as part of the endpoint, or via a message header with the key CamelAwsIAMOperation.",title:"Operation",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",defaultValue:"aws-global",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which IAM client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the IAM client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the IAM client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the IAM client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the IAM client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the IAM client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the IAM client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume a IAM role for doing operations in IAM.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-kinesis":{type:"object",title:"AWS Kinesis",group:"cloud,messaging",icon:"generic24.png",description:"Consume and produce records from and to AWS Kinesis Streams.",properties:{streamName:{kind:"path",type:"string",description:"Name of the stream",title:"Stream Name",required:!0,deprecated:!1},cborEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option will set the CBOR_ENABLED property during the execution",title:"Cbor Enabled",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},iteratorType:{kind:"parameter",type:"object",defaultValue:"TRIM_HORIZON",enum:["AT_SEQUENCE_NUMBER","AFTER_SEQUENCE_NUMBER","TRIM_HORIZON","LATEST","AT_TIMESTAMP","null"],description:"Defines where in the Kinesis stream to start getting records",title:"Iterator Type",required:!1,deprecated:!1},maxResultsPerRequest:{kind:"parameter",type:"integer",defaultValue:"1",description:"Maximum number of records that will be fetched in each poll",title:"Max Results Per Request",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},sequenceNumber:{kind:"parameter",type:"string",description:"The sequence number to start polling from. Required if iteratorType is set to AFTER_SEQUENCE_NUMBER or AT_SEQUENCE_NUMBER",title:"Sequence Number",required:!1,deprecated:!1},shardClosed:{kind:"parameter",type:"object",defaultValue:"ignore",enum:["ignore","fail","silent"],description:"Define what will be the behavior in case of shard closed. Possible value are ignore, silent and fail. In case of ignore a message will be logged and the consumer will restart from the beginning,in case of silent there will be no logging and the consumer will start from the beginning,in case of fail a ReachedClosedStateException will be raised",title:"Shard Closed",required:!1,deprecated:!1},shardId:{kind:"parameter",type:"string",description:"Defines which shardId in the Kinesis stream to get records from",title:"Shard Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonKinesisClient:{kind:"parameter",type:"object",description:"Amazon Kinesis client to use for all requests for this endpoint",title:"Amazon Kinesis Client",required:!1,deprecated:!1},asyncClient:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to a KinesisAsyncClient instance set it to true",title:"Async Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Kinesis client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Kinesis client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Kinesis client",title:"Proxy Protocol",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name.",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume a IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kinesis client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kinesis client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kinesis client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Kinesis.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-kinesis-firehose":{type:"object",title:"AWS Kinesis Firehose",group:"cloud,messaging",icon:"generic24.png",description:"Produce data to AWS Kinesis Firehose streams.",properties:{streamName:{kind:"path",type:"string",description:"Name of the stream",title:"Stream Name",required:!0,deprecated:!1},cborEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option will set the CBOR_ENABLED property during the execution",title:"Cbor Enabled",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["sendBatchRecord","createDeliveryStream","deleteDeliveryStream","describeDeliveryStream","updateDestination"],description:"The operation to do in case the user don't want to send only a record",title:"Operation",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which Kinesis Firehose client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonKinesisFirehoseClient:{kind:"parameter",type:"object",description:"Amazon Kinesis Firehose client to use for all requests for this endpoint",title:"Amazon Kinesis Firehose Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Kinesis Firehose client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Kinesis Firehose client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Kinesis Firehose client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider this parameter will set the profile name.",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume a IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kinesis Firehose client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kinesis Firehose client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Kinesis Firehose.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-kms":{type:"object",title:"AWS Key Management Service (KMS)",group:"cloud,management",icon:"generic24.png",description:"Manage keys stored in AWS KMS instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listKeys","createKey","disableKey","scheduleKeyDeletion","describeKey","enableKey"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which EKS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},kmsClient:{kind:"parameter",type:"object",description:"To use an existing configured AWS KMS client",title:"Kms Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the KMS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the KMS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the KMS client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the KMS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the KMS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the KMS client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume a IAM role for doing operations in KMS.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-lambda":{type:"object",title:"AWS Lambda",group:"cloud,serverless",icon:"generic24.png",description:"Manage and invoke AWS Lambda functions.",properties:{function:{kind:"path",type:"string",description:"Name of the Lambda function.",title:"Function",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"invokeFunction",enum:["listFunctions","getFunction","createAlias","deleteAlias","getAlias","listAliases","createFunction","deleteFunction","invokeFunction","updateFunction","createEventSourceMapping","deleteEventSourceMapping","listEventSourceMapping","listTags","tagResource","untagResource","publishVersion","listVersions"],description:"The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction",title:"Operation",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which the Lambda client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},awsLambdaClient:{kind:"parameter",type:"object",description:"To use an existing configured AwsLambdaClient client",title:"Aws Lambda Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Lambda client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Lambda client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Lambda client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Lambda client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Lambda client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Lambda client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in Lambda.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-mq":{type:"object",title:"AWS MQ",group:"cloud,messaging",icon:"generic24.png",description:"Send messages to AWS MQ.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listBrokers","createBroker","deleteBroker","rebootBroker","updateBroker","describeBroker"],description:"The operation to perform. It can be listBrokers, createBroker, deleteBroker",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which MQ client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonMqClient:{kind:"parameter",type:"object",description:"To use a existing configured AmazonMQClient client",title:"Amazon Mq Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the MQ client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the MQ client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the MQ client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the MQ client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the MQ client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the MQ client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in MQ.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-msk":{type:"object",title:"AWS Managed Streaming for Apache Kafka (MSK)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS MSK instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listClusters","createCluster","deleteCluster","describeCluster"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which the MSK client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},mskClient:{kind:"parameter",type:"object",description:"To use an existing configured AWS MSK client",title:"Msk Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the MSK client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the MSK client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the MSK client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Kafka client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the MSK client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the MSK client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in MSK.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-redshift-data":{type:"object",title:"AWS RedshiftData",group:"cloud,serverless,database,bigdata",icon:"generic24.png",description:"Perform operations on AWS Redshift using Redshift Data API.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listDatabases","listSchemas","listStatements","listTables","describeTable","executeStatement","batchExecuteStatement","cancelStatement","describeStatement","getStatementResult"],description:"The operation to perform. It can be batchExecuteStatement, cancelStatement, describeStatement, describeTable, executeStatement, getStatementResult, listDatabases, listSchemas, listStatements or listTables",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which RedshiftData client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the RedshiftData client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the RedshiftData client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},awsRedshiftDataClient:{kind:"parameter",type:"object",description:"To use an existing configured AwsRedshiftDataClient client",title:"Aws Redshift Data Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the RedshiftData client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the RedshiftData client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the RedshiftData client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Redshift client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in Redshift.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-s3":{type:"object",title:"AWS S3 Storage Service",group:"cloud,file",icon:"generic24.png",description:"Store and retrieve objects from AWS S3 Storage Service.",properties:{bucketNameOrArn:{kind:"path",type:"string",description:"Bucket name or ARN",title:"Bucket Name Or Arn",required:!0,deprecated:!1},autoCreateBucket:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting the autocreation of the S3 bucket bucketName. This will apply also in case of moveAfterRead option enabled, and it will create the destinationBucket if it doesn't exist already.",title:"Auto Create Bucket",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"string",description:"The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in.",title:"Delimiter",required:!1,deprecated:!1},forcePathStyle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should use path-style URL instead of virtual-hosted-style",title:"Force Path Style",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},policy:{kind:"parameter",type:"string",description:"The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method.",title:"Policy",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"string",description:"The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in.",title:"Prefix",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which the S3 client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},customerAlgorithm:{kind:"parameter",type:"string",description:"Define the customer algorithm to use in case CustomerKey is enabled",title:"Customer Algorithm",required:!1,deprecated:!1},customerKeyId:{kind:"parameter",type:"string",description:"Define the id of the Customer key to use in case CustomerKey is enabled",title:"Customer Key Id",required:!1,deprecated:!1},customerKeyMD5:{kind:"parameter",type:"string",description:"Define the MD5 of Customer key to use in case CustomerKey is enabled",title:"Customer Key MD5",required:!1,deprecated:!1},deleteAfterRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Delete objects from S3 after they have been retrieved. The deleting is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieved over and over again in the polls. Therefore, you need to use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY headers, or only the AWS2S3Constants#KEY header.",title:"Delete After Read",required:!1,deprecated:!1},destinationBucket:{kind:"parameter",type:"string",description:"Define the destination bucket where an object must be moved when moveAfterRead is set to true.",title:"Destination Bucket",required:!1,deprecated:!1},destinationBucketPrefix:{kind:"parameter",type:"string",description:"Define the destination bucket prefix to use when an object must be moved, and moveAfterRead is set to true.",title:"Destination Bucket Prefix",required:!1,deprecated:!1},destinationBucketSuffix:{kind:"parameter",type:"string",description:"Define the destination bucket suffix to use when an object must be moved, and moveAfterRead is set to true.",title:"Destination Bucket Suffix",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"If provided, Camel will only consume files if a done file exists.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"To get the object from the bucket with the given file name",title:"File Name",required:!1,deprecated:!1},ignoreBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If it is true, the S3 Object Body will be ignored completely if it is set to false, the S3 Object will be put in the body. Setting this to true will override any behavior defined by includeBody option.",title:"Ignore Body",required:!1,deprecated:!1},includeBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the S3Object exchange will be consumed and put into the body and closed. If false, the S3Object stream will be put raw into the body and the headers will be set with the S3 object metadata. This option is strongly related to the autocloseBody option. In case of setting includeBody to true because the S3Object stream will be consumed then it will also be closed, while in case of includeBody false then it will be up to the caller to close the S3Object stream. However, setting autocloseBody to true when includeBody is false it will schedule to close the S3Object stream automatically on exchange completion.",title:"Include Body",required:!1,deprecated:!1},includeFolders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those",title:"Include Folders",required:!1,deprecated:!1},maxConnections:{kind:"parameter",type:"integer",defaultValue:"60",description:"Set the maxConnections parameter in the S3 client configuration",title:"Max Connections",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"10",description:"Gets the maximum number of messages as a limit to poll at each polling. Gets the maximum number of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative number to set it as unlimited.",title:"Max Messages Per Poll",required:!1,deprecated:!1},moveAfterRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Move objects from S3 bucket to a different bucket after they have been retrieved. To accomplish the operation, the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved.",title:"Move After Read",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},autocloseBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true and includeBody is false, then the S3Object.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to false and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically.",title:"Autoclose Body",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},batchMessageNumber:{kind:"parameter",type:"integer",defaultValue:"10",description:"The number of messages composing a batch in streaming upload mode",title:"Batch Message Number",required:!1,deprecated:!1},batchSize:{kind:"parameter",type:"integer",defaultValue:"1000000",description:"The batch size (in bytes) in streaming upload mode",title:"Batch Size",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"1000000",description:"The buffer size (in bytes) in streaming upload mode",title:"Buffer Size",required:!1,deprecated:!1},deleteAfterWrite:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Delete file object after the S3 file has been uploaded",title:"Delete After Write",required:!1,deprecated:!1},keyName:{kind:"parameter",type:"string",description:"Setting the key name for an element in the bucket through endpoint parameter",title:"Key Name",required:!1,deprecated:!1},multiPartUpload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If it is true, camel will upload the file with multipart format. The part size is decided by the partSize option. Camel will only do multipart uploads for files that are larger than the part-size thresholds. Files that are smaller will be uploaded in a single operation.",title:"Multi Part Upload",required:!1,deprecated:!1},namingStrategy:{kind:"parameter",type:"object",defaultValue:"progressive",enum:["progressive","random"],description:"The naming strategy to use in streaming upload mode",title:"Naming Strategy",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["copyObject","listObjects","deleteObject","deleteBucket","listBuckets","getObject","getObjectRange","createDownloadLink"],description:"The operation to do in case the user don't want to do only an upload",title:"Operation",required:!1,deprecated:!1},partSize:{kind:"parameter",type:"integer",defaultValue:"26214400",description:"Set up the partSize which is used in multipart upload, the default size is 25M. Camel will only do multipart uploads for files that are larger than the part-size thresholds. Files that are smaller will be uploaded in a single operation.",title:"Part Size",required:!1,deprecated:!1},restartingPolicy:{kind:"parameter",type:"object",defaultValue:"override",enum:["override","lastPart"],description:"The restarting policy to use in streaming upload mode",title:"Restarting Policy",required:!1,deprecated:!1},storageClass:{kind:"parameter",type:"string",description:"The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request.",title:"Storage Class",required:!1,deprecated:!1},streamingUploadMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When stream mode is true, the upload to bucket will be done in streaming",title:"Streaming Upload Mode",required:!1,deprecated:!1},streamingUploadTimeout:{kind:"parameter",type:"integer",description:"While streaming upload mode is true, this option set the timeout to complete upload",title:"Streaming Upload Timeout",required:!1,deprecated:!1},awsKMSKeyId:{kind:"parameter",type:"string",description:"Define the id of KMS key to use in case KMS is enabled",title:"Aws KMSKey Id",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},useAwsKMS:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if KMS must be used or not",title:"Use Aws KMS",required:!1,deprecated:!1},useCustomerKey:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if Customer Key must be used or not",title:"Use Customer Key",required:!1,deprecated:!1},useSSES3:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if SSE S3 must be used or not",title:"Use SSES3",required:!1,deprecated:!1},amazonS3Client:{kind:"parameter",type:"object",description:"Reference to a com.amazonaws.services.s3.AmazonS3 in the registry.",title:"Amazon S3 Client",required:!1,deprecated:!1},amazonS3Presigner:{kind:"parameter",type:"object",description:"An S3 Presigner for Request, used mainly in createDownloadLink operation",title:"Amazon S3 Presigner",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the SQS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Specify a proxy port to be used inside the client definition.",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the S3 client",title:"Proxy Protocol",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should expect to load credentials through a default credentials provider.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the S3 client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in S3.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-ses":{type:"object",title:"AWS Simple Email Service (SES)",group:"cloud,mail",icon:"generic24.png",description:"Send e-mails through AWS SES service.",properties:{from:{kind:"path",type:"string",description:"The sender's email address.",title:"From",required:!0,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"List of comma-separated destination blind carbon copy (bcc) email address. Can be overridden with 'CamelAwsSesBcc' header.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"List of comma-separated destination carbon copy (cc) email address. Can be overridden with 'CamelAwsSesCc' header.",title:"Cc",required:!1,deprecated:!1},configurationSet:{kind:"parameter",type:"string",description:"Set the configuration set to send with every request. Override it with 'CamelAwsSesConfigurationSet' header.",title:"Configuration Set",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which SES client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},replyToAddresses:{kind:"parameter",type:"string",description:"List of comma separated reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header.",title:"Reply To Addresses",required:!1,deprecated:!1},returnPath:{kind:"parameter",type:"string",description:"The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header.",title:"Return Path",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The subject which is used if the message header 'CamelAwsSesSubject' is not present.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"List of comma separated destination email address. Can be overridden with 'CamelAwsSesTo' header.",title:"To",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonSESClient:{kind:"parameter",type:"object",description:"To use the AmazonSimpleEmailService as the client",title:"Amazon SESClient",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the SES client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the SES client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the SES client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Ses client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SES client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SES client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in SES.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-sns":{type:"object",title:"AWS Simple Notification System (SNS)",group:"cloud,messaging,mobile",icon:"generic24.png",description:"Send messages to AWS Simple Notification Topic.",properties:{topicNameOrArn:{kind:"path",type:"string",description:"Topic name or ARN",title:"Topic Name Or Arn",required:!0,deprecated:!1},autoCreateTopic:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting the auto-creation of the topic",title:"Auto Create Topic",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to map headers to/from Camel.",title:"Header Filter Strategy",required:!1,deprecated:!1},kmsMasterKeyId:{kind:"parameter",type:"string",description:"The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK.",title:"Kms Master Key Id",required:!1,deprecated:!1},messageDeduplicationIdStrategy:{kind:"parameter",type:"string",defaultValue:"useExchangeId",enum:["useExchangeId","useContentBasedDeduplication"],description:"Only for FIFO Topic. Strategy for setting the messageDeduplicationId on the message. It can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message.",title:"Message Deduplication Id Strategy",required:!1,deprecated:!1},messageGroupIdStrategy:{kind:"parameter",type:"string",enum:["useConstant","useExchangeId","usePropertyValue"],description:"Only for FIFO Topic. Strategy for setting the messageGroupId on the message. It can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used.",title:"Message Group Id Strategy",required:!1,deprecated:!1},messageStructure:{kind:"parameter",type:"string",description:"The message structure to use such as json",title:"Message Structure",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},policy:{kind:"parameter",type:"string",description:"The policy for this topic. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Policy",required:!1,deprecated:!1},queueArn:{kind:"parameter",type:"string",description:"The ARN endpoint to subscribe to",title:"Queue Arn",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which the SNS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},serverSideEncryptionEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if Server Side Encryption is enabled or not on the topic",title:"Server Side Encryption Enabled",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The subject which is used if the message header 'CamelAwsSnsSubject' is not present.",title:"Subject",required:!1,deprecated:!1},subscribeSNStoSQS:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if the subscription between SNS Topic and SQS must be done or not",title:"Subscribe SNSto SQS",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonSNSClient:{kind:"parameter",type:"object",description:"To use the AmazonSNS as the client",title:"Amazon SNSClient",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the SNS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the SNS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the SNS client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SNS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SNS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SNS client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in SNS.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-sqs":{type:"object",title:"AWS Simple Queue Service (SQS)",group:"cloud,messaging",icon:"generic24.png",description:"Send and receive messages to/from AWS SQS.",properties:{queueNameOrArn:{kind:"path",type:"string",description:"Queue name or ARN",title:"Queue Name Or Arn",required:!0,deprecated:!1},amazonAWSHost:{kind:"parameter",type:"string",defaultValue:"amazonaws.com",description:"The hostname of the Amazon AWS cloud.",title:"Amazon AWSHost",required:!1,deprecated:!1},autoCreateQueue:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting the auto-creation of the queue",title:"Auto Create Queue",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to map headers to/from Camel.",title:"Header Filter Strategy",required:!1,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},protocol:{kind:"parameter",type:"string",defaultValue:"https",description:"The underlying protocol used to communicate with SQS",title:"Protocol",required:!1,deprecated:!1},queueOwnerAWSAccountId:{kind:"parameter",type:"string",description:"Specify the queue owner aws account id when you need to connect the queue with a different account owner.",title:"Queue Owner AWSAccount Id",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},attributeNames:{kind:"parameter",type:"string",description:"A list of attribute names to receive when consuming. Multiple names can be separated by comma.",title:"Attribute Names",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Allows you to use multiple threads to poll the sqs queue to increase throughput",title:"Concurrent Consumers",required:!1,deprecated:!1},defaultVisibilityTimeout:{kind:"parameter",type:"integer",description:"The default visibility timeout (in seconds)",title:"Default Visibility Timeout",required:!1,deprecated:!1},deleteAfterRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Delete message from SQS after it has been read",title:"Delete After Read",required:!1,deprecated:!1},deleteIfFiltered:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to send the DeleteMessage to the SQS queue if the exchange has property with key Sqs2Constants#SQS_DELETE_FILTERED (CamelAwsSqsDeleteFiltered) set to true.",title:"Delete If Filtered",required:!1,deprecated:!1},extendMessageVisibility:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled, then a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true defaultVisibilityTimeout must be set. See details at Amazon docs.",title:"Extend Message Visibility",required:!1,deprecated:!1},kmsDataKeyReusePeriodSeconds:{kind:"parameter",type:"integer",description:"The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes).",title:"Kms Data Key Reuse Period Seconds",required:!1,deprecated:!1},kmsMasterKeyId:{kind:"parameter",type:"string",description:"The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK.",title:"Kms Master Key Id",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Gets the maximum number of messages as a limit to poll at each polling. Is default unlimited, but use 0 or negative number to disable it as unlimited.",title:"Max Messages Per Poll",required:!1,deprecated:!1},messageAttributeNames:{kind:"parameter",type:"string",description:"A list of message attribute names to receive when consuming. Multiple names can be separated by comma.",title:"Message Attribute Names",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},serverSideEncryptionEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if Server Side Encryption is enabled or not on the queue",title:"Server Side Encryption Enabled",required:!1,deprecated:!1},visibilityTimeout:{kind:"parameter",type:"integer",description:"The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only makes sense if it's different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently.",title:"Visibility Timeout",required:!1,deprecated:!1},waitTimeSeconds:{kind:"parameter",type:"integer",description:"Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response.",title:"Wait Time Seconds",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},batchSeparator:{kind:"parameter",type:"string",defaultValue:",",description:"Set the separator when passing a String to send batch message operation",title:"Batch Separator",required:!1,deprecated:!1},delaySeconds:{kind:"parameter",type:"integer",description:"Delay sending messages for a number of seconds.",title:"Delay Seconds",required:!1,deprecated:!1},messageDeduplicationIdStrategy:{kind:"parameter",type:"string",defaultValue:"useExchangeId",enum:["useExchangeId","useContentBasedDeduplication"],description:"Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. It can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message.",title:"Message Deduplication Id Strategy",required:!1,deprecated:!1},messageGroupIdStrategy:{kind:"parameter",type:"string",enum:["useConstant","useExchangeId","usePropertyValue"],description:"Only for FIFO queues. Strategy for setting the messageGroupId on the message. It can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used.",title:"Message Group Id Strategy",required:!1,deprecated:!1},messageHeaderExceededLimit:{kind:"parameter",type:"string",defaultValue:"WARN",enum:["WARN","WARN_ONCE","IGNORE","FAIL"],description:"What to do if sending to AWS SQS has more messages than AWS allows (currently only maximum 10 message headers are allowed). WARN will log a WARN about the limit is for each additional header, so the message can be sent to AWS. WARN_ONCE will only log one time a WARN about the limit is hit, and drop additional headers, so the message can be sent to AWS. IGNORE will ignore (no logging) and drop additional headers, so the message can be sent to AWS. FAIL will cause an exception to be thrown and the message is not sent to AWS.",title:"Message Header Exceeded Limit",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["sendBatchMessage","deleteMessage","listQueues","purgeQueue","deleteQueue"],description:"The operation to do in case the user don't want to send only a message",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},amazonSQSClient:{kind:"parameter",type:"object",description:"To use the AmazonSQS client",title:"Amazon SQSClient",required:!1,deprecated:!1},delayQueue:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if you want to apply delaySeconds option to the queue or on single messages",title:"Delay Queue",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the SQS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the SQS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the SQS client",title:"Proxy Protocol",required:!1,deprecated:!1},maximumMessageSize:{kind:"parameter",type:"integer",description:"The maximumMessageSize (in bytes) an SQS message can contain for this queue.",title:"Maximum Message Size",required:!1,deprecated:!1},messageRetentionPeriod:{kind:"parameter",type:"integer",description:"The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue.",title:"Message Retention Period",required:!1,deprecated:!1},policy:{kind:"parameter",type:"string",description:"The policy for this queue. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Policy",required:!1,deprecated:!1},queueUrl:{kind:"parameter",type:"string",description:"To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is intended to be used to connect to a mock implementation of SQS, for testing purposes.",title:"Queue Url",required:!1,deprecated:!1},receiveMessageWaitTimeSeconds:{kind:"parameter",type:"integer",description:"If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait.",title:"Receive Message Wait Time Seconds",required:!1,deprecated:!1},redrivePolicy:{kind:"parameter",type:"string",description:"Specify the policy that send message to DeadLetter queue. See detail at Amazon docs.",title:"Redrive Policy",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SQS client should expect to load credentials on an AWS infra instance or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SQS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the SQS client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in SQS.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-step-functions":{type:"object",title:"AWS StepFunctions",group:"cloud,serverless",icon:"generic24.png",description:"Manage and invoke AWS Step functions.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["createStateMachine","deleteStateMachine","updateStateMachine","describeStateMachine","listStateMachines","createActivity","deleteActivity","describeActivity","getActivityTask","listActivities","startExecution","startSyncExecution","stopExecution","describeExecution","listExecutions","getExecutionHistory"],description:"The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which StepFunctions client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the StepFunctions client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the StepFunctions client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},awsSfnClient:{kind:"parameter",type:"object",description:"To use an existing configured AwsStepFunctionsClient client",title:"Aws Sfn Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the StepFunctions client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the StepFunctions client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the StepFunctions client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Step Functions client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in Step Functions.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"aws2-sts":{type:"object",title:"AWS Security Token Service (STS)",group:"cloud,management",icon:"generic24.png",description:"Manage AWS STS cluster instances.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"assumeRole",enum:["assumeRole","getSessionToken","getFederationToken"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",defaultValue:"aws-global",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which the STS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},stsClient:{kind:"parameter",type:"object",description:"To use an existing configured AWS STS client",title:"Sts Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the STS client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the STS client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the STS client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the STS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the STS client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1}}},"aws2-timestream":{type:"object",title:"AWS Timestream",group:"cloud,database",icon:"generic24.png",description:"Write records and execute queries on AWS time-series database",properties:{clientType:{kind:"path",type:"object",enum:["write","query"],description:"Type of client - write/query",title:"Client Type",required:!0,deprecated:!1},label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["describeEndpoints","createBatchLoadTask","describeBatchLoadTask","resumeBatchLoadTask","listBatchLoadTasks","createDatabase","deleteDatabase","describeDatabase","updateDatabase","listDatabases","createTable","deleteTable","describeTable","updateTable","listTables","writeRecords","createScheduledQuery","deleteScheduledQuery","executeScheduledQuery","updateScheduledQuery","describeScheduledQuery","listScheduledQueries","prepareQuery","query","cancelQuery"],description:"The operation to perform. It can be describeEndpoints,createBatchLoadTask,describeBatchLoadTask, resumeBatchLoadTask,listBatchLoadTasks,createDatabase,deleteDatabase,describeDatabase,updateDatabase, listDatabases,createTable,deleteTable,describeTable,updateTable,listTables,writeRecords, createScheduledQuery,deleteScheduledQuery,executeScheduledQuery,updateScheduledQuery, describeScheduledQuery,listScheduledQueries,prepareQuery,query,cancelQuery",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which the Timestream client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Timestream client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Timestream client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},awsTimestreamQueryClient:{kind:"parameter",type:"object",description:"To use an existing configured AwsTimestreamQueryClient client",title:"Aws Timestream Query Client",required:!1,deprecated:!1},awsTimestreamWriteClient:{kind:"parameter",type:"object",description:"To use an existing configured AwsTimestreamWriteClient client",title:"Aws Timestream Write Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Timestream client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Timestream client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Timestream client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1}}},"aws2-translate":{type:"object",title:"AWS Translate",group:"cloud,management",icon:"generic24.png",description:"Translate texts using AWS Translate and AWS SDK version 2.x.",properties:{label:{kind:"path",type:"string",description:"Logical name",title:"Label",required:!0,deprecated:!1},autodetectSourceLanguage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Being able to autodetect the source language",title:"Autodetect Source Language",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"translateText",enum:["translateText"],description:"The operation to perform",title:"Operation",required:!0,deprecated:!1},overrideEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the need for overriding the endpoint. This option needs to be used in combination with the uriEndpointOverride option",title:"Override Endpoint",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not",title:"Pojo Request",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",enum:["ap-south-2","ap-south-1","eu-south-1","eu-south-2","us-gov-east-1","me-central-1","il-central-1","ca-central-1","eu-central-1","us-iso-west-1","eu-central-2","us-west-1","us-west-2","af-south-1","eu-north-1","eu-west-3","eu-west-2","eu-west-1","ap-northeast-3","ap-northeast-2","ap-northeast-1","me-south-1","sa-east-1","ap-east-1","cn-north-1","us-gov-west-1","ap-southeast-1","ap-southeast-2","us-iso-east-1","ap-southeast-3","ap-southeast-4","us-east-1","us-east-2","cn-northwest-1","us-isob-east-1","aws-global","aws-cn-global","aws-us-gov-global","aws-iso-global","aws-iso-b-global"],description:"The region in which the Translate client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example, ap-east-1) You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},sourceLanguage:{kind:"parameter",type:"string",description:"Source language to use",title:"Source Language",required:!1,deprecated:!1},targetLanguage:{kind:"parameter",type:"string",description:"Target language to use",title:"Target Language",required:!1,deprecated:!1},uriEndpointOverride:{kind:"parameter",type:"string",description:"Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option",title:"Uri Endpoint Override",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},translateClient:{kind:"parameter",type:"object",description:"To use an existing configured AWS Translate client",title:"Translate Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"To define a proxy host when instantiating the Translate client",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"To define a proxy port when instantiating the Translate client",title:"Proxy Port",required:!1,deprecated:!1},proxyProtocol:{kind:"parameter",type:"object",defaultValue:"HTTPS",enum:["HTTP","HTTPS"],description:"To define a proxy protocol when instantiating the Translate client",title:"Proxy Protocol",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key",title:"Access Key",required:!1,deprecated:!1},profileCredentialsName:{kind:"parameter",type:"string",description:"If using a profile credentials provider, this parameter will set the profile name",title:"Profile Credentials Name",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Key",title:"Secret Key",required:!1,deprecated:!1},sessionToken:{kind:"parameter",type:"string",description:"Amazon AWS Session Token used when the user needs to assume an IAM role",title:"Session Token",required:!1,deprecated:!1},trustAllCertificates:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to trust all certificates in case of overriding the endpoint",title:"Trust All Certificates",required:!1,deprecated:!1},useDefaultCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Translate client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in.",title:"Use Default Credentials Provider",required:!1,deprecated:!1},useProfileCredentialsProvider:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Translate client should expect to load credentials through a profile credentials provider.",title:"Use Profile Credentials Provider",required:!1,deprecated:!1},useSessionCredentials:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether the Translate client should expect to use Session Credentials. This is useful in a situation in which the user needs to assume an IAM role for doing operations in Translate.",title:"Use Session Credentials",required:!1,deprecated:!1}}},"azure-cosmosdb":{type:"object",title:"Azure CosmosDB",group:"cloud,database",icon:"generic24.png",description:"To read and write records to the CosmosDB database on Azure cloud platform.",properties:{databaseName:{kind:"path",type:"string",description:"The name of the Cosmos database that component should connect to. In case you are producing data and have createDatabaseIfNotExists=true, the component will automatically auto create a Cosmos database.",title:"Database Name",required:!1,deprecated:!1},containerName:{kind:"path",type:"string",description:"The name of the Cosmos container that component should connect to. In case you are producing data and have createContainerIfNotExists=true, the component will automatically auto create a Cosmos container.",title:"Container Name",required:!1,deprecated:!1},clientTelemetryEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the flag to enable client telemetry which will periodically collect database operations aggregation statistics, system information like cpu/memory and send it to cosmos monitoring service, which will be helpful during debugging. DEFAULT value is false indicating this is opt in feature, by default no telemetry collection.",title:"Client Telemetry Enabled",required:!1,deprecated:!1},connectionSharingAcrossClientsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables connections sharing across multiple Cosmos Clients. The default is false. When you have multiple instances of Cosmos Client in the same JVM interacting to multiple Cosmos accounts, enabling this allows connection sharing in Direct mode if possible between instances of Cosmos Client. Please note, when setting this option, the connection configuration (e.g., socket timeout config, idle timeout config) of the first instantiated client will be used for all other client instances.",title:"Connection Sharing Across Clients Enabled",required:!1,deprecated:!1},consistencyLevel:{kind:"parameter",type:"object",defaultValue:"SESSION",enum:["Strong","BoundedStaleness","Session","Eventual","ConsistentPrefix"],description:"Sets the consistency levels supported for Azure Cosmos DB client operations in the Azure Cosmos DB service. The requested ConsistencyLevel must match or be weaker than that provisioned for the database account. Consistency levels by order of strength are STRONG, BOUNDED_STALENESS, SESSION and EVENTUAL. Refer to consistency level documentation for additional details: https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels",title:"Consistency Level",required:!1,deprecated:!1},containerPartitionKeyPath:{kind:"parameter",type:"string",description:"Sets the container partition key path.",title:"Container Partition Key Path",required:!1,deprecated:!1},contentResponseOnWriteEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets the boolean to only return the headers and status code in Cosmos DB response in case of Create, Update and Delete operations on CosmosItem. In Consumer, it is enabled by default because of the ChangeFeed in the consumer that needs this flag to be enabled and thus is shouldn't be overridden. In Producer, it advised to disable it since it reduces the network overhead",title:"Content Response On Write Enabled",required:!1,deprecated:!1},cosmosAsyncClient:{kind:"parameter",type:"object",description:"Inject an external CosmosAsyncClient into the component which provides a client-side logical representation of the Azure Cosmos DB service. This asynchronous client is used to configure and execute requests against the service.",title:"Cosmos Async Client",required:!1,deprecated:!1},createContainerIfNotExists:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets if the component should create Cosmos container automatically in case it doesn't exist in Cosmos database",title:"Create Container If Not Exists",required:!1,deprecated:!1},createDatabaseIfNotExists:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets if the component should create Cosmos database automatically in case it doesn't exist in Cosmos account",title:"Create Database If Not Exists",required:!1,deprecated:!1},databaseEndpoint:{kind:"parameter",type:"string",description:"Sets the Azure Cosmos database endpoint the component will connect to.",title:"Database Endpoint",required:!0,deprecated:!1},multipleWriteRegionsEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets the flag to enable writes on any regions for geo-replicated database accounts in the Azure Cosmos DB service. When the value of this property is true, the SDK will direct write operations to available writable regions of geo-replicated database account. Writable regions are ordered by PreferredRegions property. Setting the property value to true has no effect until EnableMultipleWriteRegions in DatabaseAccount is also set to true. DEFAULT value is true indicating that writes are directed to available writable regions of geo-replicated database account.",title:"Multiple Write Regions Enabled",required:!1,deprecated:!1},preferredRegions:{kind:"parameter",type:"string",description:"Sets the comma separated preferred regions for geo-replicated database accounts. For example, East US as the preferred region. When EnableEndpointDiscovery is true and PreferredRegions is non-empty, the SDK will prefer to use the regions in the container in the order they are specified to perform operations.",title:"Preferred Regions",required:!1,deprecated:!1},readRequestsFallbackEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to allow for reads to go to multiple regions configured on an account of Azure Cosmos DB service. DEFAULT value is true. If this property is not set, the default is true for all Consistency Levels other than Bounded Staleness, The default is false for Bounded Staleness. 1. endpointDiscoveryEnabled is true 2. the Azure Cosmos DB account has more than one region",title:"Read Requests Fallback Enabled",required:!1,deprecated:!1},throughputProperties:{kind:"parameter",type:"object",description:"Sets throughput of the resources in the Azure Cosmos DB service.",title:"Throughput Properties",required:!1,deprecated:!1},changeFeedProcessorOptions:{kind:"parameter",type:"object",description:"Sets the ChangeFeedProcessorOptions to be used. Unless specifically set the default values that will be used are: maximum items per page or FeedResponse: 100 lease renew interval: 17 seconds lease acquire interval: 13 seconds lease expiration interval: 60 seconds feed poll delay: 5 seconds maximum scale count: unlimited",title:"Change Feed Processor Options",required:!1,deprecated:!1},createLeaseContainerIfNotExists:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets if the component should create Cosmos lease container for the consumer automatically in case it doesn't exist in Cosmos database",title:"Create Lease Container If Not Exists",required:!1,deprecated:!1},createLeaseDatabaseIfNotExists:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets if the component should create Cosmos lease database for the consumer automatically in case it doesn't exist in Cosmos account",title:"Create Lease Database If Not Exists",required:!1,deprecated:!1},hostName:{kind:"parameter",type:"string",description:"Sets the hostname. The host: a host is an application instance that uses the change feed processor to listen for changes. Multiple instances with the same lease configuration can run in parallel, but each instance should have a different instance name. If not specified, this will be a generated random hostname.",title:"Host Name",required:!1,deprecated:!1},leaseContainerName:{kind:"parameter",type:"string",defaultValue:"camel-lease",description:"Sets the lease container which acts as a state storage and coordinates processing the change feed across multiple workers. The lease container can be stored in the same account as the monitored container or in a separate account. It will be auto created if createLeaseContainerIfNotExists is set to true.",title:"Lease Container Name",required:!1,deprecated:!1},leaseDatabaseName:{kind:"parameter",type:"string",description:"Sets the lease database where the leaseContainerName will be stored. If it is not specified, this component will store the lease container in the same database that is specified in databaseName. It will be auto created if createLeaseDatabaseIfNotExists is set to true.",title:"Lease Database Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},itemId:{kind:"parameter",type:"string",description:"Sets the itemId in case needed for operation on item like delete, replace",title:"Item Id",required:!1,deprecated:!1},itemPartitionKey:{kind:"parameter",type:"string",description:"Sets partition key. Represents a partition key value in the Azure Cosmos DB database service. A partition key identifies the partition where the item is stored in.",title:"Item Partition Key",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"listDatabases",enum:["listDatabases","createDatabase","queryDatabases","deleteDatabase","createContainer","replaceDatabaseThroughput","listContainers","queryContainers","deleteContainer","replaceContainerThroughput","createItem","upsertItem","deleteItem","replaceItem","readItem","readAllItems","queryItems"],description:"The CosmosDB operation that can be used with this component on the producer.",title:"Operation",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"An SQL query to execute on a given resources. To learn more about Cosmos SQL API, check this link {link https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-getting-started}",title:"Query",required:!1,deprecated:!1},queryRequestOptions:{kind:"parameter",type:"object",description:"Set additional QueryRequestOptions that can be used with queryItems, queryContainers, queryDatabases, listDatabases, listItems, listContainers operations",title:"Query Request Options",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},indexingPolicy:{kind:"parameter",type:"object",description:"The CosmosDB Indexing Policy that will be set in case of container creation, this option is related to createLeaseContainerIfNotExists and it will be taken into account when the latter is true.",title:"Indexing Policy",required:!1,deprecated:!1},accountKey:{kind:"parameter",type:"string",description:"Sets either a master or readonly key used to perform authentication for accessing resource.",title:"Account Key",required:!1,deprecated:!1},credentialType:{kind:"parameter",type:"object",defaultValue:"SHARED_ACCOUNT_KEY",enum:["SHARED_ACCOUNT_KEY","AZURE_IDENTITY"],description:"Determines the credential strategy to adopt",title:"Credential Type",required:!1,deprecated:!1}}},"azure-eventhubs":{type:"object",title:"Azure Event Hubs",group:"cloud,messaging",icon:"generic24.png",description:"Send and receive events to/from Azure Event Hubs using AMQP protocol.",properties:{namespace:{kind:"path",type:"string",description:"EventHubs namespace created in Azure Portal.",title:"Namespace",required:!1,deprecated:!1},eventHubName:{kind:"path",type:"string",description:"EventHubs name under a specific namespace.",title:"Event Hub Name",required:!1,deprecated:!1},amqpRetryOptions:{kind:"parameter",type:"object",description:"Sets the retry policy for EventHubAsyncClient. If not specified, the default retry options are used.",title:"Amqp Retry Options",required:!1,deprecated:!1},amqpTransportType:{kind:"parameter",type:"object",defaultValue:"AMQP",enum:["Amqp","AmqpWebSockets"],description:"Sets the transport type by which all the communication with Azure Event Hubs occurs. Default value is AmqpTransportType#AMQP.",title:"Amqp Transport Type",required:!1,deprecated:!1},blobAccessKey:{kind:"parameter",type:"string",description:"In case you chose the default BlobCheckpointStore, this sets access key for the associated azure account name to be used for authentication with azure blob services.",title:"Blob Access Key",required:!1,deprecated:!1},blobAccountName:{kind:"parameter",type:"string",description:"In case you chose the default BlobCheckpointStore, this sets Azure account name to be used for authentication with azure blob services.",title:"Blob Account Name",required:!1,deprecated:!1},blobContainerName:{kind:"parameter",type:"string",description:"In case you chose the default BlobCheckpointStore, this sets the blob container that shall be used by the BlobCheckpointStore to store the checkpoint offsets.",title:"Blob Container Name",required:!1,deprecated:!1},blobStorageSharedKeyCredential:{kind:"parameter",type:"object",description:"In case you chose the default BlobCheckpointStore, StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information.",title:"Blob Storage Shared Key Credential",required:!1,deprecated:!1},checkpointBatchSize:{kind:"parameter",type:"integer",defaultValue:"500",description:"Sets the batch size between each checkpoint updates. Works jointly with checkpointBatchTimeout.",title:"Checkpoint Batch Size",required:!1,deprecated:!1},checkpointBatchTimeout:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Sets the batch timeout between each checkpoint updates. Works jointly with checkpointBatchSize.",title:"Checkpoint Batch Timeout",required:!1,deprecated:!1},checkpointStore:{kind:"parameter",type:"object",defaultValue:"BlobCheckpointStore",description:"Sets the CheckpointStore the EventProcessorClient will use for storing partition ownership and checkpoint information. Users can, optionally, provide their own implementation of CheckpointStore which will store ownership and checkpoint information. By default it set to use com.azure.messaging.eventhubs.checkpointstore.blob.BlobCheckpointStore which stores all checkpoint offsets into Azure Blob Storage.",title:"Checkpoint Store",required:!1,deprecated:!1},consumerGroupName:{kind:"parameter",type:"string",defaultValue:"$Default",description:"Sets the name of the consumer group this consumer is associated with. Events are read in the context of this group. The name of the consumer group that is created by default is {code $Default}.",title:"Consumer Group Name",required:!1,deprecated:!1},eventPosition:{kind:"parameter",type:"object",description:"Sets the map containing the event position to use for each partition if a checkpoint for the partition does not exist in CheckpointStore. This map is keyed off of the partition id. If there is no checkpoint in CheckpointStore and there is no entry in this map, the processing of the partition will start from {link EventPosition#latest() latest} position.",title:"Event Position",required:!1,deprecated:!1},prefetchCount:{kind:"parameter",type:"integer",defaultValue:"500",description:"Sets the count used by the receiver to control the number of events the Event Hub consumer will actively receive and queue locally without regard to whether a receive operation is currently active.",title:"Prefetch Count",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},partitionId:{kind:"parameter",type:"string",description:"Sets the identifier of the Event Hub partition that the events will be sent to. If the identifier is not specified, the Event Hubs service will be responsible for routing events that are sent to an available partition.",title:"Partition Id",required:!1,deprecated:!1},partitionKey:{kind:"parameter",type:"string",description:"Sets a hashing key to be provided for the batch of events, which instructs the Event Hubs service to map this key to a specific partition. The selection of a partition is stable for a given partition hashing key. Should any other batches of events be sent using the same exact partition hashing key, the Event Hubs service will route them all to the same partition. This should be specified only when there is a need to group events by partition, but there is flexibility into which partition they are routed. If ensuring that a batch of events is sent only to a specific partition, it is recommended that the {link #setPartitionId(String) identifier of the position be specified directly} when sending the batch.",title:"Partition Key",required:!1,deprecated:!1},producerAsyncClient:{kind:"parameter",type:"object",description:"Sets the EventHubProducerAsyncClient.An asynchronous producer responsible for transmitting EventData to a specific Event Hub, grouped together in batches. Depending on the options specified when creating an {linkEventDataBatch}, the events may be automatically routed to an available partition or specific to a partition. Use by this component to produce the data in camel producer.",title:"Producer Async Client",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionString:{kind:"parameter",type:"string",description:"Instead of supplying namespace, sharedAccessKey, sharedAccessName ... etc, you can just supply the connection string for your eventHub. The connection string for EventHubs already include all the necessary information to connection to your EventHub. To learn on how to generate the connection string, take a look at this documentation: https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-get-connection-string",title:"Connection String",required:!1,deprecated:!1},credentialType:{kind:"parameter",type:"object",defaultValue:"CONNECTION_STRING",enum:["AZURE_IDENTITY","CONNECTION_STRING","TOKEN_CREDENTIAL"],description:"Determines the credential strategy to adopt",title:"Credential Type",required:!1,deprecated:!1},sharedAccessKey:{kind:"parameter",type:"string",description:"The generated value for the SharedAccessName.",title:"Shared Access Key",required:!1,deprecated:!1},sharedAccessName:{kind:"parameter",type:"string",description:"The name you chose for your EventHubs SAS keys.",title:"Shared Access Name",required:!1,deprecated:!1},tokenCredential:{kind:"parameter",type:"object",description:"Still another way of authentication (beside supplying namespace, sharedAccessKey, sharedAccessName or connection string) is through Azure-AD authentication using an implementation instance of TokenCredential.",title:"Token Credential",required:!1,deprecated:!1}}},"azure-files":{type:"object",title:"Azure Files",group:"cloud,file",icon:"generic24.png",description:"Send and receive files to Azure storage file share",properties:{account:{kind:"path",type:"string",description:"The account to use",title:"Account",required:!0,deprecated:!1},share:{kind:"path",type:"string",description:"The share to use",title:"Share",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port of the FTP server",title:"Port",required:!1,deprecated:!1},directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!1,deprecated:!1},credentialType:{kind:"parameter",type:"object",defaultValue:"SHARED_ACCOUNT_KEY",enum:["SHARED_ACCOUNT_KEY","SHARED_KEY_CREDENTIAL","AZURE_IDENTITY","AZURE_SAS"],description:"Determines the credential strategy to adopt",title:"Credential Type",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.",title:"Disconnect",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},sharedKey:{kind:"parameter",type:"string",description:"Shared key (storage account key)",title:"Shared Key",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file will be deleted after it is processed successfully.",title:"Delete",required:!1,deprecated:!1},moveFailed:{kind:"parameter",type:"string",description:"Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",title:"Move Failed",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",title:"Noop",required:!1,deprecated:!1},preMove:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",title:"Pre Move",required:!1,deprecated:!1},preSort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",title:"Pre Sort",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If a directory, will look for files in all the sub-directories as well.",title:"Recursive",required:!1,deprecated:!1},resumeDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether resume download is enabled. In addition the options localWorkDirectory must be configured so downloaded files are stored in a local directory, which is required to support resuming of downloads.",title:"Resume Download",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time.",title:"Stream Download",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},download:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded.",title:"Download",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},inProgressRepository:{kind:"parameter",type:"object",description:"A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",title:"In Progress Repository",required:!1,deprecated:!1},localWorkDirectory:{kind:"parameter",type:"string",description:"When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",title:"Local Work Directory",required:!1,deprecated:!1},onCompletionExceptionHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",title:"On Completion Exception Handler",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",title:"Process Strategy",required:!1,deprecated:!1},checksumFileAlgorithm:{kind:"parameter",type:"string",enum:["MD2","MD5","SHA_1","SHA_224","SHA_256","SHA_384","SHA_512","SHA_512_224","SHA_512_256","SHA3_224","SHA3_256","SHA3_384","SHA3_512"],description:"If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The checksum file will always be written in the same folder as the original file.",title:"Checksum File Algorithm",required:!1,deprecated:!1},fileExist:{kind:"parameter",type:"object",defaultValue:"Override",enum:["Override","Append","Fail","Ignore","Move","TryRename"],description:"What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. The option eagerDeleteTargetFile can be used to control what to do if an moving the file, and there exists already an existing file, otherwise causing the move operation to fail. The Move option will move any existing files, before writing the target file. - TryRename is only applicable if tempFileName option is in use. This allows to try renaming the file from the temporary name to the actual name, without doing any exists check. This check may be faster on some file systems and especially FTP servers.",title:"File Exist",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},tempFileName:{kind:"parameter",type:"string",description:"The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the option 'fileName', not the target directory in the base uri. For example if option fileName includes a directory prefix: dir/finalFilename then tempFileName is relative to that subdirectory dir.",title:"Temp File Name",required:!1,deprecated:!1},tempPrefix:{kind:"parameter",type:"string",description:"This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read locks) reading in progress files. Is often used by FTP when uploading big files.",title:"Temp Prefix",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},disconnectOnBatchComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.",title:"Disconnect On Batch Complete",required:!1,deprecated:!1},eagerDeleteTargetFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before the temp file is being renamed to the target filename. This option is also used to control whether to delete any existing files when fileExist=Move is enabled, and an existing file exists. If this option copyAndDeleteOnRenameFails false, then an exception will be thrown if an existing file existed, if its true, then the existing file is deleted before the move operation.",title:"Eager Delete Target File",required:!1,deprecated:!1},keepLastModified:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers.",title:"Keep Last Modified",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",title:"Auto Create",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH",title:"Connect Timeout",required:!1,deprecated:!1},maximumReconnectAttempts:{kind:"parameter",type:"integer",description:"Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.",title:"Maximum Reconnect Attempts",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Delay in millis Camel will wait before performing a reconnect attempt.",title:"Reconnect Delay",required:!1,deprecated:!1},throwExceptionOnConnectFailed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should an exception be thrown if connection failed (exhausted)By default exception is not thrown and a WARN is logged. You can use this to enable exception being thrown and handle the thrown exception from the org.apache.camel.spi.PollingConsumerPollStrategy rollback method.",title:"Throw Exception On Connect Failed",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Sets the data timeout for waiting for reply Used only by FTPClient",title:"Timeout",required:!1,deprecated:!1},antExclude:{kind:"parameter",type:"string",description:"Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",title:"Ant Exclude",required:!1,deprecated:!1},antFilterCaseSensitive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets case sensitive flag on ant filter.",title:"Ant Filter Case Sensitive",required:!1,deprecated:!1},antInclude:{kind:"parameter",type:"string",description:"Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",title:"Ant Include",required:!1,deprecated:!1},eagerMaxMessagesPerPoll:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",title:"Eager Max Messages Per Poll",required:!1,deprecated:!1},exclude:{kind:"parameter",type:"string",description:"Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Exclude",required:!1,deprecated:!1},excludeExt:{kind:"parameter",type:"string",description:"Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Exclude Ext",required:!1,deprecated:!1},filter:{kind:"parameter",type:"object",description:"Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",title:"Filter",required:!1,deprecated:!1},filterDirectory:{kind:"parameter",type:"string",description:"Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",title:"Filter Directory",required:!1,deprecated:!1},filterFile:{kind:"parameter",type:"string",description:"Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",title:"Filter File",required:!1,deprecated:!1},idempotent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",title:"Idempotent",required:!1,deprecated:!1},idempotentKey:{kind:"parameter",type:"string",description:"To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",title:"Idempotent Key",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",title:"Idempotent Repository",required:!1,deprecated:!1},include:{kind:"parameter",type:"string",description:"Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Include",required:!1,deprecated:!1},includeExt:{kind:"parameter",type:"string",description:"Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Include Ext",required:!1,deprecated:!1},maxDepth:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum depth to traverse when recursively processing a directory.",title:"Max Depth",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",title:"Max Messages Per Poll",required:!1,deprecated:!1},minDepth:{kind:"parameter",type:"integer",description:"The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",title:"Min Depth",required:!1,deprecated:!1},move:{kind:"parameter",type:"string",description:"Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",title:"Move",required:!1,deprecated:!1},exclusiveReadLockStrategy:{kind:"parameter",type:"object",description:"Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",title:"Exclusive Read Lock Strategy",required:!1,deprecated:!1},readLock:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","markerFile","fileLock","rename","changed","idempotent","idempotent-changed","idempotent-rename"],description:"Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan.",title:"Read Lock",required:!1,deprecated:!1},readLockCheckInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that ample time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Check Interval",required:!1,deprecated:!1},readLockDeleteOrphanLockFiles:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",title:"Read Lock Delete Orphan Lock Files",required:!1,deprecated:!1},readLockLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename.",title:"Read Lock Logging Level",required:!1,deprecated:!1},readLockMarkerFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",title:"Read Lock Marker File",required:!1,deprecated:!1},readLockMinAge:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",title:"Read Lock Min Age",required:!1,deprecated:!1},readLockMinLength:{kind:"parameter",type:"integer",defaultValue:"1",description:"This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",title:"Read Lock Min Length",required:!1,deprecated:!1},readLockRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Remove On Commit",required:!1,deprecated:!1},readLockRemoveOnRollback:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",title:"Read Lock Remove On Rollback",required:!1,deprecated:!1},readLockTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that ample time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},sdd:{kind:"parameter",type:"string",description:"part of service SAS token",title:"Sdd",required:!1,deprecated:!1},se:{kind:"parameter",type:"string",description:"part of SAS token",title:"Se",required:!1,deprecated:!1},si:{kind:"parameter",type:"string",description:"part of service SAS token",title:"Si",required:!1,deprecated:!1},sig:{kind:"parameter",type:"string",description:"part of SAS token",title:"Sig",required:!1,deprecated:!1},sip:{kind:"parameter",type:"string",description:"part of SAS token",title:"Sip",required:!1,deprecated:!1},sp:{kind:"parameter",type:"string",description:"part of SAS token",title:"Sp",required:!1,deprecated:!1},spr:{kind:"parameter",type:"string",description:"part of SAS token",title:"Spr",required:!1,deprecated:!1},sr:{kind:"parameter",type:"string",description:"part of service SAS token",title:"Sr",required:!1,deprecated:!1},srt:{kind:"parameter",type:"string",description:"part of SAS token",title:"Srt",required:!1,deprecated:!1},ss:{kind:"parameter",type:"string",description:"part of account SAS token",title:"Ss",required:!1,deprecated:!1},st:{kind:"parameter",type:"string",description:"part of SAS token",title:"St",required:!1,deprecated:!1},sv:{kind:"parameter",type:"string",description:"part of SAS token",title:"Sv",required:!1,deprecated:!1},shuffle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To shuffle the list of files (sort in random order)",title:"Shuffle",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",description:"Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",title:"Sort By",required:!1,deprecated:!1},sorter:{kind:"parameter",type:"object",description:"Pluggable sorter as a java.util.Comparator class.",title:"Sorter",required:!1,deprecated:!1}}},"azure-key-vault":{type:"object",title:"Azure Key Vault",group:"cloud,cloud",icon:"generic24.png",description:"Manage secrets and keys in Azure Key Vault Service",properties:{vaultName:{kind:"path",type:"string",description:"Vault Name to be used",title:"Vault Name",required:!1,deprecated:!1},credentialType:{kind:"parameter",type:"object",defaultValue:"CLIENT_SECRET",enum:["CLIENT_SECRET","AZURE_IDENTITY"],description:"Determines the credential strategy to adopt",title:"Credential Type",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["createSecret","getSecret","deleteSecret","purgeDeletedSecret"],description:"Operation to be performed",title:"Operation",required:!1,deprecated:!1},secretClient:{kind:"parameter",type:"object",description:"Instance of Secret client",title:"Secret Client",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client Id to be used",title:"Client Id",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client Secret to be used",title:"Client Secret",required:!1,deprecated:!1},tenantId:{kind:"parameter",type:"string",description:"Tenant Id to be used",title:"Tenant Id",required:!1,deprecated:!1}}},"azure-servicebus":{type:"object",title:"Azure ServiceBus",group:"cloud,messaging",icon:"generic24.png",description:"Send and receive messages to/from Azure Service Bus.",properties:{topicOrQueueName:{kind:"path",type:"string",description:"Selected topic name or the queue name, that is depending on serviceBusType config. For example if serviceBusType=queue, then this will be the queue name and if serviceBusType=topic, this will be the topic name.",title:"Topic Or Queue Name",required:!1,deprecated:!1},amqpRetryOptions:{kind:"parameter",type:"object",description:"Sets the retry options for Service Bus clients. If not specified, the default retry options are used.",title:"Amqp Retry Options",required:!1,deprecated:!1},amqpTransportType:{kind:"parameter",type:"object",defaultValue:"AMQP",enum:["Amqp","AmqpWebSockets"],description:"Sets the transport type by which all the communication with Azure Service Bus occurs. Default value is AMQP.",title:"Amqp Transport Type",required:!1,deprecated:!1},clientOptions:{kind:"parameter",type:"object",description:"Sets the ClientOptions to be sent from the client built from this builder, enabling customization of certain properties, as well as support the addition of custom header information.",title:"Client Options",required:!1,deprecated:!1},proxyOptions:{kind:"parameter",type:"object",description:"Sets the proxy configuration to use for ServiceBusSenderAsyncClient. When a proxy is configured, AMQP_WEB_SOCKETS must be used for the transport type.",title:"Proxy Options",required:!1,deprecated:!1},serviceBusType:{kind:"parameter",type:"object",defaultValue:"queue",enum:["queue","topic"],description:"The service bus type of connection to execute. Queue is for typical queue option and topic for subscription based model.",title:"Service Bus Type",required:!0,deprecated:!1},consumerOperation:{kind:"parameter",type:"object",defaultValue:"receiveMessages",enum:["receiveMessages","peekMessages"],description:"Sets the desired operation to be used in the consumer",title:"Consumer Operation",required:!1,deprecated:!1},disableAutoComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Disables auto-complete and auto-abandon of received messages. By default, a successfully processed message is completed. If an error happens when the message is abandoned.",title:"Disable Auto Complete",required:!1,deprecated:!1},maxAutoLockRenewDuration:{kind:"parameter",type:"object",defaultValue:"5m",description:"Sets the amount of time to continue auto-renewing the lock. Setting ZERO disables auto-renewal. For ServiceBus receive mode (RECEIVE_AND_DELETE RECEIVE_AND_DELETE), auto-renewal is disabled.",title:"Max Auto Lock Renew Duration",required:!1,deprecated:!1},peekNumMaxMessages:{kind:"parameter",type:"integer",description:"Set the max number of messages to be peeked during the peek operation.",title:"Peek Num Max Messages",required:!1,deprecated:!1},prefetchCount:{kind:"parameter",type:"integer",description:"Sets the prefetch count of the receiver. For both PEEK_LOCK PEEK_LOCK and RECEIVE_AND_DELETE RECEIVE_AND_DELETE receive modes the default value is 1. Prefetch speeds up the message flow by aiming to have a message readily available for local retrieval when and before the application asks for one using receive message. Setting a non-zero value will prefetch that number of messages. Setting the value to zero turns prefetch off.",title:"Prefetch Count",required:!1,deprecated:!1},receiverAsyncClient:{kind:"parameter",type:"object",description:"Sets the receiverAsyncClient in order to consume messages by the consumer",title:"Receiver Async Client",required:!1,deprecated:!1},serviceBusReceiveMode:{kind:"parameter",type:"object",defaultValue:"PEEK_LOCK",enum:["PEEK_LOCK","RECEIVE_AND_DELETE"],description:"Sets the receive mode for the receiver.",title:"Service Bus Receive Mode",required:!1,deprecated:!1},subQueue:{kind:"parameter",type:"object",enum:["NONE","DEAD_LETTER_QUEUE","TRANSFER_DEAD_LETTER_QUEUE"],description:"Sets the type of the SubQueue to connect to.",title:"Sub Queue",required:!1,deprecated:!1},subscriptionName:{kind:"parameter",type:"string",description:"Sets the name of the subscription in the topic to listen to. topicOrQueueName and serviceBusType=topic must also be set. This property is required if serviceBusType=topic and the consumer is in use.",title:"Subscription Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"integer",defaultValue:"5000",description:"If the consumer has connection failure to Azure ServiceBus, then delay (millis) some time before re-connecting.",title:"Reconnect Delay",required:!1,deprecated:!1},binary:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set binary mode. If true, message body will be sent as byte. By default, it is false.",title:"Binary",required:!1,deprecated:!1},producerOperation:{kind:"parameter",type:"object",defaultValue:"sendMessages",enum:["sendMessages","scheduleMessages"],description:"Sets the desired operation to be used in the producer",title:"Producer Operation",required:!1,deprecated:!1},scheduledEnqueueTime:{kind:"parameter",type:"object",description:"Sets OffsetDateTime at which the message should appear in the Service Bus queue or topic.",title:"Scheduled Enqueue Time",required:!1,deprecated:!1},senderAsyncClient:{kind:"parameter",type:"object",description:"Sets SenderAsyncClient to be used in the producer.",title:"Sender Async Client",required:!1,deprecated:!1},serviceBusTransactionContext:{kind:"parameter",type:"object",description:"Represents transaction in service. This object just contains transaction id.",title:"Service Bus Transaction Context",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionString:{kind:"parameter",type:"string",description:"Sets the connection string for a Service Bus namespace or a specific Service Bus resource.",title:"Connection String",required:!1,deprecated:!1},credentialType:{kind:"parameter",type:"object",defaultValue:"CONNECTION_STRING",enum:["AZURE_IDENTITY","CONNECTION_STRING","TOKEN_CREDENTIAL"],description:"Determines the credential strategy to adopt",title:"Credential Type",required:!1,deprecated:!1},fullyQualifiedNamespace:{kind:"parameter",type:"string",description:"Fully Qualified Namespace of the service bus",title:"Fully Qualified Namespace",required:!1,deprecated:!1},tokenCredential:{kind:"parameter",type:"object",description:"A TokenCredential for Azure AD authentication.",title:"Token Credential",required:!1,deprecated:!1}}},"azure-storage-blob":{type:"object",title:"Azure Storage Blob Service",group:"cloud,file",icon:"generic24.png",description:"Store and retrieve blobs from Azure Storage Blob Service.",properties:{accountName:{kind:"path",type:"string",description:"Azure account name to be used for authentication with azure blob services",title:"Account Name",required:!1,deprecated:!1},containerName:{kind:"path",type:"string",description:"The blob container name",title:"Container Name",required:!1,deprecated:!1},blobName:{kind:"parameter",type:"string",description:"The blob name, to consume specific blob from a container. However, on producer it is only required for the operations on the blob level",title:"Blob Name",required:!1,deprecated:!1},blobOffset:{kind:"parameter",type:"integer",defaultValue:"0",description:"Set the blob offset for the upload or download operations, default is 0",title:"Blob Offset",required:!1,deprecated:!1},blobServiceClient:{kind:"parameter",type:"object",description:"Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are available on BlobClient through getBlobContainerClient(String).getBlobClient(String).",title:"Blob Service Client",required:!1,deprecated:!1},blobType:{kind:"parameter",type:"object",defaultValue:"blockblob",enum:["blockblob","appendblob","pageblob"],description:"The blob type in order to initiate the appropriate settings for each blob type",title:"Blob Type",required:!1,deprecated:!1},closeStreamAfterRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Close the stream after read or keep it open, default is true",title:"Close Stream After Read",required:!1,deprecated:!1},credentials:{kind:"parameter",type:"object",description:"StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information",title:"Credentials",required:!1,deprecated:!1},credentialType:{kind:"parameter",type:"object",defaultValue:"AZURE_IDENTITY",enum:["SHARED_ACCOUNT_KEY","SHARED_KEY_CREDENTIAL","AZURE_IDENTITY","AZURE_SAS"],description:"Determines the credential strategy to adopt",title:"Credential Type",required:!1,deprecated:!1},dataCount:{kind:"parameter",type:"integer",description:"How many bytes to include in the range. Must be greater than or equal to 0 if specified.",title:"Data Count",required:!1,deprecated:!1},fileDir:{kind:"parameter",type:"string",description:"The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer",title:"File Dir",required:!1,deprecated:!1},maxResultsPerPage:{kind:"parameter",type:"integer",description:"Specifies the maximum number of blobs to return, including all BlobPrefix elements. If the request does not specify maxResultsPerPage or specifies a value greater than 5,000, the server will return up to 5,000 items.",title:"Max Results Per Page",required:!1,deprecated:!1},maxRetryRequests:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body.",title:"Max Retry Requests",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"string",description:"Filters the results to return only blobs whose names begin with the specified prefix. May be null to return all blobs.",title:"Prefix",required:!1,deprecated:!1},regex:{kind:"parameter",type:"string",description:"Filters the results to return only blobs whose names match the specified regular expression. May be null to return all if both prefix and regex are set, regex takes the priority and prefix is ignored.",title:"Regex",required:!1,deprecated:!1},sasToken:{kind:"parameter",type:"string",description:"In case of usage of Shared Access Signature we'll need to set a SAS Token",title:"Sas Token",required:!1,deprecated:!1},serviceClient:{kind:"parameter",type:"object",description:"Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through BlobServiceClient#getBlobContainerClient(String), and operations on a blob are available on BlobClient through BlobContainerClient#getBlobClient(String).",title:"Service Client",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"object",description:"An optional timeout value beyond which a RuntimeException will be raised.",title:"Timeout",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},blobSequenceNumber:{kind:"parameter",type:"integer",defaultValue:"0",description:"A user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 263 - 1.The default value is 0.",title:"Blob Sequence Number",required:!1,deprecated:!1},blockListType:{kind:"parameter",type:"object",defaultValue:"COMMITTED",enum:["committed","uncommitted","all"],description:"Specifies which type of blocks to return.",title:"Block List Type",required:!1,deprecated:!1},changeFeedContext:{kind:"parameter",type:"object",description:"When using getChangeFeed producer operation, this gives additional context that is passed through the Http pipeline during the service call.",title:"Change Feed Context",required:!1,deprecated:!1},changeFeedEndTime:{kind:"parameter",type:"object",description:"When using getChangeFeed producer operation, this filters the results to return events approximately before the end time. Note: A few events belonging to the next hour can also be returned. A few events belonging to this hour can be missing; to ensure all events from the hour are returned, round the end time up by an hour.",title:"Change Feed End Time",required:!1,deprecated:!1},changeFeedStartTime:{kind:"parameter",type:"object",description:"When using getChangeFeed producer operation, this filters the results to return events approximately after the start time. Note: A few events belonging to the previous hour can also be returned. A few events belonging to this hour can be missing; to ensure all events from the hour are returned, round the start time down by an hour.",title:"Change Feed Start Time",required:!1,deprecated:!1},closeStreamAfterWrite:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Close the stream after write or keep it open, default is true",title:"Close Stream After Write",required:!1,deprecated:!1},commitBlockListLater:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When is set to true, the staged blocks will not be committed directly.",title:"Commit Block List Later",required:!1,deprecated:!1},createAppendBlob:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When is set to true, the append blocks will be created when committing append blocks.",title:"Create Append Blob",required:!1,deprecated:!1},createPageBlob:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When is set to true, the page blob will be created when uploading page blob.",title:"Create Page Blob",required:!1,deprecated:!1},downloadLinkExpiration:{kind:"parameter",type:"integer",description:"Override the default expiration (millis) of URL download link.",title:"Download Link Expiration",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"listBlobContainers",enum:["listBlobContainers","createBlobContainer","deleteBlobContainer","listBlobs","getBlob","deleteBlob","downloadBlobToFile","downloadLink","uploadBlockBlob","stageBlockBlobList","commitBlobBlockList","getBlobBlockList","createAppendBlob","commitAppendBlob","createPageBlob","uploadPageBlob","resizePageBlob","clearPageBlob","getPageBlobRanges"],description:"The blob operation that can be used with this component on the producer",title:"Operation",required:!1,deprecated:!1},pageBlobSize:{kind:"parameter",type:"integer",defaultValue:"512",description:"Specifies the maximum size for the page blob, up to 8 TB. The page blob size must be aligned to a 512-byte boundary.",title:"Page Blob Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the associated azure account name to be used for authentication with azure blob services",title:"Access Key",required:!1,deprecated:!1},sourceBlobAccessKey:{kind:"parameter",type:"string",description:"Source Blob Access Key: for copyblob operation, sadly, we need to have an accessKey for the source blob we want to copy Passing an accessKey as header, it's unsafe so we could set as key.",title:"Source Blob Access Key",required:!1,deprecated:!1}}},"azure-storage-datalake":{type:"object",title:"Azure Storage Datalake Service",group:"cloud,file,bigdata",icon:"generic24.png",description:"Sends and receives files to/from Azure DataLake Storage.",properties:{accountName:{kind:"path",type:"string",description:"name of the azure account",title:"Account Name",required:!1,deprecated:!1},fileSystemName:{kind:"path",type:"string",description:"name of filesystem to be used",title:"File System Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"client id for azure account",title:"Client Id",required:!1,deprecated:!1},close:{kind:"parameter",type:"boolean",description:"Whether or not a file changed event raised indicates completion (true) or modification (false)",title:"Close",required:!1,deprecated:!1},closeStreamAfterRead:{kind:"parameter",type:"boolean",description:"check for closing stream after read",title:"Close Stream After Read",required:!1,deprecated:!1},credentialType:{kind:"parameter",type:"object",defaultValue:"CLIENT_SECRET",enum:["CLIENT_SECRET","SHARED_KEY_CREDENTIAL","AZURE_IDENTITY","AZURE_SAS","SERVICE_CLIENT_INSTANCE"],description:"Determines the credential strategy to adopt",title:"Credential Type",required:!1,deprecated:!1},dataCount:{kind:"parameter",type:"integer",description:"count number of bytes to download",title:"Data Count",required:!1,deprecated:!1},dataLakeServiceClient:{kind:"parameter",type:"object",description:"service client of datalake",title:"Data Lake Service Client",required:!1,deprecated:!1},directoryName:{kind:"parameter",type:"string",description:"directory of the file to be handled in component",title:"Directory Name",required:!1,deprecated:!1},downloadLinkExpiration:{kind:"parameter",type:"integer",description:"download link expiration time",title:"Download Link Expiration",required:!1,deprecated:!1},expression:{kind:"parameter",type:"string",description:"expression for queryInputStream",title:"Expression",required:!1,deprecated:!1},fileDir:{kind:"parameter",type:"string",description:"directory of file to do operations in the local system",title:"File Dir",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"name of file to be handled in component",title:"File Name",required:!1,deprecated:!1},fileOffset:{kind:"parameter",type:"integer",description:"offset position in file for different operations",title:"File Offset",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",description:"maximum number of results to show at a time",title:"Max Results",required:!1,deprecated:!1},maxRetryRequests:{kind:"parameter",type:"integer",description:"no of retries to a given request",title:"Max Retry Requests",required:!1,deprecated:!1},openOptions:{kind:"parameter",type:"object",description:"set open options for creating file",title:"Open Options",required:!1,deprecated:!1},path:{kind:"parameter",type:"string",description:"path in azure datalake for operations",title:"Path",required:!1,deprecated:!1},permission:{kind:"parameter",type:"string",description:"permission string for the file",title:"Permission",required:!1,deprecated:!1},position:{kind:"parameter",type:"integer",description:"This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file.",title:"Position",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",description:"recursively include all paths",title:"Recursive",required:!1,deprecated:!1},regex:{kind:"parameter",type:"string",description:"regular expression for matching file names",title:"Regex",required:!1,deprecated:!1},retainUncommitedData:{kind:"parameter",type:"boolean",description:"Whether or not uncommitted data is to be retained after the operation",title:"Retain Uncommited Data",required:!1,deprecated:!1},serviceClient:{kind:"parameter",type:"object",description:"datalake service client for azure storage datalake",title:"Service Client",required:!1,deprecated:!1},sharedKeyCredential:{kind:"parameter",type:"object",description:"shared key credential for azure datalake gen2",title:"Shared Key Credential",required:!1,deprecated:!1},tenantId:{kind:"parameter",type:"string",description:"tenant id for azure account",title:"Tenant Id",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"object",description:"Timeout for operation",title:"Timeout",required:!1,deprecated:!1},umask:{kind:"parameter",type:"string",description:"umask permission for file",title:"Umask",required:!1,deprecated:!1},userPrincipalNameReturned:{kind:"parameter",type:"boolean",description:"whether or not to use upn",title:"User Principal Name Returned",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"listFileSystem",enum:["listFileSystem","listFiles"],description:"operation to be performed",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accountKey:{kind:"parameter",type:"string",description:"account key for authentication",title:"Account Key",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"client secret for azure account",title:"Client Secret",required:!1,deprecated:!1},clientSecretCredential:{kind:"parameter",type:"object",description:"client secret credential for authentication",title:"Client Secret Credential",required:!1,deprecated:!1},sasCredential:{kind:"parameter",type:"object",description:"SAS token credential",title:"Sas Credential",required:!1,deprecated:!1},sasSignature:{kind:"parameter",type:"string",description:"SAS token signature",title:"Sas Signature",required:!1,deprecated:!1}}},"azure-storage-queue":{type:"object",title:"Azure Storage Queue Service",group:"cloud,messaging",icon:"generic24.png",description:"Stores and retrieves messages to/from Azure Storage Queue.",properties:{accountName:{kind:"path",type:"string",description:"Azure account name to be used for authentication with azure queue services",title:"Account Name",required:!1,deprecated:!1},queueName:{kind:"path",type:"string",description:"The queue resource name",title:"Queue Name",required:!1,deprecated:!1},credentialType:{kind:"parameter",type:"object",defaultValue:"SHARED_ACCOUNT_KEY",enum:["SHARED_ACCOUNT_KEY","SHARED_KEY_CREDENTIAL","AZURE_IDENTITY"],description:"Determines the credential strategy to adopt",title:"Credential Type",required:!1,deprecated:!1},serviceClient:{kind:"parameter",type:"object",description:"Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties of the account, and retrieving statistics of the account.",title:"Service Client",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},createQueue:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When is set to true, the queue will be automatically created when sending messages to the queue.",title:"Create Queue",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listQueues","createQueue","deleteQueue","clearQueue","sendMessage","deleteMessage","receiveMessages","peekMessages","updateMessage"],description:"Queue service operation hint to the producer",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},maxMessages:{kind:"parameter",type:"integer",defaultValue:"1",description:"Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages.",title:"Max Messages",required:!1,deprecated:!1},messageId:{kind:"parameter",type:"string",description:"The ID of the message to be deleted or updated.",title:"Message Id",required:!1,deprecated:!1},popReceipt:{kind:"parameter",type:"string",description:"Unique identifier that must match for the message to be deleted or updated.",title:"Pop Receipt",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"object",description:"An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown.",title:"Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"object",description:"How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe.",title:"Time To Live",required:!1,deprecated:!1},visibilityTimeout:{kind:"parameter",type:"object",description:"The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe.",title:"Visibility Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the associated azure account name to be used for authentication with azure queue services",title:"Access Key",required:!1,deprecated:!1},credentials:{kind:"parameter",type:"object",description:"StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information",title:"Credentials",required:!1,deprecated:!1}}},bean:{type:"object",title:"Bean",group:"core,script",icon:"bean24.png",description:"Invoke methods of Java beans stored in Camel registry.",properties:{beanName:{kind:"path",type:"string",description:"Sets the name of the bean to invoke",title:"Bean Name",required:!0,deprecated:!1},method:{kind:"parameter",type:"string",description:"Sets the name of the method to invoke on the bean",title:"Method",required:!1,deprecated:!1},scope:{kind:"parameter",type:"object",defaultValue:"Singleton",enum:["Singleton","Request","Prototype"],description:"Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while processing the request. The bean does not have to be thread-safe as the instance is only called from the same request. When using prototype scope, then the bean will be looked up or created per call. However in case of lookup then this is delegated to the bean registry such as Spring or CDI (if in use), which depends on their configuration can act as either singleton or prototype scope. so when using prototype then this depends on the delegated registry.",title:"Scope",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Used for configuring additional properties on the bean",title:"Parameters",required:!1,deprecated:!1}}},"bean-validator":{type:"object",title:"Bean Validator",group:"validation",icon:"generic24.png",description:"Validate the message body using the Java Bean Validation API.",properties:{label:{kind:"path",type:"string",description:"Where label is an arbitrary text value describing the endpoint",title:"Label",required:!0,deprecated:!1},group:{kind:"parameter",type:"string",defaultValue:"jakarta.validation.groups.Default",description:"To use a custom validation group",title:"Group",required:!1,deprecated:!1},ignoreXmlConfiguration:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore data from the META-INF/validation.xml file.",title:"Ignore Xml Configuration",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},constraintValidatorFactory:{kind:"parameter",type:"object",description:"To use a custom ConstraintValidatorFactory",title:"Constraint Validator Factory",required:!1,deprecated:!1},messageInterpolator:{kind:"parameter",type:"object",description:"To use a custom MessageInterpolator",title:"Message Interpolator",required:!1,deprecated:!1},traversableResolver:{kind:"parameter",type:"object",description:"To use a custom TraversableResolver",title:"Traversable Resolver",required:!1,deprecated:!1},validationProviderResolver:{kind:"parameter",type:"object",description:"To use a a custom ValidationProviderResolver",title:"Validation Provider Resolver",required:!1,deprecated:!1},validatorFactory:{kind:"parameter",type:"object",description:"To use a custom ValidatorFactory",title:"Validator Factory",required:!1,deprecated:!1}}},bonita:{type:"object",title:"Bonita",group:"workflow",icon:"generic24.png",description:"Communicate with a remote Bonita BPM process engine.",properties:{operation:{kind:"path",type:"object",enum:["startCase"],description:"Operation to use",title:"Operation",required:!0,deprecated:!1},hostname:{kind:"parameter",type:"string",defaultValue:"localhost",description:"Hostname where Bonita engine runs",title:"Hostname",required:!1,deprecated:!1},port:{kind:"parameter",type:"string",defaultValue:"8080",description:"Port of the server hosting Bonita engine",title:"Port",required:!1,deprecated:!1},processName:{kind:"parameter",type:"string",description:"Name of the process involved in the operation",title:"Process Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to authenticate to Bonita engine.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to authenticate to Bonita engine.",title:"Username",required:!1,deprecated:!1}}},box:{type:"object",title:"Box",group:"cloud,file,api",icon:"generic24.png",description:"Upload, download and manage files, folders, groups, collaborations, etc. on box.com.",properties:{apiName:{kind:"path",type:"object",enum:["COLLABORATIONS","COMMENTS","EVENT_LOGS","FILES","FOLDERS","GROUPS","EVENTS","SEARCH","TASKS","USERS"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Box application client ID",title:"Client Id",required:!1,deprecated:!1},enterpriseId:{kind:"parameter",type:"string",description:"The enterprise ID to use for an App Enterprise.",title:"Enterprise Id",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},userId:{kind:"parameter",type:"string",description:"The user ID to use for an App User.",title:"User Id",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpParams:{kind:"parameter",type:"object",description:"Custom HTTP params for settings like proxy host",title:"Http Params",required:!1,deprecated:!1},authenticationType:{kind:"parameter",type:"string",defaultValue:"APP_USER_AUTHENTICATION",description:"The type of authentication for connection. Types of Authentication: STANDARD_AUTHENTICATION - OAuth 2.0 (3-legged) SERVER_AUTHENTICATION - OAuth 2.0 with JSON Web Tokens",title:"Authentication Type",required:!1,deprecated:!1},accessTokenCache:{kind:"parameter",type:"object",description:"Custom Access Token Cache for storing and retrieving access tokens.",title:"Access Token Cache",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Box application client secret",title:"Client Secret",required:!1,deprecated:!1},encryptionAlgorithm:{kind:"parameter",type:"object",defaultValue:"RSA_SHA_256",enum:["RSA_SHA_256","RSA_SHA_384","RSA_SHA_512"],description:"The type of encryption algorithm for JWT. Supported Algorithms: RSA_SHA_256 RSA_SHA_384 RSA_SHA_512",title:"Encryption Algorithm",required:!1,deprecated:!1},maxCacheEntries:{kind:"parameter",type:"integer",defaultValue:"100",description:"The maximum number of access tokens in cache.",title:"Max Cache Entries",required:!1,deprecated:!1},privateKeyFile:{kind:"parameter",type:"string",description:"The private key for generating the JWT signature.",title:"Private Key File",required:!1,deprecated:!1},privateKeyPassword:{kind:"parameter",type:"string",description:"The password for the private key.",title:"Private Key Password",required:!1,deprecated:!1},publicKeyId:{kind:"parameter",type:"string",description:"The ID for public key for validating the JWT signature.",title:"Public Key Id",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"Box user name, MUST be provided",title:"User Name",required:!1,deprecated:!1},userPassword:{kind:"parameter",type:"string",description:"Box user password, MUST be provided if authSecureStorage is not set, or returns null on first call",title:"User Password",required:!1,deprecated:!1}}},braintree:{type:"object",title:"Braintree",group:"saas",icon:"generic24.png",description:"Process payments using Braintree Payments.",properties:{apiName:{kind:"path",type:"object",enum:["ADD_ON","ADDRESS","CLIENT_TOKEN","CREDIT_CARD_VERIFICATION","CUSTOMER","DISCOUNT","DISPUTE","DOCUMENT_UPLOAD","MERCHANT_ACCOUNT","PAYMENT_METHOD","PAYMENT_METHOD_NONCE","OAUTH","PLAN","REPORT","SETTLEMENT_BATCH_SUMMARY","SUBSCRIPTION","TRANSACTION","US_BANK_ACCOUNT","WEBHOOK_NOTIFICATION"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["accept","addFileEvidence","addTextEvidence","cancel","cancelRelease","cloneTransaction","create","createForCurrency","credit","delete","fetchMerchantAccounts","finalize","find","generate","grant","holdInEscrow","parse","refund","releaseFromEscrow","removeEvidence","retryCharge","revoke","sale","search","submitForPartialSettlement","submitForSettlement","transactionLevelFees","update","updateDetails","verify","voidTransaction"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},environment:{kind:"parameter",type:"string",description:"The environment Either SANDBOX or PRODUCTION",title:"Environment",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},merchantId:{kind:"parameter",type:"string",description:"The merchant id provided by Braintree.",title:"Merchant Id",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpReadTimeout:{kind:"parameter",type:"integer",description:"Set read timeout for http calls.",title:"Http Read Timeout",required:!1,deprecated:!1},httpLogLevel:{kind:"parameter",type:"string",enum:["OFF","SEVERE","WARNING","INFO","CONFIG","FINE","FINER","FINEST","ALL"],description:"Set logging level for http calls, see java.util.logging.Level",title:"Http Log Level",required:!1,deprecated:!1},httpLogName:{kind:"parameter",type:"string",defaultValue:"Braintree",description:"Set log category to use to log http calls.",title:"Http Log Name",required:!1,deprecated:!1},logHandlerEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to enable the BraintreeLogHandler. It may be desirable to set this to 'false' where an existing JUL - SLF4J logger bridge is on the classpath. This option can also be configured globally on the BraintreeComponent.",title:"Log Handler Enabled",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"The proxy host",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"The proxy port",title:"Proxy Port",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token granted by a merchant to another in order to process transactions on their behalf. Used in place of environment, merchant id, public key and private key fields.",title:"Access Token",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"string",description:"The private key provided by Braintree.",title:"Private Key",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"string",description:"The public key provided by Braintree.",title:"Public Key",required:!1,deprecated:!1}}},browse:{type:"object",title:"Browse",group:"core,monitoring",icon:"generic24.png",description:"Inspect the messages received on endpoints supporting BrowsableEndpoint.",properties:{name:{kind:"path",type:"string",description:"A name which can be any string to uniquely identify the endpoint",title:"Name",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"caffeine-cache":{type:"object",title:"Caffeine Cache",group:"cache,clustering",icon:"generic24.png",description:"Perform caching operations using Caffeine Cache.",properties:{cacheName:{kind:"path",type:"string",description:"Cache name",title:"Cache Name",required:!0,deprecated:!1},action:{kind:"parameter",type:"string",enum:["GET","GET_ALL","PUT","PUT_ALL","INVALIDATE","INVALIDATE_ALL","CLEANUP","AS_MAP"],description:"To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence.",title:"Action",required:!1,deprecated:!1},createCacheIfNotExist:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatic create the Caffeine cache if none has been configured or exists in the registry.",title:"Create Cache If Not Exist",required:!1,deprecated:!1},evictionType:{kind:"parameter",type:"object",defaultValue:"SIZE_BASED",enum:["size_based","time_based"],description:"Set the eviction Type for this cache",title:"Eviction Type",required:!1,deprecated:!1},expireAfterAccessTime:{kind:"parameter",type:"integer",defaultValue:"300",description:"Specifies that each entry should be automatically removed from the cache once a fixed duration has elapsed after the entry's creation, the most recent replacement of its value, or its last read. Access time is reset by all cache read and write operations. The unit is in seconds.",title:"Expire After Access Time",required:!1,deprecated:!1},expireAfterWriteTime:{kind:"parameter",type:"integer",defaultValue:"300",description:"Specifies that each entry should be automatically removed from the cache once a fixed duration has elapsed after the entry's creation, or the most recent replacement of its value. The unit is in seconds.",title:"Expire After Write Time",required:!1,deprecated:!1},initialCapacity:{kind:"parameter",type:"integer",description:"Sets the minimum total size for the internal data structures. Providing a large enough estimate at construction time avoids the need for expensive resizing operations later, but setting this value unnecessarily high wastes memory.",title:"Initial Capacity",required:!1,deprecated:!1},key:{kind:"parameter",type:"string",description:"To configure the default action key. If a key is set in the message header, then the key from the header takes precedence.",title:"Key",required:!1,deprecated:!1},maximumSize:{kind:"parameter",type:"integer",description:"Specifies the maximum number of entries the cache may contain. Note that the cache may evict an entry before this limit is exceeded or temporarily exceed the threshold while evicting. As the cache size grows close to the maximum, the cache evicts entries that are less likely to be used again. For example, the cache may evict an entry because it hasn't been used recently or very often. When size is zero, elements will be evicted immediately after being loaded into the cache. This can be useful in testing, or to disable caching temporarily without a code change. As eviction is scheduled on the configured executor, tests may instead prefer to configure the cache to execute tasks directly on the same thread.",title:"Maximum Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cacheLoader:{kind:"parameter",type:"object",description:"To configure a CacheLoader in case of a LoadCache use",title:"Cache Loader",required:!1,deprecated:!1},removalListener:{kind:"parameter",type:"object",description:"Set a specific removal Listener for the cache",title:"Removal Listener",required:!1,deprecated:!1},statsCounter:{kind:"parameter",type:"object",description:"Set a specific Stats Counter for the cache stats",title:"Stats Counter",required:!1,deprecated:!1},statsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable stats on the cache",title:"Stats Enabled",required:!1,deprecated:!1},valueType:{kind:"parameter",type:"string",description:"The cache value type, default java.lang.Object",title:"Value Type",required:!1,deprecated:!1}}},"caffeine-loadcache":{type:"object",title:"Caffeine LoadCache",group:"cache,clustering",icon:"generic24.png",description:"Perform caching operations using Caffeine Cache with an attached CacheLoader.",properties:{cacheName:{kind:"path",type:"string",description:"the cache name",title:"Cache Name",required:!0,deprecated:!1},action:{kind:"parameter",type:"string",enum:["GET","GET_ALL","PUT","PUT_ALL","INVALIDATE","INVALIDATE_ALL","CLEANUP","AS_MAP"],description:"To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence.",title:"Action",required:!1,deprecated:!1},createCacheIfNotExist:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatic create the Caffeine cache if none has been configured or exists in the registry.",title:"Create Cache If Not Exist",required:!1,deprecated:!1},evictionType:{kind:"parameter",type:"object",defaultValue:"SIZE_BASED",enum:["size_based","time_based"],description:"Set the eviction Type for this cache",title:"Eviction Type",required:!1,deprecated:!1},expireAfterAccessTime:{kind:"parameter",type:"integer",defaultValue:"300",description:"Specifies that each entry should be automatically removed from the cache once a fixed duration has elapsed after the entry's creation, the most recent replacement of its value, or its last read. Access time is reset by all cache read and write operations. The unit is in seconds.",title:"Expire After Access Time",required:!1,deprecated:!1},expireAfterWriteTime:{kind:"parameter",type:"integer",defaultValue:"300",description:"Specifies that each entry should be automatically removed from the cache once a fixed duration has elapsed after the entry's creation, or the most recent replacement of its value. The unit is in seconds.",title:"Expire After Write Time",required:!1,deprecated:!1},initialCapacity:{kind:"parameter",type:"integer",description:"Sets the minimum total size for the internal data structures. Providing a large enough estimate at construction time avoids the need for expensive resizing operations later, but setting this value unnecessarily high wastes memory.",title:"Initial Capacity",required:!1,deprecated:!1},key:{kind:"parameter",type:"string",description:"To configure the default action key. If a key is set in the message header, then the key from the header takes precedence.",title:"Key",required:!1,deprecated:!1},maximumSize:{kind:"parameter",type:"integer",description:"Specifies the maximum number of entries the cache may contain. Note that the cache may evict an entry before this limit is exceeded or temporarily exceed the threshold while evicting. As the cache size grows close to the maximum, the cache evicts entries that are less likely to be used again. For example, the cache may evict an entry because it hasn't been used recently or very often. When size is zero, elements will be evicted immediately after being loaded into the cache. This can be useful in testing, or to disable caching temporarily without a code change. As eviction is scheduled on the configured executor, tests may instead prefer to configure the cache to execute tasks directly on the same thread.",title:"Maximum Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cacheLoader:{kind:"parameter",type:"object",description:"To configure a CacheLoader in case of a LoadCache use",title:"Cache Loader",required:!1,deprecated:!1},removalListener:{kind:"parameter",type:"object",description:"Set a specific removal Listener for the cache",title:"Removal Listener",required:!1,deprecated:!1},statsCounter:{kind:"parameter",type:"object",description:"Set a specific Stats Counter for the cache stats",title:"Stats Counter",required:!1,deprecated:!1},statsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable stats on the cache",title:"Stats Enabled",required:!1,deprecated:!1},valueType:{kind:"parameter",type:"string",description:"The cache value type, default java.lang.Object",title:"Value Type",required:!1,deprecated:!1}}},chatscript:{type:"object",title:"ChatScript",group:"ai,chat",icon:"generic24.png",description:"Chat with a ChatScript Server.",properties:{host:{kind:"path",type:"string",description:"Hostname or IP of the server on which CS server is running",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"1024",description:"Port on which ChatScript is listening to",title:"Port",required:!1,deprecated:!1},botName:{kind:"path",type:"string",description:"Name of the Bot in CS to converse with",title:"Bot Name",required:!0,deprecated:!1},chatUserName:{kind:"parameter",type:"string",description:"Username who initializes the CS conversation. To be set when chat is initialized from camel route",title:"Chat User Name",required:!1,deprecated:!1},resetChat:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Issues :reset command to start a new conversation everytime",title:"Reset Chat",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},chunk:{type:"object",title:"Chunk",group:"transformation",icon:"generic24.png",description:"Transform messages using Chunk templating engine.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"Define the encoding of the body",title:"Encoding",required:!1,deprecated:!1},extension:{kind:"parameter",type:"string",description:"Define the file extension of the template",title:"Extension",required:!1,deprecated:!1},themeFolder:{kind:"parameter",type:"string",description:"Define the themes folder to scan",title:"Theme Folder",required:!1,deprecated:!1},themeLayer:{kind:"parameter",type:"string",description:"Define the theme layer to elaborate",title:"Theme Layer",required:!1,deprecated:!1},themeSubfolder:{kind:"parameter",type:"string",description:"Define the themes subfolder to scan",title:"Theme Subfolder",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},class:{type:"object",title:"Class",group:"core,script",icon:"generic24.png",description:"Invoke methods of Java beans specified by class name.",properties:{beanName:{kind:"path",type:"string",description:"Sets the name of the bean to invoke",title:"Bean Name",required:!0,deprecated:!1},method:{kind:"parameter",type:"string",description:"Sets the name of the method to invoke on the bean",title:"Method",required:!1,deprecated:!1},scope:{kind:"parameter",type:"object",defaultValue:"Singleton",enum:["Singleton","Request","Prototype"],description:"Scope of bean. When using singleton scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint. The bean should be thread-safe in case concurrent threads is calling the bean at the same time. When using request scope the bean is created or looked up once per request (exchange). This can be used if you want to store state on a bean while processing a request and you want to call the same bean instance multiple times while processing the request. The bean does not have to be thread-safe as the instance is only called from the same request. When using prototype scope, then the bean will be looked up or created per call. However in case of lookup then this is delegated to the bean registry such as Spring or CDI (if in use), which depends on their configuration can act as either singleton or prototype scope. so when using prototype then this depends on the delegated registry.",title:"Scope",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Used for configuring additional properties on the bean",title:"Parameters",required:!1,deprecated:!1}}},"cm-sms":{type:"object",title:"CM SMS Gateway",group:"mobile",icon:"generic24.png",description:"Send SMS messages via CM SMS Gateway.",properties:{host:{kind:"path",type:"string",description:"SMS Provider HOST with scheme",title:"Host",required:!0,deprecated:!1},defaultFrom:{kind:"parameter",type:"string",description:"This is the sender name. The maximum length is 11 characters.",title:"Default From",required:!0,deprecated:!1},defaultMaxNumberOfParts:{kind:"parameter",type:"integer",defaultValue:"8",description:"If it is a multipart message forces the max number. Message can be truncated. Technically the gateway will first check if a message is larger than 160 characters, if so, the message will be cut into multiple 153 characters parts limited by these parameters.",title:"Default Max Number Of Parts",required:!1,deprecated:!1},productToken:{kind:"parameter",type:"string",description:"The unique token to use",title:"Product Token",required:!0,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to test the connection to the SMS Gateway on startup",title:"Test Connection On Startup",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},coap:{type:"object",title:"CoAP",group:"iot",icon:"generic24.png",description:"Send and receive messages to/from COAP capable devices.",properties:{uri:{kind:"path",type:"string",description:"The URI for the CoAP endpoint",title:"Uri",required:!1,deprecated:!1},coapMethodRestrict:{kind:"parameter",type:"string",enum:["DELETE","GET","POST","PUT"],description:"Comma separated list of methods that the CoAP consumer will bind to. The default is to bind to all methods (DELETE, GET, POST, PUT).",title:"Coap Method Restrict",required:!1,deprecated:!1},observable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Make CoAP resource observable for source endpoint, based on RFC 7641.",title:"Observable",required:!1,deprecated:!1},observe:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send an observe request from a source endpoint, based on RFC 7641.",title:"Observe",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},notify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI.",title:"Notify",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},advancedCertificateVerifier:{kind:"parameter",type:"object",description:"Set the AdvancedCertificateVerifier to use to determine trust in raw public keys.",title:"Advanced Certificate Verifier",required:!1,deprecated:!1},advancedPskStore:{kind:"parameter",type:"object",description:"Set the AdvancedPskStore to use for pre-shared key.",title:"Advanced Psk Store",required:!1,deprecated:!1},alias:{kind:"parameter",type:"string",enum:["NONE","WANT","REQUIRE"],description:"Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key.",title:"Alias",required:!1,deprecated:!1},cipherSuites:{kind:"parameter",type:"string",description:"Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object.",title:"Cipher Suites",required:!1,deprecated:!1},clientAuthentication:{kind:"parameter",type:"object",enum:["NONE","WANTED","NEEDED"],description:"Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value.",title:"Client Authentication",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"object",description:"Set the configured private key for use with Raw Public Key.",title:"Private Key",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"object",description:"Set the configured public key for use with Raw Public Key.",title:"Public Key",required:!1,deprecated:!1},recommendedCipherSuitesOnly:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false.",title:"Recommended Cipher Suites Only",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS).",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},"coap+tcp":{type:"object",title:"CoAP",group:"iot",icon:"generic24.png",description:"Send and receive messages to/from COAP capable devices.",properties:{uri:{kind:"path",type:"string",description:"The URI for the CoAP endpoint",title:"Uri",required:!1,deprecated:!1},coapMethodRestrict:{kind:"parameter",type:"string",enum:["DELETE","GET","POST","PUT"],description:"Comma separated list of methods that the CoAP consumer will bind to. The default is to bind to all methods (DELETE, GET, POST, PUT).",title:"Coap Method Restrict",required:!1,deprecated:!1},observable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Make CoAP resource observable for source endpoint, based on RFC 7641.",title:"Observable",required:!1,deprecated:!1},observe:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send an observe request from a source endpoint, based on RFC 7641.",title:"Observe",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},notify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI.",title:"Notify",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},advancedCertificateVerifier:{kind:"parameter",type:"object",description:"Set the AdvancedCertificateVerifier to use to determine trust in raw public keys.",title:"Advanced Certificate Verifier",required:!1,deprecated:!1},advancedPskStore:{kind:"parameter",type:"object",description:"Set the AdvancedPskStore to use for pre-shared key.",title:"Advanced Psk Store",required:!1,deprecated:!1},alias:{kind:"parameter",type:"string",enum:["NONE","WANT","REQUIRE"],description:"Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key.",title:"Alias",required:!1,deprecated:!1},cipherSuites:{kind:"parameter",type:"string",description:"Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object.",title:"Cipher Suites",required:!1,deprecated:!1},clientAuthentication:{kind:"parameter",type:"object",enum:["NONE","WANTED","NEEDED"],description:"Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value.",title:"Client Authentication",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"object",description:"Set the configured private key for use with Raw Public Key.",title:"Private Key",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"object",description:"Set the configured public key for use with Raw Public Key.",title:"Public Key",required:!1,deprecated:!1},recommendedCipherSuitesOnly:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false.",title:"Recommended Cipher Suites Only",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS).",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},coaps:{type:"object",title:"CoAP (Secure)",group:"iot",icon:"generic24.png",description:"Send and receive messages to/from COAP capable devices.",properties:{uri:{kind:"path",type:"string",description:"The URI for the CoAP endpoint",title:"Uri",required:!1,deprecated:!1},coapMethodRestrict:{kind:"parameter",type:"string",enum:["DELETE","GET","POST","PUT"],description:"Comma separated list of methods that the CoAP consumer will bind to. The default is to bind to all methods (DELETE, GET, POST, PUT).",title:"Coap Method Restrict",required:!1,deprecated:!1},observable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Make CoAP resource observable for source endpoint, based on RFC 7641.",title:"Observable",required:!1,deprecated:!1},observe:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send an observe request from a source endpoint, based on RFC 7641.",title:"Observe",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},notify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI.",title:"Notify",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},advancedCertificateVerifier:{kind:"parameter",type:"object",description:"Set the AdvancedCertificateVerifier to use to determine trust in raw public keys.",title:"Advanced Certificate Verifier",required:!1,deprecated:!1},advancedPskStore:{kind:"parameter",type:"object",description:"Set the AdvancedPskStore to use for pre-shared key.",title:"Advanced Psk Store",required:!1,deprecated:!1},alias:{kind:"parameter",type:"string",enum:["NONE","WANT","REQUIRE"],description:"Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key.",title:"Alias",required:!1,deprecated:!1},cipherSuites:{kind:"parameter",type:"string",description:"Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object.",title:"Cipher Suites",required:!1,deprecated:!1},clientAuthentication:{kind:"parameter",type:"object",enum:["NONE","WANTED","NEEDED"],description:"Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value.",title:"Client Authentication",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"object",description:"Set the configured private key for use with Raw Public Key.",title:"Private Key",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"object",description:"Set the configured public key for use with Raw Public Key.",title:"Public Key",required:!1,deprecated:!1},recommendedCipherSuitesOnly:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false.",title:"Recommended Cipher Suites Only",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS).",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},"coaps+tcp":{type:"object",title:"CoAP",group:"iot",icon:"generic24.png",description:"Send and receive messages to/from COAP capable devices.",properties:{uri:{kind:"path",type:"string",description:"The URI for the CoAP endpoint",title:"Uri",required:!1,deprecated:!1},coapMethodRestrict:{kind:"parameter",type:"string",enum:["DELETE","GET","POST","PUT"],description:"Comma separated list of methods that the CoAP consumer will bind to. The default is to bind to all methods (DELETE, GET, POST, PUT).",title:"Coap Method Restrict",required:!1,deprecated:!1},observable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Make CoAP resource observable for source endpoint, based on RFC 7641.",title:"Observable",required:!1,deprecated:!1},observe:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send an observe request from a source endpoint, based on RFC 7641.",title:"Observe",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},notify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Notify observers that the resource of this URI has changed, based on RFC 7641. Use this flag on a destination endpoint, with a URI that matches an existing source endpoint URI.",title:"Notify",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},advancedCertificateVerifier:{kind:"parameter",type:"object",description:"Set the AdvancedCertificateVerifier to use to determine trust in raw public keys.",title:"Advanced Certificate Verifier",required:!1,deprecated:!1},advancedPskStore:{kind:"parameter",type:"object",description:"Set the AdvancedPskStore to use for pre-shared key.",title:"Advanced Psk Store",required:!1,deprecated:!1},alias:{kind:"parameter",type:"string",enum:["NONE","WANT","REQUIRE"],description:"Sets the alias used to query the KeyStore for the private key and certificate. This parameter is used when we are enabling TLS with certificates on the service side, and similarly on the client side when TLS is used with certificates and client authentication. If the parameter is not specified then the default behavior is to use the first alias in the keystore that contains a key entry. This configuration parameter does not apply to configuring TLS via a Raw Public Key or a Pre-Shared Key.",title:"Alias",required:!1,deprecated:!1},cipherSuites:{kind:"parameter",type:"string",description:"Sets the cipherSuites String. This is a comma separated String of ciphersuites to configure. If it is not specified, then it falls back to getting the ciphersuites from the sslContextParameters object.",title:"Cipher Suites",required:!1,deprecated:!1},clientAuthentication:{kind:"parameter",type:"object",enum:["NONE","WANTED","NEEDED"],description:"Sets the configuration options for server-side client-authentication requirements. The value must be one of NONE, WANT, REQUIRE. If this value is not specified, then it falls back to checking the sslContextParameters.getServerParameters().getClientAuthentication() value.",title:"Client Authentication",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"object",description:"Set the configured private key for use with Raw Public Key.",title:"Private Key",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"object",description:"Set the configured public key for use with Raw Public Key.",title:"Public Key",required:!1,deprecated:!1},recommendedCipherSuitesOnly:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The CBC cipher suites are not recommended. If you want to use them, you first need to set the recommendedCipherSuitesOnly option to false.",title:"Recommended Cipher Suites Only",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Set the SSLContextParameters object for setting up TLS. This is required for coapstcp, and for coaps when we are using certificates for TLS (as opposed to RPK or PKS).",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},cometd:{type:"object",title:"CometD",group:"networking,messaging",icon:"generic24.png",description:"Offers publish/subscribe, peer-to-peer (via a server), and RPC style messaging using the CometD/Bayeux protocol.",properties:{host:{kind:"path",type:"string",description:"Hostname",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Host port number",title:"Port",required:!0,deprecated:!1},channelName:{kind:"path",type:"string",description:"The channelName represents a topic that can be subscribed to by the Camel endpoints.",title:"Channel Name",required:!0,deprecated:!1},allowedOrigins:{kind:"parameter",type:"string",defaultValue:"*",description:"The origins domain that support to cross, if the crosssOriginFilterOn is true",title:"Allowed Origins",required:!1,deprecated:!1},baseResource:{kind:"parameter",type:"string",description:"The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar",title:"Base Resource",required:!1,deprecated:!1},crossOriginFilterOn:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the server will support for cross-domain filtering",title:"Cross Origin Filter On",required:!1,deprecated:!1},filterPath:{kind:"parameter",type:"string",description:"The filterPath will be used by the CrossOriginFilter, if the crosssOriginFilterOn is true",title:"Filter Path",required:!1,deprecated:!1},interval:{kind:"parameter",type:"integer",description:"The client side poll timeout in milliseconds. How long a client will wait between reconnects",title:"Interval",required:!1,deprecated:!1},jsonCommented:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking.",title:"Json Commented",required:!1,deprecated:!1},logLevel:{kind:"parameter",type:"integer",defaultValue:"1",enum:["0","1","2"],description:"Logging level. 0=none, 1=info, 2=debug.",title:"Log Level",required:!1,deprecated:!1},maxInterval:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time.",title:"Max Interval",required:!1,deprecated:!1},multiFrameInterval:{kind:"parameter",type:"integer",defaultValue:"1500",description:"The client side poll timeout, if multiple connections are detected from the same browser.",title:"Multi Frame Interval",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"240000",description:"The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding.",title:"Timeout",required:!1,deprecated:!1},sessionHeadersEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include the server session headers in the Camel message when creating a Camel Message for incoming requests.",title:"Session Headers Enabled",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},disconnectLocalSession:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to disconnect local sessions after publishing a message to its channel. Disconnecting local session is needed as they are not swept by default by CometD, and therefore you can run out of memory.",title:"Disconnect Local Session",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},cometds:{type:"object",title:"CometD (Secure)",group:"networking,messaging",icon:"generic24.png",description:"Offers publish/subscribe, peer-to-peer (via a server), and RPC style messaging using the CometD/Bayeux protocol.",properties:{host:{kind:"path",type:"string",description:"Hostname",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Host port number",title:"Port",required:!0,deprecated:!1},channelName:{kind:"path",type:"string",description:"The channelName represents a topic that can be subscribed to by the Camel endpoints.",title:"Channel Name",required:!0,deprecated:!1},allowedOrigins:{kind:"parameter",type:"string",defaultValue:"*",description:"The origins domain that support to cross, if the crosssOriginFilterOn is true",title:"Allowed Origins",required:!1,deprecated:!1},baseResource:{kind:"parameter",type:"string",description:"The root directory for the web resources or classpath. Use the protocol file: or classpath: depending if you want that the component loads the resource from file system or classpath. Classpath is required for OSGI deployment where the resources are packaged in the jar",title:"Base Resource",required:!1,deprecated:!1},crossOriginFilterOn:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the server will support for cross-domain filtering",title:"Cross Origin Filter On",required:!1,deprecated:!1},filterPath:{kind:"parameter",type:"string",description:"The filterPath will be used by the CrossOriginFilter, if the crosssOriginFilterOn is true",title:"Filter Path",required:!1,deprecated:!1},interval:{kind:"parameter",type:"integer",description:"The client side poll timeout in milliseconds. How long a client will wait between reconnects",title:"Interval",required:!1,deprecated:!1},jsonCommented:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking.",title:"Json Commented",required:!1,deprecated:!1},logLevel:{kind:"parameter",type:"integer",defaultValue:"1",enum:["0","1","2"],description:"Logging level. 0=none, 1=info, 2=debug.",title:"Log Level",required:!1,deprecated:!1},maxInterval:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The max client side poll timeout in milliseconds. A client will be removed if a connection is not received in this time.",title:"Max Interval",required:!1,deprecated:!1},multiFrameInterval:{kind:"parameter",type:"integer",defaultValue:"1500",description:"The client side poll timeout, if multiple connections are detected from the same browser.",title:"Multi Frame Interval",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"240000",description:"The server side poll timeout in milliseconds. This is how long the server will hold a reconnect request before responding.",title:"Timeout",required:!1,deprecated:!1},sessionHeadersEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include the server session headers in the Camel message when creating a Camel Message for incoming requests.",title:"Session Headers Enabled",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},disconnectLocalSession:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to disconnect local sessions after publishing a message to its channel. Disconnecting local session is needed as they are not swept by default by CometD, and therefore you can run out of memory.",title:"Disconnect Local Session",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},consul:{type:"object",title:"Consul",group:"cloud,api",icon:"generic24.png",description:"Integrate with Consul service discovery and configuration store.",properties:{apiEndpoint:{kind:"path",type:"string",description:"The API endpoint",title:"Api Endpoint",required:!0,deprecated:!1},connectTimeout:{kind:"parameter",type:"object",description:"Connect timeout for OkHttpClient",title:"Connect Timeout",required:!1,deprecated:!1},consulClient:{kind:"parameter",type:"object",description:"Reference to a org.kiwiproject.consul.Consul in the registry.",title:"Consul Client",required:!1,deprecated:!1},key:{kind:"parameter",type:"string",description:"The default key. Can be overridden by CamelConsulKey",title:"Key",required:!1,deprecated:!1},pingInstance:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Configure if the AgentClient should attempt a ping before returning the Consul instance",title:"Ping Instance",required:!1,deprecated:!1},readTimeout:{kind:"parameter",type:"object",description:"Read timeout for OkHttpClient",title:"Read Timeout",required:!1,deprecated:!1},tags:{kind:"parameter",type:"string",description:"Set tags. You can separate multiple tags by comma.",title:"Tags",required:!1,deprecated:!1},url:{kind:"parameter",type:"string",description:"The Consul agent URL",title:"Url",required:!1,deprecated:!1},writeTimeout:{kind:"parameter",type:"object",description:"Write timeout for OkHttpClient",title:"Write Timeout",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},action:{kind:"parameter",type:"string",description:"The default action. Can be overridden by CamelConsulAction",title:"Action",required:!1,deprecated:!1},valueAsString:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Default to transform values retrieved from Consul i.e. on KV endpoint to string.",title:"Value As String",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},consistencyMode:{kind:"parameter",type:"object",defaultValue:"DEFAULT",enum:["DEFAULT","STALE","CONSISTENT"],description:"The consistencyMode used for queries, default ConsistencyMode.DEFAULT",title:"Consistency Mode",required:!1,deprecated:!1},datacenter:{kind:"parameter",type:"string",description:"The data center",title:"Datacenter",required:!1,deprecated:!1},nearNode:{kind:"parameter",type:"string",description:"The near node to use for queries.",title:"Near Node",required:!1,deprecated:!1},nodeMeta:{kind:"parameter",type:"array",description:"The note meta-data to use for queries.",title:"Node Meta",required:!1,deprecated:!1},aclToken:{kind:"parameter",type:"string",description:"Sets the ACL token to be used with Consul",title:"Acl Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Sets the password to be used for basic authentication",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"SSL configuration using an org.apache.camel.support.jsse.SSLContextParameters instance.",title:"Ssl Context Parameters",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"Sets the username to be used for basic authentication",title:"User Name",required:!1,deprecated:!1},blockSeconds:{kind:"parameter",type:"integer",defaultValue:"10",description:"The second to wait for a watch event, default 10 seconds",title:"Block Seconds",required:!1,deprecated:!1},firstIndex:{kind:"parameter",type:"object",defaultValue:"0",description:"The first index for watch for, default 0",title:"First Index",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Recursively watch, default false",title:"Recursive",required:!1,deprecated:!1}}},controlbus:{type:"object",title:"Control Bus",group:"core,monitoring",icon:"generic24.png",description:"Manage and monitor Camel routes.",properties:{command:{kind:"path",type:"string",enum:["route","language"],description:"Command can be either route or language",title:"Command",required:!0,deprecated:!1},language:{kind:"path",type:"object",enum:["bean","constant","csimple","datasonnet","exchangeProperty","file","groovy","header","hl7terser","java","joor","jq","jsonpath","mvel","ognl","python","ref","simple","spel","tokenize","xpath","xquery","xtokenize"],description:"Allows you to specify the name of a Language to use for evaluating the message body. If there is any result from the evaluation, then the result is put in the message body.",title:"Language",required:!1,deprecated:!1},action:{kind:"parameter",type:"string",enum:["start","stop","fail","suspend","resume","restart","status","stats"],description:"To denote an action that can be either: start, stop, or status. To either start or stop a route, or to get the status of the route as output in the message body. You can use suspend and resume to either suspend or resume a route. You can use stats to get performance statics returned in XML format; the routeId option can be used to define which route to get the performance stats for, if routeId is not defined, then you get statistics for the entire CamelContext. The restart action will restart the route. And the fail action will stop and mark the route as failed (stopped due to an exception)",title:"Action",required:!1,deprecated:!1},async:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to execute the control bus task asynchronously. Important: If this option is enabled, then any result from the task is not set on the Exchange. This is only possible if executing tasks synchronously.",title:"Async",required:!1,deprecated:!1},loggingLevel:{kind:"parameter",type:"object",defaultValue:"INFO",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used for logging when task is done, or if any exceptions occurred during processing the task.",title:"Logging Level",required:!1,deprecated:!1},restartDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The delay in millis to use when restarting a route.",title:"Restart Delay",required:!1,deprecated:!1},routeId:{kind:"parameter",type:"string",description:"To specify a route by its id. The special keyword current indicates the current route.",title:"Route Id",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},couchbase:{type:"object",title:"Couchbase",group:"database",icon:"generic24.png",description:"Query Couchbase Views with a poll strategy and/or perform various operations against Couchbase databases.",properties:{protocol:{kind:"path",type:"string",description:"The protocol to use",title:"Protocol",required:!0,deprecated:!1},hostname:{kind:"path",type:"string",description:"The hostname to use",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"8091",description:"The port number to use",title:"Port",required:!1,deprecated:!1},bucket:{kind:"parameter",type:"string",description:"The bucket to use",title:"Bucket",required:!0,deprecated:!1},collection:{kind:"parameter",type:"string",description:"The collection to use",title:"Collection",required:!1,deprecated:!1},key:{kind:"parameter",type:"string",description:"The key to use",title:"Key",required:!1,deprecated:!1},scope:{kind:"parameter",type:"string",description:"The scope to use",title:"Scope",required:!1,deprecated:!1},consumerProcessedStrategy:{kind:"parameter",type:"string",defaultValue:"none",description:"Define the consumer Processed strategy to use",title:"Consumer Processed Strategy",required:!1,deprecated:!1},descending:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if this operation is descending or not",title:"Descending",required:!1,deprecated:!1},designDocumentName:{kind:"parameter",type:"string",defaultValue:"beer",description:"The design document name to use",title:"Design Document Name",required:!1,deprecated:!1},fullDocument:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true consumer will return complete document instead data defined in view",title:"Full Document",required:!1,deprecated:!1},limit:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The output limit to use",title:"Limit",required:!1,deprecated:!1},rangeEndKey:{kind:"parameter",type:"string",description:"Define a range for the end key",title:"Range End Key",required:!1,deprecated:!1},rangeStartKey:{kind:"parameter",type:"string",description:"Define a range for the start key",title:"Range Start Key",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skip:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Define the skip to use",title:"Skip",required:!1,deprecated:!1},viewName:{kind:"parameter",type:"string",defaultValue:"brewery_beers",description:"The view name to use",title:"View Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},autoStartIdForInserts:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if we want an autostart Id when we are doing an insert operation",title:"Auto Start Id For Inserts",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",defaultValue:"CCB_PUT",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},persistTo:{kind:"parameter",type:"integer",defaultValue:"0",description:"Where to persist the data",title:"Persist To",required:!1,deprecated:!1},producerRetryAttempts:{kind:"parameter",type:"integer",defaultValue:"2",description:"Define the number of retry attempts",title:"Producer Retry Attempts",required:!1,deprecated:!1},producerRetryPause:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Define the retry pause between different attempts",title:"Producer Retry Pause",required:!1,deprecated:!1},replicateTo:{kind:"parameter",type:"integer",defaultValue:"0",description:"Where to replicate the data",title:"Replicate To",required:!1,deprecated:!1},startingIdForInsertsFrom:{kind:"parameter",type:"integer",description:"Define the starting Id where we are doing an insert operation",title:"Starting Id For Inserts From",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalHosts:{kind:"parameter",type:"string",description:"The additional hosts",title:"Additional Hosts",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Define the timeoutconnect in milliseconds",title:"Connect Timeout",required:!1,deprecated:!1},queryTimeout:{kind:"parameter",type:"duration",defaultValue:"2500",description:"Define the operation timeout in milliseconds",title:"Query Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password to use",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username to use",title:"Username",required:!1,deprecated:!1}}},couchdb:{type:"object",title:"CouchDB",group:"database",icon:"generic24.png",description:"Consume changesets for inserts, updates and deletes in a CouchDB database, as well as get, save, update and delete documents from a CouchDB database.",properties:{protocol:{kind:"path",type:"string",enum:["http","https"],description:"The protocol to use for communicating with the database.",title:"Protocol",required:!0,deprecated:!1},hostname:{kind:"path",type:"string",description:"Hostname of the running couchdb instance",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"5984",description:"Port number for the running couchdb instance",title:"Port",required:!1,deprecated:!1},database:{kind:"path",type:"string",description:"Name of the database to use",title:"Database",required:!0,deprecated:!1},createDatabase:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Creates the database if it does not already exist",title:"Create Database",required:!1,deprecated:!1},deletes:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Document deletes are published as events",title:"Deletes",required:!1,deprecated:!1},heartbeat:{kind:"parameter",type:"duration",defaultValue:"30000",description:"How often to send an empty message to keep socket alive in millis",title:"Heartbeat",required:!1,deprecated:!1},style:{kind:"parameter",type:"string",defaultValue:"main_only",enum:["all_docs","main_only"],description:"Specifies how many revisions are returned in the changes array. The default, main_only, will only return the current winning revision; all_docs will return all leaf revisions (including conflicts and deleted former conflicts.)",title:"Style",required:!1,deprecated:!1},updates:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Document inserts/updates are published as events",title:"Updates",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for authenticated databases",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username in case of authenticated databases",title:"Username",required:!1,deprecated:!1}}},cql:{type:"object",title:"Cassandra CQL",group:"database,bigdata",icon:"generic24.png",description:"Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax.",properties:{beanRef:{kind:"path",type:"string",description:"beanRef is defined using bean:id",title:"Bean Ref",required:!1,deprecated:!1},hosts:{kind:"path",type:"string",description:"Hostname(s) Cassandra server(s). Multiple hosts can be separated by comma.",title:"Hosts",required:!1,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number of Cassandra server(s)",title:"Port",required:!1,deprecated:!1},keyspace:{kind:"path",type:"string",description:"Keyspace to use",title:"Keyspace",required:!1,deprecated:!1},clusterName:{kind:"parameter",type:"string",description:"Cluster name",title:"Cluster Name",required:!1,deprecated:!1},consistencyLevel:{kind:"parameter",type:"object",enum:["ANY","ONE","TWO","THREE","QUORUM","ALL","LOCAL_ONE","LOCAL_QUORUM","EACH_QUORUM","SERIAL","LOCAL_SERIAL"],description:"Consistency level to use",title:"Consistency Level",required:!1,deprecated:!1},cql:{kind:"parameter",type:"string",description:"CQL query to perform. Can be overridden with the message header with key CamelCqlQuery.",title:"Cql",required:!1,deprecated:!1},datacenter:{kind:"parameter",type:"string",defaultValue:"datacenter1",description:"Datacenter to use",title:"Datacenter",required:!1,deprecated:!1},extraTypeCodecs:{kind:"parameter",type:"string",description:"To use a specific comma separated list of Extra Type codecs. Possible values are: BLOB_TO_ARRAY, BOOLEAN_LIST_TO_ARRAY, BYTE_LIST_TO_ARRAY, SHORT_LIST_TO_ARRAY, INT_LIST_TO_ARRAY, LONG_LIST_TO_ARRAY, FLOAT_LIST_TO_ARRAY, DOUBLE_LIST_TO_ARRAY, TIMESTAMP_UTC, TIMESTAMP_MILLIS_SYSTEM, TIMESTAMP_MILLIS_UTC, ZONED_TIMESTAMP_SYSTEM, ZONED_TIMESTAMP_UTC, ZONED_TIMESTAMP_PERSISTED, LOCAL_TIMESTAMP_SYSTEM and LOCAL_TIMESTAMP_UTC",title:"Extra Type Codecs",required:!1,deprecated:!1},loadBalancingPolicyClass:{kind:"parameter",type:"string",description:"To use a specific LoadBalancingPolicyClass",title:"Load Balancing Policy Class",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for session authentication",title:"Password",required:!1,deprecated:!1},prepareStatements:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use PreparedStatements or regular Statements",title:"Prepare Statements",required:!1,deprecated:!1},resultSetConversionStrategy:{kind:"parameter",type:"object",description:"To use a custom class that implements logic for converting ResultSet into message body ALL, ONE, LIMIT_10, LIMIT_100...",title:"Result Set Conversion Strategy",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"To use the Session instance (you would normally not use this option)",title:"Session",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for session authentication",title:"Username",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},cron:{type:"object",title:"Cron",group:"scheduling",icon:"generic24.png",description:"A generic interface for triggering events at times specified through the Unix cron syntax.",properties:{name:{kind:"path",type:"string",description:"The name of the cron trigger",title:"Name",required:!0,deprecated:!1},schedule:{kind:"parameter",type:"string",description:"A cron expression that will be used to generate events",title:"Schedule",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},crypto:{type:"object",title:"Crypto (JCE)",group:"security,transformation",icon:"generic24.png",description:"Sign and verify exchanges using the Signature Service of the Java Cryptographic Extension (JCE).",properties:{cryptoOperation:{kind:"path",type:"object",enum:["sign","verify"],description:"Set the Crypto operation from that supplied after the crypto scheme in the endpoint uri e.g. crypto:sign sets sign as the operation.",title:"Crypto Operation",required:!0,deprecated:!1},name:{kind:"path",type:"string",description:"The logical name of this operation.",title:"Name",required:!0,deprecated:!1},algorithm:{kind:"parameter",type:"string",defaultValue:"SHA256withRSA",description:"Sets the JCE name of the Algorithm that should be used for the signer.",title:"Algorithm",required:!1,deprecated:!1},alias:{kind:"parameter",type:"string",description:"Sets the alias used to query the KeyStore for keys and {link java.security.cert.Certificate Certificates} to be used in signing and verifying exchanges. This value can be provided at runtime via the message header org.apache.camel.component.crypto.DigitalSignatureConstants#KEYSTORE_ALIAS",title:"Alias",required:!1,deprecated:!1},certificateName:{kind:"parameter",type:"string",description:"Sets the reference name for a PrivateKey that can be found in the registry.",title:"Certificate Name",required:!1,deprecated:!1},keystore:{kind:"parameter",type:"object",description:"Sets the KeyStore that can contain keys and Certficates for use in signing and verifying exchanges. A KeyStore is typically used with an alias, either one supplied in the Route definition or dynamically via the message header CamelSignatureKeyStoreAlias. If no alias is supplied and there is only a single entry in the Keystore, then this single entry will be used.",title:"Keystore",required:!1,deprecated:!1},keystoreName:{kind:"parameter",type:"string",description:"Sets the reference name for a Keystore that can be found in the registry.",title:"Keystore Name",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"object",description:"Set the PrivateKey that should be used to sign the exchange",title:"Private Key",required:!1,deprecated:!1},privateKeyName:{kind:"parameter",type:"string",description:"Sets the reference name for a PrivateKey that can be found in the registry.",title:"Private Key Name",required:!1,deprecated:!1},provider:{kind:"parameter",type:"string",description:"Set the id of the security provider that provides the configured Signature algorithm.",title:"Provider",required:!1,deprecated:!1},publicKeyName:{kind:"parameter",type:"string",description:"references that should be resolved when the context changes",title:"Public Key Name",required:!1,deprecated:!1},secureRandomName:{kind:"parameter",type:"string",description:"Sets the reference name for a SecureRandom that can be found in the registry.",title:"Secure Random Name",required:!1,deprecated:!1},signatureHeaderName:{kind:"parameter",type:"string",description:"Set the name of the message header that should be used to store the base64 encoded signature. This defaults to 'CamelDigitalSignature'",title:"Signature Header Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Set the size of the buffer used to read in the Exchange payload data.",title:"Buffer Size",required:!1,deprecated:!1},certificate:{kind:"parameter",type:"object",description:"Set the Certificate that should be used to verify the signature in the exchange based on its payload.",title:"Certificate",required:!1,deprecated:!1},clearHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Determines if the Signature specific headers be cleared after signing and verification. Defaults to true, and should only be made otherwise at your extreme peril as vital private information such as Keys and passwords may escape if unset.",title:"Clear Headers",required:!1,deprecated:!1},keyStoreParameters:{kind:"parameter",type:"object",description:"Sets the KeyStore that can contain keys and Certficates for use in signing and verifying exchanges based on the given KeyStoreParameters. A KeyStore is typically used with an alias, either one supplied in the Route definition or dynamically via the message header CamelSignatureKeyStoreAlias. If no alias is supplied and there is only a single entry in the Keystore, then this single entry will be used.",title:"Key Store Parameters",required:!1,deprecated:!1},publicKey:{kind:"parameter",type:"object",description:"Set the PublicKey that should be used to verify the signature in the exchange.",title:"Public Key",required:!1,deprecated:!1},secureRandom:{kind:"parameter",type:"object",description:"Set the SecureRandom used to initialize the Signature service",title:"Secure Random",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Sets the password used to access an aliased PrivateKey in the KeyStore.",title:"Password",required:!1,deprecated:!1}}},cxf:{type:"object",title:"CXF",group:"http,webservice",icon:"generic24.png",description:"Expose SOAP WebServices using Apache CXF or connect to external WebServices using CXF WS client.",properties:{beanId:{kind:"path",type:"string",description:"To lookup an existing configured CxfEndpoint. Must used bean: as prefix.",title:"Bean Id",required:!1,deprecated:!1},address:{kind:"path",type:"string",description:"The service publish address.",title:"Address",required:!1,deprecated:!1},dataFormat:{kind:"parameter",type:"object",defaultValue:"POJO",enum:["PAYLOAD","RAW","MESSAGE","CXF_MESSAGE","POJO"],description:"The data type messages supported by the CXF endpoint.",title:"Data Format",required:!1,deprecated:!1},wrappedStyle:{kind:"parameter",type:"boolean",description:"The WSDL style that describes how parameters are represented in the SOAP body. If the value is false, CXF will chose the document-literal unwrapped style, If the value is true, CXF will chose the document-literal wrapped style",title:"Wrapped Style",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},defaultOperationName:{kind:"parameter",type:"string",description:"This option will set the default operationName that will be used by the CxfProducer which invokes the remote service.",title:"Default Operation Name",required:!1,deprecated:!1},defaultOperationNamespace:{kind:"parameter",type:"string",description:"This option will set the default operationNamespace that will be used by the CxfProducer which invokes the remote service.",title:"Default Operation Namespace",required:!1,deprecated:!1},hostnameVerifier:{kind:"parameter",type:"object",description:"The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry.",title:"Hostname Verifier",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"The Camel SSL setting reference. Use the # notation to reference the SSL Context.",title:"Ssl Context Parameters",required:!1,deprecated:!1},wrapped:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Which kind of operation that CXF endpoint producer will invoke",title:"Wrapped",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},allowStreaming:{kind:"parameter",type:"boolean",description:"This option controls whether the CXF component, when running in PAYLOAD mode, will DOM parse the incoming messages into DOM Elements or keep the payload as a javax.xml.transform.Source object that would allow streaming in some cases.",title:"Allow Streaming",required:!1,deprecated:!1},bus:{kind:"parameter",type:"object",description:"To use a custom configured CXF Bus.",title:"Bus",required:!1,deprecated:!1},continuationTimeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport.",title:"Continuation Timeout",required:!1,deprecated:!1},cxfBinding:{kind:"parameter",type:"object",description:"To use a custom CxfBinding to control the binding between Camel Message and CXF Message.",title:"Cxf Binding",required:!1,deprecated:!1},cxfConfigurer:{kind:"parameter",type:"object",description:"This option could apply the implementation of org.apache.camel.component.cxf.CxfEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure{ServerClient} method of CxfEndpointConfigurer.",title:"Cxf Configurer",required:!1,deprecated:!1},defaultBus:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will set the default bus when CXF endpoint create a bus by itself",title:"Default Bus",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},mergeProtocolHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to merge protocol headers. If enabled then propagating headers between Camel and CXF becomes more consistent and similar. For more details see CAMEL-6393.",title:"Merge Protocol Headers",required:!1,deprecated:!1},mtomEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable MTOM (attachments). This requires to use POJO or PAYLOAD data format mode.",title:"Mtom Enabled",required:!1,deprecated:!1},properties:{kind:"parameter",type:"object",description:"To set additional CXF options using the key/value pairs from the Map. For example to turn on stacktraces in SOAP faults, properties.faultStackTraceEnabled=true",title:"Properties",required:!1,deprecated:!1},schemaValidationEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable schema validation for request and response. Disabled by default for performance reason",title:"Schema Validation Enabled",required:!1,deprecated:!1},skipPayloadMessagePartCheck:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether SOAP message validation should be disabled.",title:"Skip Payload Message Part Check",required:!1,deprecated:!1},loggingFeatureEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables CXF Logging Feature which writes inbound and outbound SOAP messages to log.",title:"Logging Feature Enabled",required:!1,deprecated:!1},loggingSizeLimit:{kind:"parameter",type:"integer",defaultValue:"49152",description:"To limit the total size of number of bytes the logger will output when logging feature has been enabled and -1 for no limit.",title:"Logging Size Limit",required:!1,deprecated:!1},skipFaultLogging:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches.",title:"Skip Fault Logging",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"This option is used to set the basic authentication information of password for the CXF client.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"This option is used to set the basic authentication information of username for the CXF client.",title:"Username",required:!1,deprecated:!1},bindingId:{kind:"parameter",type:"string",description:"The bindingId for the service model to use.",title:"Binding Id",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The endpoint name this service is implementing, it maps to the wsdl:portname. In the format of ns:PORT_NAME where ns is a namespace prefix valid at this scope.",title:"Port Name",required:!1,deprecated:!1},publishedEndpointUrl:{kind:"parameter",type:"string",description:"This option can override the endpointUrl that published from the WSDL which can be accessed with service address url plus wsd",title:"Published Endpoint Url",required:!1,deprecated:!1},serviceClass:{kind:"parameter",type:"string",description:"The class name of the SEI (Service Endpoint Interface) class which could have JSR181 annotation or not.",title:"Service Class",required:!1,deprecated:!1},serviceName:{kind:"parameter",type:"string",description:"The service name this service is implementing, it maps to the wsdl:servicename.",title:"Service Name",required:!1,deprecated:!1},wsdlURL:{kind:"parameter",type:"string",description:"The location of the WSDL. Can be on the classpath, file system, or be hosted remotely.",title:"Wsdl URL",required:!1,deprecated:!1}}},cxfrs:{type:"object",title:"CXF-RS",group:"rest",icon:"generic24.png",description:"Expose JAX-RS REST services using Apache CXF or connect to external REST services using CXF REST client.",acceptInput:"",acceptOutput:"",nextSiblingAddedAsChild:"false",properties:{beanId:{kind:"path",type:"string",description:"To lookup an existing configured CxfRsEndpoint. Must used bean: as prefix.",title:"Bean Id",required:!1,deprecated:!1},address:{kind:"path",type:"string",description:"The service publish address.",title:"Address",required:!1,deprecated:!1},features:{kind:"parameter",type:"array",description:"Set the feature list to the CxfRs endpoint.",title:"Features",required:!1,deprecated:!1},loggingFeatureEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables CXF Logging Feature which writes inbound and outbound REST messages to log.",title:"Logging Feature Enabled",required:!1,deprecated:!1},loggingSizeLimit:{kind:"parameter",type:"integer",description:"To limit the total size of number of bytes the logger will output when logging feature has been enabled.",title:"Logging Size Limit",required:!1,deprecated:!1},modelRef:{kind:"parameter",type:"string",description:"This option is used to specify the model file which is useful for the resource class without annotation. When using this option, then the service class can be omitted, to emulate document-only endpoints",title:"Model Ref",required:!1,deprecated:!1},providers:{kind:"parameter",type:"string",description:"Set custom JAX-RS provider(s) list to the CxfRs endpoint. You can specify a string with a list of providers to lookup in the registy separated by comma.",title:"Providers",required:!1,deprecated:!1},resourceClasses:{kind:"parameter",type:"array",description:"The resource classes which you want to export as REST service. Multiple classes can be separated by comma.",title:"Resource Classes",required:!1,deprecated:!1},schemaLocations:{kind:"parameter",type:"array",description:"Sets the locations of the schema(s) which can be used to validate the incoming XML or JAXB-driven JSON.",title:"Schema Locations",required:!1,deprecated:!1},skipFaultLogging:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option controls whether the PhaseInterceptorChain skips logging the Fault that it catches.",title:"Skip Fault Logging",required:!1,deprecated:!1},bindingStyle:{kind:"parameter",type:"object",defaultValue:"Default",enum:["SimpleConsumer","Default","Custom"],description:"Sets how requests and responses will be mapped to/from Camel. Two values are possible: SimpleConsumer: This binding style processes request parameters, multiparts, etc. and maps them to IN headers, IN attachments and to the message body. It aims to eliminate low-level processing of org.apache.cxf.message.MessageContentsList. It also also adds more flexibility and simplicity to the response mapping. Only available for consumers. Default: The default style. For consumers this passes on a MessageContentsList to the route, requiring low-level processing in the route. This is the traditional binding style, which simply dumps the org.apache.cxf.message.MessageContentsList coming in from the CXF stack onto the IN message body. The user is then responsible for processing it according to the contract defined by the JAX-RS method signature. Custom: allows you to specify a custom binding through the binding option.",title:"Binding Style",required:!1,deprecated:!1},publishedEndpointUrl:{kind:"parameter",type:"string",description:"This option can override the endpointUrl that published from the WADL which can be accessed with resource address url plus _wadl",title:"Published Endpoint Url",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},serviceBeans:{kind:"parameter",type:"string",description:"The service beans (the bean ids to lookup in the registry) which you want to export as REST service. Multiple beans can be separated by comma",title:"Service Beans",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},hostnameVerifier:{kind:"parameter",type:"object",description:"The hostname verifier to be used. Use the # notation to reference a HostnameVerifier from the registry.",title:"Hostname Verifier",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"The Camel SSL setting reference. Use the # notation to reference the SSL Context.",title:"Ssl Context Parameters",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option tells the CxfRsProducer to inspect return codes and will generate an Exception if the return code is larger than 207.",title:"Throw Exception On Failure",required:!1,deprecated:!1},httpClientAPI:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the CxfRsProducer will use the HttpClientAPI to invoke the service. If it is false, the CxfRsProducer will use the ProxyClientAPI to invoke the service",title:"Http Client API",required:!1,deprecated:!1},ignoreDeleteMethodMessageBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is used to tell CxfRsProducer to ignore the message body of the DELETE method when using HTTP API.",title:"Ignore Delete Method Message Body",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},maxClientCacheSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"This option allows you to configure the maximum size of the cache. The implementation caches CXF clients or ClientFactoryBean in CxfProvider and CxfRsProvider.",title:"Max Client Cache Size",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"To use a custom CxfBinding to control the binding between Camel Message and CXF Message.",title:"Binding",required:!1,deprecated:!1},bus:{kind:"parameter",type:"object",description:"To use a custom configured CXF Bus.",title:"Bus",required:!1,deprecated:!1},continuationTimeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"This option is used to set the CXF continuation timeout which could be used in CxfConsumer by default when the CXF server is using Jetty or Servlet transport.",title:"Continuation Timeout",required:!1,deprecated:!1},cxfRsConfigurer:{kind:"parameter",type:"object",description:"This option could apply the implementation of org.apache.camel.component.cxf.jaxrs.CxfRsEndpointConfigurer which supports to configure the CXF endpoint in programmatic way. User can configure the CXF server and client by implementing configure{Server/Client} method of CxfEndpointConfigurer.",title:"Cxf Rs Configurer",required:!1,deprecated:!1},defaultBus:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will set the default bus when CXF endpoint create a bus by itself",title:"Default Bus",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},performInvocation:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When the option is true, Camel will perform the invocation of the resource class instance and put the response object into the exchange for further processing.",title:"Perform Invocation",required:!1,deprecated:!1},propagateContexts:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When the option is true, JAXRS UriInfo, HttpHeaders, Request and SecurityContext contexts will be available to custom CXFRS processors as typed Camel exchange properties. These contexts can be used to analyze the current requests using JAX-RS API.",title:"Propagate Contexts",required:!1,deprecated:!1}}},dataformat:{type:"object",title:"Data Format",group:"core,transformation",icon:"generic24.png",description:"Use a Camel Data Format as a regular Camel Component.",properties:{name:{kind:"path",type:"string",description:"Name of data format",title:"Name",required:!0,deprecated:!1},operation:{kind:"path",type:"string",enum:["marshal","unmarshal"],description:"Operation to use either marshal or unmarshal",title:"Operation",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},dataset:{type:"object",title:"Dataset",group:"core,testing",icon:"generic24.png",description:"Provide data for load and soak testing of your Camel application.",properties:{name:{kind:"path",type:"object",description:"Name of DataSet to lookup in the registry",title:"Name",required:!0,deprecated:!1},dataSetIndex:{kind:"parameter",type:"string",defaultValue:"lenient",enum:["strict","lenient","off"],description:"Controls the behaviour of the CamelDataSetIndex header. off (consumer) the header will not be set. strict (consumer) the header will be set. lenient (consumer) the header will be set. off (producer) the header value will not be verified, and will not be set if it is not present. strict (producer) the header value must be present and will be verified. lenient (producer) the header value will be verified if it is present, and will be set if it is not present.",title:"Data Set Index",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Time period in millis to wait before starting sending messages.",title:"Initial Delay",required:!1,deprecated:!1},minRate:{kind:"parameter",type:"integer",defaultValue:"0",description:"Wait until the DataSet contains at least this number of messages",title:"Min Rate",required:!1,deprecated:!1},preloadSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"Sets how many messages should be preloaded (sent) before the route completes its initialization",title:"Preload Size",required:!1,deprecated:!1},produceDelay:{kind:"parameter",type:"duration",defaultValue:"3",description:"Allows a delay to be specified which causes a delay when a message is sent by the consumer (to simulate slow processing)",title:"Produce Delay",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},assertPeriod:{kind:"parameter",type:"duration",description:"Sets a grace period after which the mock endpoint will re-assert to ensure the preliminary assertion is still valid. This is used for example to assert that exactly a number of messages arrives. For example if expected count was set to 5, then the assertion is satisfied when 5 or more message arrives. To ensure that exactly 5 messages arrives, then you would need to wait a little period to ensure no further message arrives. This is what you can use this method for. By default this period is disabled.",title:"Assert Period",required:!1,deprecated:!1},consumeDelay:{kind:"parameter",type:"duration",defaultValue:"0",description:"Allows a delay to be specified which causes a delay when a message is consumed by the producer (to simulate slow processing)",title:"Consume Delay",required:!1,deprecated:!1},expectedCount:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages, then take extra care, as 0 matches when the tests starts, so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use setAssertPeriod(long). An alternative is to use NotifyBuilder, and use the notifier to know when Camel is done routing some messages, before you call the assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period, to speedup testing times. If you want to assert that exactly nth message arrives to this mock endpoint, then see also the setAssertPeriod(long) method for further details.",title:"Expected Count",required:!1,deprecated:!1},failFast:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether assertIsSatisfied() should fail fast at the first detected failed expectation while it may otherwise wait for all expected messages to arrive before performing expectations verifications. Is by default true. Set to false to use behavior as in Camel 2.x.",title:"Fail Fast",required:!1,deprecated:!1},log:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To turn on logging when the mock receives an incoming message. This will log only one time at INFO level for the incoming message. For more detailed logging then set the logger to DEBUG level for the org.apache.camel.component.mock.MockEndpoint class.",title:"Log",required:!1,deprecated:!1},reportGroup:{kind:"parameter",type:"integer",description:"A number that is used to turn on throughput logging based on groups of the size.",title:"Report Group",required:!1,deprecated:!1},resultMinimumWaitTime:{kind:"parameter",type:"duration",description:"Sets the minimum expected amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Minimum Wait Time",required:!1,deprecated:!1},resultWaitTime:{kind:"parameter",type:"duration",description:"Sets the maximum amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Wait Time",required:!1,deprecated:!1},retainFirst:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the first nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the first 10 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain First",required:!1,deprecated:!1},retainLast:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the last nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the last 20 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain Last",required:!1,deprecated:!1},sleepForEmptyTest:{kind:"parameter",type:"duration",description:"Allows a sleep to be specified to wait to check that this endpoint really is empty when expectedMessageCount(int) is called with zero",title:"Sleep For Empty Test",required:!1,deprecated:!1},copyOnExchange:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to make a deep copy of the incoming Exchange when received at this mock endpoint. Is by default true.",title:"Copy On Exchange",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"dataset-test":{type:"object",title:"DataSet Test",group:"core,testing",icon:"generic24.png",description:"Extends the mock component by pulling messages from another endpoint on startup to set the expected message bodies.",properties:{name:{kind:"path",type:"string",description:"Name of endpoint to lookup in the registry to use for polling messages used for testing",title:"Name",required:!0,deprecated:!1},anyOrder:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the expected messages should arrive in the same order or can be in any order.",title:"Any Order",required:!1,deprecated:!1},assertPeriod:{kind:"parameter",type:"duration",description:"Sets a grace period after which the mock endpoint will re-assert to ensure the preliminary assertion is still valid. This is used for example to assert that exactly a number of messages arrives. For example if expected count was set to 5, then the assertion is satisfied when 5 or more message arrives. To ensure that exactly 5 messages arrives, then you would need to wait a little period to ensure no further message arrives. This is what you can use this method for. By default this period is disabled.",title:"Assert Period",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"string",description:"The split delimiter to use when split is enabled. By default the delimiter is new line based. The delimiter can be a regular expression.",title:"Delimiter",required:!1,deprecated:!1},expectedCount:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages, then take extra care, as 0 matches when the tests starts, so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use setAssertPeriod(long). An alternative is to use NotifyBuilder, and use the notifier to know when Camel is done routing some messages, before you call the assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period, to speedup testing times. If you want to assert that exactly nth message arrives to this mock endpoint, then see also the setAssertPeriod(long) method for further details.",title:"Expected Count",required:!1,deprecated:!1},failFast:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether assertIsSatisfied() should fail fast at the first detected failed expectation while it may otherwise wait for all expected messages to arrive before performing expectations verifications. Is by default true. Set to false to use behavior as in Camel 2.x.",title:"Fail Fast",required:!1,deprecated:!1},log:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To turn on logging when the mock receives an incoming message. This will log only one time at INFO level for the incoming message. For more detailed logging then set the logger to DEBUG level for the org.apache.camel.component.mock.MockEndpoint class.",title:"Log",required:!1,deprecated:!1},reportGroup:{kind:"parameter",type:"integer",description:"A number that is used to turn on throughput logging based on groups of the size.",title:"Report Group",required:!1,deprecated:!1},resultMinimumWaitTime:{kind:"parameter",type:"duration",description:"Sets the minimum expected amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Minimum Wait Time",required:!1,deprecated:!1},resultWaitTime:{kind:"parameter",type:"duration",description:"Sets the maximum amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Wait Time",required:!1,deprecated:!1},retainFirst:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the first nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the first 10 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain First",required:!1,deprecated:!1},retainLast:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the last nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the last 20 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain Last",required:!1,deprecated:!1},sleepForEmptyTest:{kind:"parameter",type:"duration",description:"Allows a sleep to be specified to wait to check that this endpoint really is empty when expectedMessageCount(int) is called with zero",title:"Sleep For Empty Test",required:!1,deprecated:!1},split:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled the messages loaded from the test endpoint will be split using new line delimiters so each line is an expected message. For example to use a file endpoint to load a file where each line is an expected message.",title:"Split",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"2000",description:"The timeout to use when polling for message bodies from the URI",title:"Timeout",required:!1,deprecated:!1},copyOnExchange:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to make a deep copy of the incoming Exchange when received at this mock endpoint. Is by default true.",title:"Copy On Exchange",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"debezium-db2":{type:"object",title:"Debezium DB2 Connector",group:"database",icon:"generic24.png",description:"Capture changes from a DB2 database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},columnExcludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to exclude from change events",title:"Column Exclude List",required:!1,deprecated:!1},columnIncludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to include in change events",title:"Column Include List",required:!1,deprecated:!1},columnPropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching fully-qualified names of columns that adds the columns original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Column Propagate Source Type",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},customMetricTags:{kind:"parameter",type:"string",description:"The custom metric tags will accept key-value pairs to customize the MBean object name which should be appended the end of regular name, each key would represent a tag for the MBean object name, and the corresponding value would be the value of that tag the key is. For example: k1=v1,k2=v2",title:"Custom Metric Tags",required:!1,deprecated:!1},databaseDbname:{kind:"parameter",type:"string",description:"The name of the database from which the connector should capture changes",title:"Database Dbname",required:!1,deprecated:!1},databaseHostname:{kind:"parameter",type:"string",description:"Resolvable hostname or IP address of the database server.",title:"Database Hostname",required:!1,deprecated:!1},databasePassword:{kind:"parameter",type:"string",description:"Password of the database user to be used when connecting to the database.",title:"Database Password",required:!0,deprecated:!1},databasePort:{kind:"parameter",type:"integer",defaultValue:"50000",description:"Port of the database server.",title:"Database Port",required:!1,deprecated:!1},databaseUser:{kind:"parameter",type:"string",description:"Name of the database user to be used when connecting to the database.",title:"Database User",required:!1,deprecated:!1},datatypePropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Datatype Propagate Source Type",required:!1,deprecated:!1},decimalHandlingMode:{kind:"parameter",type:"string",defaultValue:"precise",description:"Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to represent values; 'double' represents values using Java's 'double', which may not offer the precision but will be far easier to use in consumers.",title:"Decimal Handling Mode",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},includeSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the connector should publish changes in the database schema to a Kafka topic with the same name as the database server ID. Each schema change will be recorded using a key that contains the database name and whose value include logical description of the new schema and optionally the DDL statement(s). The default is 'true'. This is independent of how the connector internally records database schema history.",title:"Include Schema Changes",required:!1,deprecated:!1},incrementalSnapshotChunkSize:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum size of chunk (number of documents/rows) for incremental snapshotting",title:"Incremental Snapshot Chunk Size",required:!1,deprecated:!1},incrementalSnapshotWatermarkingStrategy:{kind:"parameter",type:"string",defaultValue:"INSERT_INSERT",description:"Specify the strategy used for watermarking during an incremental snapshot: 'insert_insert' both open and close signal is written into signal data collection (default); 'insert_delete' only open signal is written on signal data collection, the close will delete the relative open signal;",title:"Incremental Snapshot Watermarking Strategy",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},messageKeyColumns:{kind:"parameter",type:"string",description:"A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Each expression must match the pattern ':', where the table names could be defined as (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connector, and the key columns are a comma-separated list of columns representing the custom key. For any table without an explicit key configuration the table's primary key column(s) will be used as message key. Example: dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id",title:"Message Key Columns",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},postProcessors:{kind:"parameter",type:"string",description:"Optional list of post processors. The processors are defined using '.type' config option and configured using options ''",title:"Post Processors",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"10000",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size. The default value is '10000'.",title:"Query Fetch Size",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaHistoryInternal:{kind:"parameter",type:"string",defaultValue:"io.debezium.storage.kafka.history.KafkaSchemaHistory",description:"The name of the SchemaHistory class that should be used to store and recover database schema changes. The configuration properties for the history are prefixed with the 'schema.history.internal.' string.",title:"Schema History Internal",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaHistoryInternalSkipUnparseableDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls the action Debezium will take when it meets a DDL statement in binlog, that it cannot parse.By default the connector will stop operating but by changing the setting it can ignore the statements which it cannot parse. If skipping is enabled then Debezium can miss metadata changes.",title:"Schema History Internal Skip Unparseable Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedDatabasesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (true) only DDL that manipulates a table from captured schema/database will be stored. If set to false, then Debezium will store all incoming DDL statements.",title:"Schema History Internal Store Only Captured Databases Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedTablesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (false) Debezium will store all incoming DDL statements. If set to true, then only DDL that manipulates a captured table will be stored.",title:"Schema History Internal Store Only Captured Tables Ddl",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotLockTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this time frame, the snapshot will be aborted. Defaults to 10 seconds",title:"Snapshot Lock Timeout Ms",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Options include: 'initial' (the default) to specify the connector should run a snapshot only when no offsets are available for the logical server name; 'schema_only' to specify the connector should run a snapshot of the schema when no offsets are available for the logical server name.",title:"Snapshot Mode",required:!1,deprecated:!1},snapshotSelectStatementOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connectors. Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.",title:"Snapshot Select Statement Overrides",required:!1,deprecated:!1},snapshotTablesOrderByRowCount:{kind:"parameter",type:"string",defaultValue:"disabled",description:"Controls the order in which tables are processed in the initial snapshot. A descending value will order the tables by row count descending. A ascending value will order the tables by row count ascending. A value of disabled (the default) will disable ordering by row count.",title:"Snapshot Tables Order By Row Count",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.db2.Db2SourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},tableExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring",title:"Table Exclude List",required:!1,deprecated:!1},tableIgnoreBuiltin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Flag specifying whether built-in tables should be ignored.",title:"Table Ignore Builtin",required:!1,deprecated:!1},tableIncludeList:{kind:"parameter",type:"string",description:"The tables for which changes are to be captured",title:"Table Include List",required:!1,deprecated:!1},timePrecisionMode:{kind:"parameter",type:"string",defaultValue:"adaptive",description:"Time, date, and timestamps can be represented with different kinds of precisions, including: 'adaptive' (the default) bases the precision of time, date, and timestamp values on the database column's precision; 'adaptive_time_microseconds' like 'adaptive' mode, but TIME fields always use microseconds precision; 'connect' always represents time, date, and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision.",title:"Time Precision Mode",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1}}},"debezium-mongodb":{type:"object",title:"Debezium MongoDB Connector",group:"database",icon:"generic24.png",description:"Capture changes from a MongoDB database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},captureMode:{kind:"parameter",type:"string",defaultValue:"change_streams_update_full",description:"The method used to capture changes from MongoDB server. Options include: 'change_streams' to capture changes via MongoDB Change Streams, update events do not contain full documents; 'change_streams_update_full' (the default) to capture changes via MongoDB Change Streams, update events contain full documents",title:"Capture Mode",required:!1,deprecated:!1},collectionExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions or literals that match the collection names for which changes are to be excluded",title:"Collection Exclude List",required:!1,deprecated:!1},collectionIncludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions or literals that match the collection names for which changes are to be captured",title:"Collection Include List",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},cursorMaxAwaitTimeMs:{kind:"parameter",type:"duration",description:"The maximum processing time in milliseconds to wait for the oplog cursor to process a single poll request",title:"Cursor Max Await Time Ms",required:!1,deprecated:!1},customMetricTags:{kind:"parameter",type:"string",description:"The custom metric tags will accept key-value pairs to customize the MBean object name which should be appended the end of regular name, each key would represent a tag for the MBean object name, and the corresponding value would be the value of that tag the key is. For example: k1=v1,k2=v2",title:"Custom Metric Tags",required:!1,deprecated:!1},databaseExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions or literals that match the database names for which changes are to be excluded",title:"Database Exclude List",required:!1,deprecated:!1},databaseIncludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions or literals that match the database names for which changes are to be captured",title:"Database Include List",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},fieldExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of the fully-qualified names of fields that should be excluded from change event message values",title:"Field Exclude List",required:!1,deprecated:!1},fieldRenames:{kind:"parameter",type:"string",description:"A comma-separated list of the fully-qualified replacements of fields that should be used to rename fields in change event message values. Fully-qualified replacements for fields are of the form databaseName.collectionName.fieldName.nestedFieldName:newNestedFieldName, where databaseName and collectionName may contain the wildcard () which matches any characters, the colon character (:) is used to determine rename mapping of field.",title:"Field Renames",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},incrementalSnapshotWatermarkingStrategy:{kind:"parameter",type:"string",defaultValue:"INSERT_INSERT",description:"Specify the strategy used for watermarking during an incremental snapshot: 'insert_insert' both open and close signal is written into signal data collection (default); 'insert_delete' only open signal is written on signal data collection, the close will delete the relative open signal;",title:"Incremental Snapshot Watermarking Strategy",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},mongodbAuthsource:{kind:"parameter",type:"string",defaultValue:"admin",description:"Database containing user credentials.",title:"Mongodb Authsource",required:!1,deprecated:!1},mongodbConnectionMode:{kind:"parameter",type:"string",defaultValue:"sharded",description:"The method used to connect to MongoDB cluster. Options include: 'replica_set' to individually connect to each replica set / shard 'sharded' (the default) to connect via single connection obtained from connection string",title:"Mongodb Connection Mode",required:!1,deprecated:!1},mongodbConnectionString:{kind:"parameter",type:"string",description:"Database connection string.",title:"Mongodb Connection String",required:!1,deprecated:!1},mongodbConnectTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The connection timeout, given in milliseconds. Defaults to 10 seconds (10,000 ms).",title:"Mongodb Connect Timeout Ms",required:!1,deprecated:!1},mongodbHeartbeatFrequencyMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The frequency that the cluster monitor attempts to reach each server. Defaults to 10 seconds (10,000 ms).",title:"Mongodb Heartbeat Frequency Ms",required:!1,deprecated:!1},mongodbPassword:{kind:"parameter",type:"string",description:"Password to be used when connecting to MongoDB, if necessary.",title:"Mongodb Password",required:!0,deprecated:!1},mongodbPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"30s",description:"Interval for looking for new, removed, or changed replica sets, given in milliseconds. Defaults to 30 seconds (30,000 ms).",title:"Mongodb Poll Interval Ms",required:!1,deprecated:!1},mongodbServerSelectionTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"30s",description:"The server selection timeout, given in milliseconds. Defaults to 10 seconds (10,000 ms).",title:"Mongodb Server Selection Timeout Ms",required:!1,deprecated:!1},mongodbSocketTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"The socket timeout, given in milliseconds. Defaults to 0 ms.",title:"Mongodb Socket Timeout Ms",required:!1,deprecated:!1},mongodbSslEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should connector use SSL to connect to MongoDB instances",title:"Mongodb Ssl Enabled",required:!1,deprecated:!1},mongodbSslInvalidHostnameAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether invalid host names are allowed when using SSL. If true the connection will not prevent man-in-the-middle attacks",title:"Mongodb Ssl Invalid Hostname Allowed",required:!1,deprecated:!1},mongodbUser:{kind:"parameter",type:"string",description:"Database user for connecting to MongoDB, if necessary.",title:"Mongodb User",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},postProcessors:{kind:"parameter",type:"string",description:"Optional list of post processors. The processors are defined using '.type' config option and configured using options ''",title:"Post Processors",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size.",title:"Query Fetch Size",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},snapshotCollectionFilterOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of ., for which the initial snapshot may be a subset of data present in the data source. The subset would be defined by mongodb filter query specified as value for property snapshot.collection.filter.override..",title:"Snapshot Collection Filter Overrides",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotMaxThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The maximum number of threads used to perform the snapshot. Defaults to 1.",title:"Snapshot Max Threads",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'initial' (default): If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures the current full state of the configured tables. After the snapshot completes, the connector begins to stream changes from the oplog. 'never': The connector does not run a snapshot. Upon first startup, the connector immediately begins reading from the beginning of the oplog.",title:"Snapshot Mode",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.mongodb.MongoDbSourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1}}},"debezium-mysql":{type:"object",title:"Debezium MySQL Connector",group:"database",icon:"generic24.png",description:"Capture changes from a MySQL database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},bigintUnsignedHandlingMode:{kind:"parameter",type:"string",defaultValue:"long",description:"Specify how BIGINT UNSIGNED columns should be represented in change events, including: 'precise' uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'long' (the default) represents values using Java's 'long', which may not offer the precision but will be far easier to use in consumers.",title:"Bigint Unsigned Handling Mode",required:!1,deprecated:!1},binaryHandlingMode:{kind:"parameter",type:"string",defaultValue:"bytes",description:"Specify how binary (blob, binary, etc.) columns should be represented in change events, including: 'bytes' represents binary data as byte array (default); 'base64' represents binary data as base64-encoded string; 'base64-url-safe' represents binary data as base64-url-safe-encoded string; 'hex' represents binary data as hex-encoded (base16) string",title:"Binary Handling Mode",required:!1,deprecated:!1},binlogBufferSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The size of a look-ahead buffer used by the binlog reader to decide whether the transaction in progress is going to be committed or rolled back. Use 0 to disable look-ahead buffering. Defaults to 0 (i.e. buffering is disabled).",title:"Binlog Buffer Size",required:!1,deprecated:!1},columnExcludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to exclude from change events",title:"Column Exclude List",required:!1,deprecated:!1},columnIncludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to include in change events",title:"Column Include List",required:!1,deprecated:!1},columnPropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching fully-qualified names of columns that adds the columns original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Column Propagate Source Type",required:!1,deprecated:!1},connectKeepAlive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether a separate thread should be used to ensure the connection is kept alive.",title:"Connect Keep Alive",required:!1,deprecated:!1},connectKeepAliveIntervalMs:{kind:"parameter",type:"duration",defaultValue:"1m",description:"Interval for connection checking if keep alive thread is used, given in milliseconds Defaults to 1 minute (60,000 ms).",title:"Connect Keep Alive Interval Ms",required:!1,deprecated:!1},connectorAdapter:{kind:"parameter",type:"string",defaultValue:"mysql",description:"Specifies the connection adapter to be used",title:"Connector Adapter",required:!1,deprecated:!1},connectTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"30s",description:"Maximum time to wait after trying to connect to the database before timing out, given in milliseconds. Defaults to 30 seconds (30,000 ms).",title:"Connect Timeout Ms",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},customMetricTags:{kind:"parameter",type:"string",description:"The custom metric tags will accept key-value pairs to customize the MBean object name which should be appended the end of regular name, each key would represent a tag for the MBean object name, and the corresponding value would be the value of that tag the key is. For example: k1=v1,k2=v2",title:"Custom Metric Tags",required:!1,deprecated:!1},databaseExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match database names to be excluded from monitoring",title:"Database Exclude List",required:!1,deprecated:!1},databaseHostname:{kind:"parameter",type:"string",description:"Resolvable hostname or IP address of the database server.",title:"Database Hostname",required:!1,deprecated:!1},databaseIncludeList:{kind:"parameter",type:"string",description:"The databases for which changes are to be captured",title:"Database Include List",required:!1,deprecated:!1},databaseInitialStatements:{kind:"parameter",type:"string",description:"A semicolon separated list of SQL statements to be executed when a JDBC connection (not binlog reading connection) to the database is established. Note that the connector may establish JDBC connections at its own discretion, so this should typically be used for configuration of session parameters only, but not for executing DML statements. Use doubled semicolon (';;') to use a semicolon as a character and not as a delimiter.",title:"Database Initial Statements",required:!1,deprecated:!1},databaseJdbcDriver:{kind:"parameter",type:"string",defaultValue:"com.mysql.cj.jdbc.Driver",description:"JDBC Driver class name used to connect to the MySQL database server.",title:"Database Jdbc Driver",required:!1,deprecated:!1},databasePassword:{kind:"parameter",type:"string",description:"Password of the database user to be used when connecting to the database.",title:"Database Password",required:!0,deprecated:!1},databasePort:{kind:"parameter",type:"integer",defaultValue:"3306",description:"Port of the database server.",title:"Database Port",required:!1,deprecated:!1},databaseServerId:{kind:"parameter",type:"integer",description:"A numeric ID of this database client, which must be unique across all currently-running database processes in the cluster. This connector joins the MySQL database cluster as another server (with this unique ID) so it can read the binlog.",title:"Database Server Id",required:!1,deprecated:!1},databaseServerIdOffset:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Only relevant if parallel snapshotting is configured. During parallel snapshotting, multiple (4) connections open to the database client, and they each need their own unique connection ID. This offset is used to generate those IDs from the base configured cluster ID.",title:"Database Server Id Offset",required:!1,deprecated:!1},databaseSslKeystore:{kind:"parameter",type:"string",description:"The location of the key store file. This is optional and can be used for two-way authentication between the client and the MySQL Server.",title:"Database Ssl Keystore",required:!1,deprecated:!1},databaseSslKeystorePassword:{kind:"parameter",type:"string",description:"The password for the key store file. This is optional and only needed if 'database.ssl.keystore' is configured.",title:"Database Ssl Keystore Password",required:!1,deprecated:!1},databaseSslMode:{kind:"parameter",type:"string",defaultValue:"preferred",description:"Whether to use an encrypted connection to MySQL. Options include: 'disabled' to use an unencrypted connection; 'preferred' (the default) to establish a secure (encrypted) connection if the server supports secure connections, but fall back to an unencrypted connection otherwise; 'required' to use a secure (encrypted) connection, and fail if one cannot be established; 'verify_ca' like 'required' but additionally verify the server TLS certificate against the configured Certificate Authority (CA) certificates, or fail if no valid matching CA certificates are found; or'verify_identity' like 'verify_ca' but additionally verify that the server certificate matches the host to which the connection is attempted.",title:"Database Ssl Mode",required:!1,deprecated:!1},databaseSslTruststore:{kind:"parameter",type:"string",description:"The location of the trust store file for the server certificate verification.",title:"Database Ssl Truststore",required:!1,deprecated:!1},databaseSslTruststorePassword:{kind:"parameter",type:"string",description:"The password for the trust store file. Used to check the integrity of the truststore, and unlock the truststore.",title:"Database Ssl Truststore Password",required:!1,deprecated:!1},databaseUser:{kind:"parameter",type:"string",description:"Name of the database user to be used when connecting to the database.",title:"Database User",required:!1,deprecated:!1},datatypePropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Datatype Propagate Source Type",required:!1,deprecated:!1},decimalHandlingMode:{kind:"parameter",type:"string",defaultValue:"precise",description:"Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to represent values; 'double' represents values using Java's 'double', which may not offer the precision but will be far easier to use in consumers.",title:"Decimal Handling Mode",required:!1,deprecated:!1},enableTimeAdjuster:{kind:"parameter",type:"boolean",defaultValue:"true",description:"MySQL allows user to insert year value as either 2-digit or 4-digit. In case of two digit the value is automatically mapped into 1970 - 2069.false - delegates the implicit conversion to the databasetrue - (the default) Debezium makes the conversion",title:"Enable Time Adjuster",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventDeserializationFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during deserialization of binlog events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its binlog position is raised, causing the connector to be stopped; 'warn' the problematic event and its binlog position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Deserialization Failure Handling Mode",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},gtidSourceExcludes:{kind:"parameter",type:"string",description:"The source UUIDs used to exclude GTID ranges when determine the starting position in the MySQL server's binlog.",title:"Gtid Source Excludes",required:!1,deprecated:!1},gtidSourceFilterDmlEvents:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If set to true, we will only produce DML events into Kafka for transactions that were written on mysql servers with UUIDs matching the filters defined by the gtid.source.includes or gtid.source.excludes configuration options, if they are specified.",title:"Gtid Source Filter Dml Events",required:!1,deprecated:!1},gtidSourceIncludes:{kind:"parameter",type:"string",description:"The source UUIDs used to include GTID ranges when determine the starting position in the MySQL server's binlog.",title:"Gtid Source Includes",required:!1,deprecated:!1},heartbeatActionQuery:{kind:"parameter",type:"string",description:"The query executed with every heartbeat.",title:"Heartbeat Action Query",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},includeQuery:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the connector should include the original SQL query that generated the change event. Note: This option requires MySQL be configured with the binlog_rows_query_log_events option set to ON. If using MariaDB, configure the binlog_annotate_row_events option must be set to ON. Query will not be present for events generated from snapshot. WARNING: Enabling this option may expose tables or fields explicitly excluded or masked by including the original SQL statement in the change event. For this reason the default value is 'false'.",title:"Include Query",required:!1,deprecated:!1},includeSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the connector should publish changes in the database schema to a Kafka topic with the same name as the database server ID. Each schema change will be recorded using a key that contains the database name and whose value include logical description of the new schema and optionally the DDL statement(s). The default is 'true'. This is independent of how the connector internally records database schema history.",title:"Include Schema Changes",required:!1,deprecated:!1},includeSchemaComments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the connector parse table and column's comment to metadata object. Note: Enable this option will bring the implications on memory usage. The number and size of ColumnImpl objects is what largely impacts how much memory is consumed by the Debezium connectors, and adding a String to each of them can potentially be quite heavy. The default is 'false'.",title:"Include Schema Comments",required:!1,deprecated:!1},inconsistentSchemaHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how binlog events that belong to a table missing from internal schema representation (i.e. internal representation is not consistent with database) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its binlog position is raised, causing the connector to be stopped; 'warn' the problematic event and its binlog position will be logged and the event will be skipped; 'skip' the problematic event will be skipped.",title:"Inconsistent Schema Handling Mode",required:!1,deprecated:!1},incrementalSnapshotAllowSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Detect schema change during an incremental snapshot and re-select a current chunk to avoid locking DDLs. Note that changes to a primary key are not supported and can cause incorrect results if performed during an incremental snapshot. Another limitation is that if a schema change affects only columns' default values, then the change won't be detected until the DDL is processed from the binlog stream. This doesn't affect the snapshot events' values, but the schema of snapshot events may have outdated defaults.",title:"Incremental Snapshot Allow Schema Changes",required:!1,deprecated:!1},incrementalSnapshotChunkSize:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum size of chunk (number of documents/rows) for incremental snapshotting",title:"Incremental Snapshot Chunk Size",required:!1,deprecated:!1},incrementalSnapshotWatermarkingStrategy:{kind:"parameter",type:"string",defaultValue:"INSERT_INSERT",description:"Specify the strategy used for watermarking during an incremental snapshot: 'insert_insert' both open and close signal is written into signal data collection (default); 'insert_delete' only open signal is written on signal data collection, the close will delete the relative open signal;",title:"Incremental Snapshot Watermarking Strategy",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},messageKeyColumns:{kind:"parameter",type:"string",description:"A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Each expression must match the pattern ':', where the table names could be defined as (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connector, and the key columns are a comma-separated list of columns representing the custom key. For any table without an explicit key configuration the table's primary key column(s) will be used as message key. Example: dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id",title:"Message Key Columns",required:!1,deprecated:!1},minRowCountToStreamResults:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The number of rows a table must contain to stream results rather than pull all into memory during snapshots. Defaults to 1,000. Use 0 to stream all results and completely avoid checking the size of each table.",title:"Min Row Count To Stream Results",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},postProcessors:{kind:"parameter",type:"string",description:"Optional list of post processors. The processors are defined using '.type' config option and configured using options ''",title:"Post Processors",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size.",title:"Query Fetch Size",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaHistoryInternal:{kind:"parameter",type:"string",defaultValue:"io.debezium.storage.kafka.history.KafkaSchemaHistory",description:"The name of the SchemaHistory class that should be used to store and recover database schema changes. The configuration properties for the history are prefixed with the 'schema.history.internal.' string.",title:"Schema History Internal",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaHistoryInternalSkipUnparseableDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls the action Debezium will take when it meets a DDL statement in binlog, that it cannot parse.By default the connector will stop operating but by changing the setting it can ignore the statements which it cannot parse. If skipping is enabled then Debezium can miss metadata changes.",title:"Schema History Internal Skip Unparseable Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedDatabasesDdl:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls what DDL will Debezium store in database schema history. By default (true) only DDL that manipulates a table from captured schema/database will be stored. If set to false, then Debezium will store all incoming DDL statements.",title:"Schema History Internal Store Only Captured Databases Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedTablesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (false) Debezium will store all incoming DDL statements. If set to true, then only DDL that manipulates a captured table will be stored.",title:"Schema History Internal Store Only Captured Tables Ddl",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotLockingMode:{kind:"parameter",type:"string",defaultValue:"minimal",description:"Controls how long the connector holds onto the global read lock while it is performing a snapshot. The default is 'minimal', which means the connector holds the global read lock (and thus prevents any updates) for just the initial portion of the snapshot while the database schemas and other metadata are being read. The remaining work in a snapshot involves selecting all rows from each table, and this can be done using the snapshot process' REPEATABLE READ transaction even when the lock is no longer held and other operations are updating the database. However, in some cases it may be desirable to block all writes for the entire duration of the snapshot; in such cases set this property to 'extended'. Using a value of 'none' will prevent the connector from acquiring any table locks during the snapshot process. This mode can only be used in combination with snapshot.mode values of 'schema_only' or 'schema_only_recovery' and is only safe to use if no schema changes are happening while the snapshot is taken.",title:"Snapshot Locking Mode",required:!1,deprecated:!1},snapshotLockTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this time frame, the snapshot will be aborted. Defaults to 10 seconds",title:"Snapshot Lock Timeout Ms",required:!1,deprecated:!1},snapshotMaxThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The maximum number of threads used to perform the snapshot. Defaults to 1.",title:"Snapshot Max Threads",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'when_needed': On startup, the connector runs a snapshot if one is needed.; 'schema_only': If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures only the schema (table structures), but not any table data. After the snapshot completes, the connector begins to stream changes from the binlog.; 'schema_only_recovery': The connector performs a snapshot that captures only the database schema history. The connector then transitions back to streaming. Use this setting to restore a corrupted or lost database schema history topic. Do not use if the database schema was modified after the connector stopped.; 'initial' (default): If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures the current full state of the configured tables. After the snapshot completes, the connector begins to stream changes from the binlog.; 'initial_only': The connector performs a snapshot as it does for the 'initial' option, but after the connector completes the snapshot, it stops, and does not stream changes from the binlog.; 'never': The connector does not run a snapshot. Upon first startup, the connector immediately begins reading from the beginning of the binlog. The 'never' mode should be used with care, and only when the binlog is known to contain all history.",title:"Snapshot Mode",required:!1,deprecated:!1},snapshotNewTables:{kind:"parameter",type:"string",defaultValue:"off",description:"BETA FEATURE: On connector restart, the connector will check if there have been any new tables added to the configuration, and snapshot them. There is presently only two options: 'off': Default behavior. Do not snapshot new tables. 'parallel': The snapshot of the new tables will occur in parallel to the continued binlog reading of the old tables. When the snapshot completes, an independent binlog reader will begin reading the events for the new tables until it catches up to present time. At this point, both old and new binlog readers will be momentarily halted and new binlog reader will start that will read the binlog for all configured tables. The parallel binlog reader will have a configured server id of 10000 the primary binlog reader's server id.",title:"Snapshot New Tables",required:!1,deprecated:!1},snapshotSelectStatementOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connectors. Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.",title:"Snapshot Select Statement Overrides",required:!1,deprecated:!1},snapshotTablesOrderByRowCount:{kind:"parameter",type:"string",defaultValue:"disabled",description:"Controls the order in which tables are processed in the initial snapshot. A descending value will order the tables by row count descending. A ascending value will order the tables by row count ascending. A value of disabled (the default) will disable ordering by row count.",title:"Snapshot Tables Order By Row Count",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.mysql.MySqlSourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},tableExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring",title:"Table Exclude List",required:!1,deprecated:!1},tableIgnoreBuiltin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Flag specifying whether built-in tables should be ignored.",title:"Table Ignore Builtin",required:!1,deprecated:!1},tableIncludeList:{kind:"parameter",type:"string",description:"The tables for which changes are to be captured",title:"Table Include List",required:!1,deprecated:!1},timePrecisionMode:{kind:"parameter",type:"string",defaultValue:"adaptive_time_microseconds",description:"Time, date and timestamps can be represented with different kinds of precisions, including: 'adaptive_time_microseconds': the precision of date and timestamp values is based the database column's precision; but time fields always use microseconds precision; 'connect': always represents time, date and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision.",title:"Time Precision Mode",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1}}},"debezium-oracle":{type:"object",title:"Debezium Oracle Connector",group:"database",icon:"generic24.png",description:"Capture changes from a Oracle database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},binaryHandlingMode:{kind:"parameter",type:"string",defaultValue:"bytes",description:"Specify how binary (blob, binary, etc.) columns should be represented in change events, including: 'bytes' represents binary data as byte array (default); 'base64' represents binary data as base64-encoded string; 'base64-url-safe' represents binary data as base64-url-safe-encoded string; 'hex' represents binary data as hex-encoded (base16) string",title:"Binary Handling Mode",required:!1,deprecated:!1},columnExcludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to exclude from change events",title:"Column Exclude List",required:!1,deprecated:!1},columnIncludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to include in change events",title:"Column Include List",required:!1,deprecated:!1},columnPropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching fully-qualified names of columns that adds the columns original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Column Propagate Source Type",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},customMetricTags:{kind:"parameter",type:"string",description:"The custom metric tags will accept key-value pairs to customize the MBean object name which should be appended the end of regular name, each key would represent a tag for the MBean object name, and the corresponding value would be the value of that tag the key is. For example: k1=v1,k2=v2",title:"Custom Metric Tags",required:!1,deprecated:!1},databaseConnectionAdapter:{kind:"parameter",type:"string",defaultValue:"LogMiner",description:"The adapter to use when capturing changes from the database. Options include: 'logminer': (the default) to capture changes using native Oracle LogMiner; 'xstream' to capture changes using Oracle XStreams",title:"Database Connection Adapter",required:!1,deprecated:!1},databaseDbname:{kind:"parameter",type:"string",description:"The name of the database from which the connector should capture changes",title:"Database Dbname",required:!1,deprecated:!1},databaseHostname:{kind:"parameter",type:"string",description:"Resolvable hostname or IP address of the database server.",title:"Database Hostname",required:!1,deprecated:!1},databaseOutServerName:{kind:"parameter",type:"string",description:"Name of the XStream Out server to connect to.",title:"Database Out Server Name",required:!1,deprecated:!1},databasePassword:{kind:"parameter",type:"string",description:"Password of the database user to be used when connecting to the database.",title:"Database Password",required:!0,deprecated:!1},databasePdbName:{kind:"parameter",type:"string",description:"Name of the pluggable database when working with a multi-tenant set-up. The CDB name must be given via database.dbname in this case.",title:"Database Pdb Name",required:!1,deprecated:!1},databasePort:{kind:"parameter",type:"integer",defaultValue:"1528",description:"Port of the database server.",title:"Database Port",required:!1,deprecated:!1},databaseUrl:{kind:"parameter",type:"string",description:"Complete JDBC URL as an alternative to specifying hostname, port and database provided as a way to support alternative connection scenarios.",title:"Database Url",required:!1,deprecated:!1},databaseUser:{kind:"parameter",type:"string",description:"Name of the database user to be used when connecting to the database.",title:"Database User",required:!1,deprecated:!1},datatypePropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Datatype Propagate Source Type",required:!1,deprecated:!1},decimalHandlingMode:{kind:"parameter",type:"string",defaultValue:"precise",description:"Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to represent values; 'double' represents values using Java's 'double', which may not offer the precision but will be far easier to use in consumers.",title:"Decimal Handling Mode",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},heartbeatActionQuery:{kind:"parameter",type:"string",description:"The query executed with every heartbeat.",title:"Heartbeat Action Query",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},includeSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the connector should publish changes in the database schema to a Kafka topic with the same name as the database server ID. Each schema change will be recorded using a key that contains the database name and whose value include logical description of the new schema and optionally the DDL statement(s). The default is 'true'. This is independent of how the connector internally records database schema history.",title:"Include Schema Changes",required:!1,deprecated:!1},includeSchemaComments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the connector parse table and column's comment to metadata object. Note: Enable this option will bring the implications on memory usage. The number and size of ColumnImpl objects is what largely impacts how much memory is consumed by the Debezium connectors, and adding a String to each of them can potentially be quite heavy. The default is 'false'.",title:"Include Schema Comments",required:!1,deprecated:!1},incrementalSnapshotWatermarkingStrategy:{kind:"parameter",type:"string",defaultValue:"INSERT_INSERT",description:"Specify the strategy used for watermarking during an incremental snapshot: 'insert_insert' both open and close signal is written into signal data collection (default); 'insert_delete' only open signal is written on signal data collection, the close will delete the relative open signal;",title:"Incremental Snapshot Watermarking Strategy",required:!1,deprecated:!1},intervalHandlingMode:{kind:"parameter",type:"string",defaultValue:"numeric",description:"Specify how INTERVAL columns should be represented in change events, including: 'string' represents values as an exact ISO formatted string; 'numeric' (default) represents values using the inexact conversion into microseconds",title:"Interval Handling Mode",required:!1,deprecated:!1},lobEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When set to 'false', the default, LOB fields will not be captured nor emitted. When set to 'true', the connector will capture LOB fields and emit changes for those fields like any other column type.",title:"Lob Enabled",required:!1,deprecated:!1},logMiningArchiveDestinationName:{kind:"parameter",type:"string",description:"Sets the specific archive log destination as the source for reading archive logs.When not set, the connector will automatically select the first LOCAL and VALID destination.",title:"Log Mining Archive Destination Name",required:!1,deprecated:!1},logMiningArchiveLogHours:{kind:"parameter",type:"integer",defaultValue:"0",description:"The number of hours in the past from SYSDATE to mine archive logs. Using 0 mines all available archive logs",title:"Log Mining Archive Log Hours",required:!1,deprecated:!1},logMiningArchiveLogOnlyMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When set to 'false', the default, the connector will mine both archive log and redo logs to emit change events. When set to 'true', the connector will only mine archive logs. There are circumstances where its advantageous to only mine archive logs and accept latency in event emission due to frequent revolving redo logs.",title:"Log Mining Archive Log Only Mode",required:!1,deprecated:!1},logMiningArchiveLogOnlyScnPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The interval in milliseconds to wait between polls checking to see if the SCN is in the archive logs.",title:"Log Mining Archive Log Only Scn Poll Interval Ms",required:!1,deprecated:!1},logMiningBatchSizeDefault:{kind:"parameter",type:"integer",defaultValue:"20000",description:"The starting SCN interval size that the connector will use for reading data from redo/archive logs.",title:"Log Mining Batch Size Default",required:!1,deprecated:!1},logMiningBatchSizeMax:{kind:"parameter",type:"integer",defaultValue:"100000",description:"The maximum SCN interval size that this connector will use when reading from redo/archive logs.",title:"Log Mining Batch Size Max",required:!1,deprecated:!1},logMiningBatchSizeMin:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The minimum SCN interval size that this connector will try to read from redo/archive logs. Active batch size will be also increased/decreased by this amount for tuning connector throughput when needed.",title:"Log Mining Batch Size Min",required:!1,deprecated:!1},logMiningBufferDropOnStop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When set to true the underlying buffer cache is not retained when the connector is stopped. When set to false (the default), the buffer cache is retained across restarts.",title:"Log Mining Buffer Drop On Stop",required:!1,deprecated:!1},logMiningBufferInfinispanCacheEvents:{kind:"parameter",type:"string",description:"Specifies the XML configuration for the Infinispan 'events' cache",title:"Log Mining Buffer Infinispan Cache Events",required:!1,deprecated:!1},logMiningBufferInfinispanCacheGlobal:{kind:"parameter",type:"string",description:"Specifies the XML configuration for the Infinispan 'global' configuration",title:"Log Mining Buffer Infinispan Cache Global",required:!1,deprecated:!1},logMiningBufferInfinispanCacheProcessedTransactions:{kind:"parameter",type:"string",description:"Specifies the XML configuration for the Infinispan 'processed-transactions' cache",title:"Log Mining Buffer Infinispan Cache Processed Transactions",required:!1,deprecated:!1},logMiningBufferInfinispanCacheSchemaChanges:{kind:"parameter",type:"string",description:"Specifies the XML configuration for the Infinispan 'schema-changes' cache",title:"Log Mining Buffer Infinispan Cache Schema Changes",required:!1,deprecated:!1},logMiningBufferInfinispanCacheTransactions:{kind:"parameter",type:"string",description:"Specifies the XML configuration for the Infinispan 'transactions' cache",title:"Log Mining Buffer Infinispan Cache Transactions",required:!1,deprecated:!1},logMiningBufferTransactionEventsThreshold:{kind:"parameter",type:"integer",defaultValue:"0",description:"The number of events a transaction can include before the transaction is discarded. This is useful for managing buffer memory and/or space when dealing with very large transactions. Defaults to 0, meaning that no threshold is applied and transactions can have unlimited events.",title:"Log Mining Buffer Transaction Events Threshold",required:!1,deprecated:!1},logMiningBufferType:{kind:"parameter",type:"string",defaultValue:"memory",description:"The buffer type controls how the connector manages buffering transaction data. memory - Uses the JVM process' heap to buffer all transaction data. infinispan_embedded - This option uses an embedded Infinispan cache to buffer transaction data and persist it to disk. infinispan_remote - This option uses a remote Infinispan cluster to buffer transaction data and persist it to disk.",title:"Log Mining Buffer Type",required:!1,deprecated:!1},logMiningFlushTableName:{kind:"parameter",type:"string",defaultValue:"LOG_MINING_FLUSH",description:"The name of the flush table used by the connector, defaults to LOG_MINING_FLUSH.",title:"Log Mining Flush Table Name",required:!1,deprecated:!1},logMiningQueryFilterMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specifies how the filter configuration is applied to the LogMiner database query. none - The query does not apply any schema or table filters, all filtering is at runtime by the connector. in - The query uses SQL in-clause expressions to specify the schema or table filters. regex - The query uses Oracle REGEXP_LIKE expressions to specify the schema or table filters.",title:"Log Mining Query Filter Mode",required:!1,deprecated:!1},logMiningRestartConnection:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Debezium opens a database connection and keeps that connection open throughout the entire streaming phase. In some situations, this can lead to excessive SGA memory usage. By setting this option to 'true' (the default is 'false'), the connector will close and re-open a database connection after every detected log switch or if the log.mining.session.max.ms has been reached.",title:"Log Mining Restart Connection",required:!1,deprecated:!1},logMiningScnGapDetectionGapSizeMin:{kind:"parameter",type:"integer",defaultValue:"1000000",description:"Used for SCN gap detection, if the difference between current SCN and previous end SCN is bigger than this value, and the time difference of current SCN and previous end SCN is smaller than log.mining.scn.gap.detection.time.interval.max.ms, consider it a SCN gap.",title:"Log Mining Scn Gap Detection Gap Size Min",required:!1,deprecated:!1},logMiningScnGapDetectionTimeIntervalMaxMs:{kind:"parameter",type:"duration",defaultValue:"20s",description:"Used for SCN gap detection, if the difference between current SCN and previous end SCN is bigger than log.mining.scn.gap.detection.gap.size.min, and the time difference of current SCN and previous end SCN is smaller than this value, consider it a SCN gap.",title:"Log Mining Scn Gap Detection Time Interval Max Ms",required:!1,deprecated:!1},logMiningSessionMaxMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"The maximum number of milliseconds that a LogMiner session lives for before being restarted. Defaults to 0 (indefinite until a log switch occurs)",title:"Log Mining Session Max Ms",required:!1,deprecated:!1},logMiningSleepTimeDefaultMs:{kind:"parameter",type:"duration",defaultValue:"1s",description:"The amount of time that the connector will sleep after reading data from redo/archive logs and before starting reading data again. Value is in milliseconds.",title:"Log Mining Sleep Time Default Ms",required:!1,deprecated:!1},logMiningSleepTimeIncrementMs:{kind:"parameter",type:"duration",defaultValue:"200ms",description:"The maximum amount of time that the connector will use to tune the optimal sleep time when reading data from LogMiner. Value is in milliseconds.",title:"Log Mining Sleep Time Increment Ms",required:!1,deprecated:!1},logMiningSleepTimeMaxMs:{kind:"parameter",type:"duration",defaultValue:"3s",description:"The maximum amount of time that the connector will sleep after reading data from redo/archive logs and before starting reading data again. Value is in milliseconds.",title:"Log Mining Sleep Time Max Ms",required:!1,deprecated:!1},logMiningSleepTimeMinMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"The minimum amount of time that the connector will sleep after reading data from redo/archive logs and before starting reading data again. Value is in milliseconds.",title:"Log Mining Sleep Time Min Ms",required:!1,deprecated:!1},logMiningStrategy:{kind:"parameter",type:"string",defaultValue:"redo_log_catalog",description:"There are strategies: Online catalog with faster mining but no captured DDL. Another - with data dictionary loaded into REDO LOG files",title:"Log Mining Strategy",required:!1,deprecated:!1},logMiningTransactionRetentionMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Duration in milliseconds to keep long running transactions in transaction buffer between log mining sessions. By default, all transactions are retained.",title:"Log Mining Transaction Retention Ms",required:!1,deprecated:!1},logMiningUsernameExcludeList:{kind:"parameter",type:"string",description:"Comma separated list of usernames to exclude from LogMiner query.",title:"Log Mining Username Exclude List",required:!1,deprecated:!1},logMiningUsernameIncludeList:{kind:"parameter",type:"string",description:"Comma separated list of usernames to include from LogMiner query.",title:"Log Mining Username Include List",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},messageKeyColumns:{kind:"parameter",type:"string",description:"A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Each expression must match the pattern ':', where the table names could be defined as (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connector, and the key columns are a comma-separated list of columns representing the custom key. For any table without an explicit key configuration the table's primary key column(s) will be used as message key. Example: dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id",title:"Message Key Columns",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},openlogreplicatorHost:{kind:"parameter",type:"string",description:"The hostname of the OpenLogReplicator network service",title:"Openlogreplicator Host",required:!1,deprecated:!1},openlogreplicatorPort:{kind:"parameter",type:"integer",description:"The port of the OpenLogReplicator network service",title:"Openlogreplicator Port",required:!1,deprecated:!1},openlogreplicatorSource:{kind:"parameter",type:"string",description:"The configured logical source name in the OpenLogReplicator configuration that is to stream changes",title:"Openlogreplicator Source",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},postProcessors:{kind:"parameter",type:"string",description:"Optional list of post processors. The processors are defined using '.type' config option and configured using options ''",title:"Post Processors",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"10000",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size, defaults to '2000'.",title:"Query Fetch Size",required:!1,deprecated:!1},racNodes:{kind:"parameter",type:"string",description:"A comma-separated list of RAC node hostnames or ip addresses",title:"Rac Nodes",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaHistoryInternal:{kind:"parameter",type:"string",defaultValue:"io.debezium.storage.kafka.history.KafkaSchemaHistory",description:"The name of the SchemaHistory class that should be used to store and recover database schema changes. The configuration properties for the history are prefixed with the 'schema.history.internal.' string.",title:"Schema History Internal",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaHistoryInternalSkipUnparseableDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls the action Debezium will take when it meets a DDL statement in binlog, that it cannot parse.By default the connector will stop operating but by changing the setting it can ignore the statements which it cannot parse. If skipping is enabled then Debezium can miss metadata changes.",title:"Schema History Internal Skip Unparseable Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedDatabasesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (true) only DDL that manipulates a table from captured schema/database will be stored. If set to false, then Debezium will store all incoming DDL statements.",title:"Schema History Internal Store Only Captured Databases Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedTablesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (false) Debezium will store all incoming DDL statements. If set to true, then only DDL that manipulates a captured table will be stored.",title:"Schema History Internal Store Only Captured Tables Ddl",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotEnhancePredicateScn:{kind:"parameter",type:"string",description:"A token to replace on snapshot predicate template",title:"Snapshot Enhance Predicate Scn",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotLockingMode:{kind:"parameter",type:"string",defaultValue:"shared",description:"Controls how the connector holds locks on tables while performing the schema snapshot. The default is 'shared', which means the connector will hold a table lock that prevents exclusive table access for just the initial portion of the snapshot while the database schemas and other metadata are being read. The remaining work in a snapshot involves selecting all rows from each table, and this is done using a flashback query that requires no locks. However, in some cases it may be desirable to avoid locks entirely which can be done by specifying 'none'. This mode is only safe to use if no schema changes are happening while the snapshot is taken.",title:"Snapshot Locking Mode",required:!1,deprecated:!1},snapshotLockTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this time frame, the snapshot will be aborted. Defaults to 10 seconds",title:"Snapshot Lock Timeout Ms",required:!1,deprecated:!1},snapshotMaxThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The maximum number of threads used to perform the snapshot. Defaults to 1.",title:"Snapshot Max Threads",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'always': The connector runs a snapshot every time that it starts. After the snapshot completes, the connector begins to stream changes from the redo logs.; 'initial' (default): If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures the current full state of the configured tables. After the snapshot completes, the connector begins to stream changes from the redo logs. 'initial_only': The connector performs a snapshot as it does for the 'initial' option, but after the connector completes the snapshot, it stops, and does not stream changes from the redo logs.; 'schema_only': If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures only the schema (table structures), but not any table data. After the snapshot completes, the connector begins to stream changes from the redo logs.; 'schema_only_recovery': The connector performs a snapshot that captures only the database schema history. The connector then transitions to streaming from the redo logs. Use this setting to restore a corrupted or lost database schema history topic. Do not use if the database schema was modified after the connector stopped.",title:"Snapshot Mode",required:!1,deprecated:!1},snapshotSelectStatementOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connectors. Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.",title:"Snapshot Select Statement Overrides",required:!1,deprecated:!1},snapshotTablesOrderByRowCount:{kind:"parameter",type:"string",defaultValue:"disabled",description:"Controls the order in which tables are processed in the initial snapshot. A descending value will order the tables by row count descending. A ascending value will order the tables by row count ascending. A value of disabled (the default) will disable ordering by row count.",title:"Snapshot Tables Order By Row Count",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.oracle.OracleSourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},tableExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring",title:"Table Exclude List",required:!1,deprecated:!1},tableIncludeList:{kind:"parameter",type:"string",description:"The tables for which changes are to be captured",title:"Table Include List",required:!1,deprecated:!1},timePrecisionMode:{kind:"parameter",type:"string",defaultValue:"adaptive",description:"Time, date, and timestamps can be represented with different kinds of precisions, including: 'adaptive' (the default) bases the precision of time, date, and timestamp values on the database column's precision; 'adaptive_time_microseconds' like 'adaptive' mode, but TIME fields always use microseconds precision; 'connect' always represents time, date, and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision.",title:"Time Precision Mode",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1},unavailableValuePlaceholder:{kind:"parameter",type:"string",defaultValue:"__debezium_unavailable_value",description:"Specify the constant that will be provided by Debezium to indicate that the original value is unavailable and not provided by the database.",title:"Unavailable Value Placeholder",required:!1,deprecated:!1}}},"debezium-postgres":{type:"object",title:"Debezium PostgresSQL Connector",group:"database",icon:"generic24.png",description:"Capture changes from a PostgresSQL database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},binaryHandlingMode:{kind:"parameter",type:"string",defaultValue:"bytes",description:"Specify how binary (blob, binary, etc.) columns should be represented in change events, including: 'bytes' represents binary data as byte array (default); 'base64' represents binary data as base64-encoded string; 'base64-url-safe' represents binary data as base64-url-safe-encoded string; 'hex' represents binary data as hex-encoded (base16) string",title:"Binary Handling Mode",required:!1,deprecated:!1},columnExcludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to exclude from change events",title:"Column Exclude List",required:!1,deprecated:!1},columnIncludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to include in change events",title:"Column Include List",required:!1,deprecated:!1},columnPropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching fully-qualified names of columns that adds the columns original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Column Propagate Source Type",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},customMetricTags:{kind:"parameter",type:"string",description:"The custom metric tags will accept key-value pairs to customize the MBean object name which should be appended the end of regular name, each key would represent a tag for the MBean object name, and the corresponding value would be the value of that tag the key is. For example: k1=v1,k2=v2",title:"Custom Metric Tags",required:!1,deprecated:!1},databaseDbname:{kind:"parameter",type:"string",description:"The name of the database from which the connector should capture changes",title:"Database Dbname",required:!1,deprecated:!1},databaseHostname:{kind:"parameter",type:"string",description:"Resolvable hostname or IP address of the database server.",title:"Database Hostname",required:!1,deprecated:!1},databaseInitialStatements:{kind:"parameter",type:"string",description:"A semicolon separated list of SQL statements to be executed when a JDBC connection to the database is established. Note that the connector may establish JDBC connections at its own discretion, so this should typically be used for configuration of session parameters only, but not for executing DML statements. Use doubled semicolon (';;') to use a semicolon as a character and not as a delimiter.",title:"Database Initial Statements",required:!1,deprecated:!1},databasePassword:{kind:"parameter",type:"string",description:"Password of the database user to be used when connecting to the database.",title:"Database Password",required:!0,deprecated:!1},databasePort:{kind:"parameter",type:"integer",defaultValue:"5432",description:"Port of the database server.",title:"Database Port",required:!1,deprecated:!1},databaseSslcert:{kind:"parameter",type:"string",description:"File containing the SSL Certificate for the client. See the Postgres SSL docs for further information",title:"Database Sslcert",required:!1,deprecated:!1},databaseSslfactory:{kind:"parameter",type:"string",description:"A name of class to that creates SSL Sockets. Use org.postgresql.ssl.NonValidatingFactory to disable SSL validation in development environments",title:"Database Sslfactory",required:!1,deprecated:!1},databaseSslkey:{kind:"parameter",type:"string",description:"File containing the SSL private key for the client. See the Postgres SSL docs for further information",title:"Database Sslkey",required:!1,deprecated:!1},databaseSslmode:{kind:"parameter",type:"string",defaultValue:"prefer",description:"Whether to use an encrypted connection to Postgres. Options include: 'disable' (the default) to use an unencrypted connection; 'allow' to try and use an unencrypted connection first and, failing that, a secure (encrypted) connection; 'prefer' (the default) to try and use a secure (encrypted) connection first and, failing that, an unencrypted connection; 'require' to use a secure (encrypted) connection, and fail if one cannot be established; 'verify-ca' like 'required' but additionally verify the server TLS certificate against the configured Certificate Authority (CA) certificates, or fail if no valid matching CA certificates are found; or 'verify-full' like 'verify-ca' but additionally verify that the server certificate matches the host to which the connection is attempted.",title:"Database Sslmode",required:!1,deprecated:!1},databaseSslpassword:{kind:"parameter",type:"string",description:"Password to access the client private key from the file specified by 'database.sslkey'. See the Postgres SSL docs for further information",title:"Database Sslpassword",required:!1,deprecated:!1},databaseSslrootcert:{kind:"parameter",type:"string",description:"File containing the root certificate(s) against which the server is validated. See the Postgres JDBC SSL docs for further information",title:"Database Sslrootcert",required:!1,deprecated:!1},databaseTcpkeepalive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable or disable TCP keep-alive probe to avoid dropping TCP connection",title:"Database Tcpkeepalive",required:!1,deprecated:!1},databaseUser:{kind:"parameter",type:"string",description:"Name of the database user to be used when connecting to the database.",title:"Database User",required:!1,deprecated:!1},datatypePropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Datatype Propagate Source Type",required:!1,deprecated:!1},decimalHandlingMode:{kind:"parameter",type:"string",defaultValue:"precise",description:"Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to represent values; 'double' represents values using Java's 'double', which may not offer the precision but will be far easier to use in consumers.",title:"Decimal Handling Mode",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},flushLsnSource:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Boolean to determine if Debezium should flush LSN in the source postgres database. If set to false, user will have to flush the LSN manually outside Debezium.",title:"Flush Lsn Source",required:!1,deprecated:!1},heartbeatActionQuery:{kind:"parameter",type:"string",description:"The query executed with every heartbeat.",title:"Heartbeat Action Query",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},hstoreHandlingMode:{kind:"parameter",type:"string",defaultValue:"json",description:"Specify how HSTORE columns should be represented in change events, including: 'json' represents values as string-ified JSON (default); 'map' represents values as a key/value map",title:"Hstore Handling Mode",required:!1,deprecated:!1},includeSchemaComments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the connector parse table and column's comment to metadata object. Note: Enable this option will bring the implications on memory usage. The number and size of ColumnImpl objects is what largely impacts how much memory is consumed by the Debezium connectors, and adding a String to each of them can potentially be quite heavy. The default is 'false'.",title:"Include Schema Comments",required:!1,deprecated:!1},includeUnknownDatatypes:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specify whether the fields of data type not supported by Debezium should be processed: 'false' (the default) omits the fields; 'true' converts the field into an implementation dependent binary representation.",title:"Include Unknown Datatypes",required:!1,deprecated:!1},incrementalSnapshotChunkSize:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum size of chunk (number of documents/rows) for incremental snapshotting",title:"Incremental Snapshot Chunk Size",required:!1,deprecated:!1},incrementalSnapshotWatermarkingStrategy:{kind:"parameter",type:"string",defaultValue:"INSERT_INSERT",description:"Specify the strategy used for watermarking during an incremental snapshot: 'insert_insert' both open and close signal is written into signal data collection (default); 'insert_delete' only open signal is written on signal data collection, the close will delete the relative open signal;",title:"Incremental Snapshot Watermarking Strategy",required:!1,deprecated:!1},intervalHandlingMode:{kind:"parameter",type:"string",defaultValue:"numeric",description:"Specify how INTERVAL columns should be represented in change events, including: 'string' represents values as an exact ISO formatted string; 'numeric' (default) represents values using the inexact conversion into microseconds",title:"Interval Handling Mode",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},messageKeyColumns:{kind:"parameter",type:"string",description:"A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Each expression must match the pattern ':', where the table names could be defined as (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connector, and the key columns are a comma-separated list of columns representing the custom key. For any table without an explicit key configuration the table's primary key column(s) will be used as message key. Example: dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id",title:"Message Key Columns",required:!1,deprecated:!1},messagePrefixExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the logical decoding message prefixes to be excluded from monitoring.",title:"Message Prefix Exclude List",required:!1,deprecated:!1},messagePrefixIncludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the logical decoding message prefixes to be monitored. All prefixes are monitored by default.",title:"Message Prefix Include List",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pluginName:{kind:"parameter",type:"string",defaultValue:"decoderbufs",description:"The name of the Postgres logical decoding plugin installed on the server. Supported values are 'decoderbufs' and 'pgoutput'. Defaults to 'decoderbufs'.",title:"Plugin Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},postProcessors:{kind:"parameter",type:"string",description:"Optional list of post processors. The processors are defined using '.type' config option and configured using options ''",title:"Post Processors",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},publicationAutocreateMode:{kind:"parameter",type:"string",defaultValue:"all_tables",description:"Applies only when streaming changes using pgoutput.Determine how creation of a publication should work, the default is all_tables.DISABLED - The connector will not attempt to create a publication at all. The expectation is that the user has created the publication up-front. If the publication isn't found to exist upon startup, the connector will throw an exception and stop.ALL_TABLES - If no publication exists, the connector will create a new publication for all tables. Note this requires that the configured user has access. If the publication already exists, it will be used. i.e CREATE PUBLICATION FOR ALL TABLES;FILTERED - If no publication exists, the connector will create a new publication for all those tables matchingthe current filter configuration (see table/database include/exclude list properties). If the publication already exists, it will be used. i.e CREATE PUBLICATION FOR TABLE",title:"Publication Autocreate Mode",required:!1,deprecated:!1},publicationName:{kind:"parameter",type:"string",defaultValue:"dbz_publication",description:"The name of the Postgres 10 publication used for streaming changes from a plugin. Defaults to 'dbz_publication'",title:"Publication Name",required:!1,deprecated:!1},queryFetchSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size.",title:"Query Fetch Size",required:!1,deprecated:!1},replicaIdentityAutosetValues:{kind:"parameter",type:"string",description:"Applies only when streaming changes using pgoutput.Determines the value for Replica Identity at table level. This option will overwrite the existing value in databaseA comma-separated list of regular expressions that match fully-qualified tables and Replica Identity value to be used in the table. Each expression must match the pattern ':', where the table names could be defined as (SCHEMA_NAME.TABLE_NAME), and the replica identity values are: DEFAULT - Records the old values of the columns of the primary key, if any. This is the default for non-system tables.INDEX index_name - Records the old values of the columns covered by the named index, that must be unique, not partial, not deferrable, and include only columns marked NOT NULL. If this index is dropped, the behavior is the same as NOTHING.FULL - Records the old values of all columns in the row.NOTHING - Records no information about the old row. This is the default for system tables.",title:"Replica Identity Autoset Values",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaExcludeList:{kind:"parameter",type:"string",description:"The schemas for which events must not be captured",title:"Schema Exclude List",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaIncludeList:{kind:"parameter",type:"string",description:"The schemas for which events should be captured",title:"Schema Include List",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},schemaRefreshMode:{kind:"parameter",type:"string",defaultValue:"columns_diff",description:"Specify the conditions that trigger a refresh of the in-memory schema for a table. 'columns_diff' (the default) is the safest mode, ensuring the in-memory schema stays in-sync with the database table's schema at all times. 'columns_diff_exclude_unchanged_toast' instructs the connector to refresh the in-memory schema cache if there is a discrepancy between it and the schema derived from the incoming message, unless unchanged TOASTable data fully accounts for the discrepancy. This setting can improve connector performance significantly if there are frequently-updated tables that have TOASTed data that are rarely part of these updates. However, it is possible for the in-memory schema to become outdated if TOASTable columns are dropped from the table.",title:"Schema Refresh Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},slotDropOnStop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to drop the logical replication slot when the connector finishes orderly. By default the replication is kept so that on restart progress can resume from the last recorded location",title:"Slot Drop On Stop",required:!1,deprecated:!1},slotMaxRetries:{kind:"parameter",type:"integer",defaultValue:"6",description:"How many times to retry connecting to a replication slot when an attempt fails.",title:"Slot Max Retries",required:!1,deprecated:!1},slotName:{kind:"parameter",type:"string",defaultValue:"debezium",description:"The name of the Postgres logical decoding slot created for streaming changes from a plugin. Defaults to 'debezium",title:"Slot Name",required:!1,deprecated:!1},slotRetryDelayMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait between retry attempts when the connector fails to connect to a replication slot, given in milliseconds. Defaults to 10 seconds (10,000 ms).",title:"Slot Retry Delay Ms",required:!1,deprecated:!1},slotStreamParams:{kind:"parameter",type:"string",description:"Any optional parameters used by logical decoding plugin. Semi-colon separated. E.g. 'add-tables=public.table,public.table2;include-lsn=true'",title:"Slot Stream Params",required:!1,deprecated:!1},snapshotCustomClass:{kind:"parameter",type:"string",description:"When 'snapshot.mode' is set as custom, this setting must be set to specify a fully qualified class name to load (via the default class loader). This class must implement the 'Snapshotter' interface and is called on each app boot to determine whether to do a snapshot and how to build queries.",title:"Snapshot Custom Class",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotLockTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this time frame, the snapshot will be aborted. Defaults to 10 seconds",title:"Snapshot Lock Timeout Ms",required:!1,deprecated:!1},snapshotMaxThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The maximum number of threads used to perform the snapshot. Defaults to 1.",title:"Snapshot Max Threads",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'always': The connector runs a snapshot every time that it starts. After the snapshot completes, the connector begins to stream changes from the transaction log.; 'initial' (default): If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures the current full state of the configured tables. After the snapshot completes, the connector begins to stream changes from the transaction log. 'initial_only': The connector performs a snapshot as it does for the 'initial' option, but after the connector completes the snapshot, it stops, and does not stream changes from the transaction log.; 'never': The connector does not run a snapshot. Upon first startup, the connector immediately begins reading from the beginning of the transaction log. 'exported': This option is deprecated; use 'initial' instead.; 'custom': The connector loads a custom class to specify how the connector performs snapshots. For more information, see Custom snapshotter SPI in the PostgreSQL connector documentation.",title:"Snapshot Mode",required:!1,deprecated:!1},snapshotSelectStatementOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connectors. Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.",title:"Snapshot Select Statement Overrides",required:!1,deprecated:!1},snapshotTablesOrderByRowCount:{kind:"parameter",type:"string",defaultValue:"disabled",description:"Controls the order in which tables are processed in the initial snapshot. A descending value will order the tables by row count descending. A ascending value will order the tables by row count ascending. A value of disabled (the default) will disable ordering by row count.",title:"Snapshot Tables Order By Row Count",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.postgresql.PostgresSourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},statusUpdateIntervalMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Frequency for sending replication connection status updates to the server, given in milliseconds. Defaults to 10 seconds (10,000 ms).",title:"Status Update Interval Ms",required:!1,deprecated:!1},tableExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring",title:"Table Exclude List",required:!1,deprecated:!1},tableIgnoreBuiltin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Flag specifying whether built-in tables should be ignored.",title:"Table Ignore Builtin",required:!1,deprecated:!1},tableIncludeList:{kind:"parameter",type:"string",description:"The tables for which changes are to be captured",title:"Table Include List",required:!1,deprecated:!1},timePrecisionMode:{kind:"parameter",type:"string",defaultValue:"adaptive",description:"Time, date, and timestamps can be represented with different kinds of precisions, including: 'adaptive' (the default) bases the precision of time, date, and timestamp values on the database column's precision; 'adaptive_time_microseconds' like 'adaptive' mode, but TIME fields always use microseconds precision; 'connect' always represents time, date, and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision.",title:"Time Precision Mode",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1},unavailableValuePlaceholder:{kind:"parameter",type:"string",defaultValue:"__debezium_unavailable_value",description:"Specify the constant that will be provided by Debezium to indicate that the original value is a toasted value not provided by the database. If starts with 'hex:' prefix it is expected that the rest of the string represents hexadecimal encoded octets.",title:"Unavailable Value Placeholder",required:!1,deprecated:!1},xminFetchIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Specify how often (in ms) the xmin will be fetched from the replication slot. This xmin value is exposed by the slot which gives a lower bound of where a new replication slot could start from. The lower the value, the more likely this value is to be the current 'true' value, but the bigger the performance cost. The bigger the value, the less likely this value is to be the current 'true' value, but the lower the performance penalty. The default is set to 0 ms, which disables tracking xmin.",title:"Xmin Fetch Interval Ms",required:!1,deprecated:!1}}},"debezium-sqlserver":{type:"object",title:"Debezium SQL Server Connector",group:"database",icon:"generic24.png",description:"Capture changes from an SQL Server database.",properties:{name:{kind:"path",type:"string",description:"Unique name for the connector. Attempting to register again with the same name will fail.",title:"Name",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Additional properties for debezium components in case they can't be set directly on the camel configurations (e.g: setting Kafka Connect properties needed by Debezium engine, for example setting KafkaOffsetBackingStore), the properties have to be prefixed with additionalProperties.. E.g: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},internalKeyConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",title:"Internal Key Converter",required:!1,deprecated:!1},internalValueConverter:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.json.JsonConverter",description:"The Converter class that should be used to serialize and deserialize value data for offsets. The default is JSON converter.",title:"Internal Value Converter",required:!1,deprecated:!1},offsetCommitPolicy:{kind:"parameter",type:"string",description:"The name of the Java class of the commit policy. It defines when offsets commit has to be triggered based on the number of events processed and the time elapsed since the last commit. This class must implement the interface 'OffsetCommitPolicy'. The default is a periodic commit policy based upon time intervals.",title:"Offset Commit Policy",required:!1,deprecated:!1},offsetCommitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt. The default is 5 seconds.",title:"Offset Commit Timeout Ms",required:!1,deprecated:!1},offsetFlushIntervalMs:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval at which to try committing offsets. The default is 1 minute.",title:"Offset Flush Interval Ms",required:!1,deprecated:!1},offsetStorage:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.connect.storage.FileOffsetBackingStore",description:"The name of the Java class that is responsible for persistence of connector offsets.",title:"Offset Storage",required:!1,deprecated:!1},offsetStorageFileName:{kind:"parameter",type:"string",description:"Path to file where offsets are to be stored. Required when offset.storage is set to the FileOffsetBackingStore.",title:"Offset Storage File Name",required:!1,deprecated:!1},offsetStoragePartitions:{kind:"parameter",type:"integer",description:"The number of partitions used when creating the offset storage topic. Required when offset.storage is set to the 'KafkaOffsetBackingStore'.",title:"Offset Storage Partitions",required:!1,deprecated:!1},offsetStorageReplicationFactor:{kind:"parameter",type:"integer",description:"Replication factor used when creating the offset storage topic. Required when offset.storage is set to the KafkaOffsetBackingStore",title:"Offset Storage Replication Factor",required:!1,deprecated:!1},offsetStorageTopic:{kind:"parameter",type:"string",description:"The name of the Kafka topic where offsets are to be stored. Required when offset.storage is set to the KafkaOffsetBackingStore.",title:"Offset Storage Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},binaryHandlingMode:{kind:"parameter",type:"string",defaultValue:"bytes",description:"Specify how binary (blob, binary, etc.) columns should be represented in change events, including: 'bytes' represents binary data as byte array (default); 'base64' represents binary data as base64-encoded string; 'base64-url-safe' represents binary data as base64-url-safe-encoded string; 'hex' represents binary data as hex-encoded (base16) string",title:"Binary Handling Mode",required:!1,deprecated:!1},columnExcludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to exclude from change events",title:"Column Exclude List",required:!1,deprecated:!1},columnIncludeList:{kind:"parameter",type:"string",description:"Regular expressions matching columns to include in change events",title:"Column Include List",required:!1,deprecated:!1},columnPropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching fully-qualified names of columns that adds the columns original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Column Propagate Source Type",required:!1,deprecated:!1},converters:{kind:"parameter",type:"string",description:"Optional list of custom converters that would be used instead of default ones. The converters are defined using '.type' config option and configured using options '.'",title:"Converters",required:!1,deprecated:!1},customMetricTags:{kind:"parameter",type:"string",description:"The custom metric tags will accept key-value pairs to customize the MBean object name which should be appended the end of regular name, each key would represent a tag for the MBean object name, and the corresponding value would be the value of that tag the key is. For example: k1=v1,k2=v2",title:"Custom Metric Tags",required:!1,deprecated:!1},databaseHostname:{kind:"parameter",type:"string",description:"Resolvable hostname or IP address of the database server.",title:"Database Hostname",required:!1,deprecated:!1},databaseInstance:{kind:"parameter",type:"string",description:"The SQL Server instance name",title:"Database Instance",required:!1,deprecated:!1},databaseNames:{kind:"parameter",type:"string",description:"The names of the databases from which the connector should capture changes",title:"Database Names",required:!1,deprecated:!1},databasePassword:{kind:"parameter",type:"string",description:"Password of the database user to be used when connecting to the database.",title:"Database Password",required:!0,deprecated:!1},databasePort:{kind:"parameter",type:"integer",defaultValue:"1433",description:"Port of the database server.",title:"Database Port",required:!1,deprecated:!1},databaseUser:{kind:"parameter",type:"string",description:"Name of the database user to be used when connecting to the database.",title:"Database User",required:!1,deprecated:!1},datatypePropagateSourceType:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's original type and original length as parameters to the corresponding field schemas in the emitted change records.",title:"Datatype Propagate Source Type",required:!1,deprecated:!1},decimalHandlingMode:{kind:"parameter",type:"string",defaultValue:"precise",description:"Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses java.math.BigDecimal to represent values, which are encoded in the change events using a binary representation and Kafka Connect's 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to represent values; 'double' represents values using Java's 'double', which may not offer the precision but will be far easier to use in consumers.",title:"Decimal Handling Mode",required:!1,deprecated:!1},errorsMaxRetries:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, 0 = num of retries).",title:"Errors Max Retries",required:!1,deprecated:!1},eventProcessingFailureHandlingMode:{kind:"parameter",type:"string",defaultValue:"fail",description:"Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including: 'fail' (the default) an exception indicating the problematic event and its position is raised, causing the connector to be stopped; 'warn' the problematic event and its position will be logged and the event will be skipped; 'ignore' the problematic event will be skipped.",title:"Event Processing Failure Handling Mode",required:!1,deprecated:!1},heartbeatActionQuery:{kind:"parameter",type:"string",description:"The query executed with every heartbeat.",title:"Heartbeat Action Query",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic. Use 0 to disable heartbeat messages. Disabled by default.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},heartbeatTopicsPrefix:{kind:"parameter",type:"string",defaultValue:"__debezium-heartbeat",description:"The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.",title:"Heartbeat Topics Prefix",required:!1,deprecated:!1},includeSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the connector should publish changes in the database schema to a Kafka topic with the same name as the database server ID. Each schema change will be recorded using a key that contains the database name and whose value include logical description of the new schema and optionally the DDL statement(s). The default is 'true'. This is independent of how the connector internally records database schema history.",title:"Include Schema Changes",required:!1,deprecated:!1},includeSchemaComments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the connector parse table and column's comment to metadata object. Note: Enable this option will bring the implications on memory usage. The number and size of ColumnImpl objects is what largely impacts how much memory is consumed by the Debezium connectors, and adding a String to each of them can potentially be quite heavy. The default is 'false'.",title:"Include Schema Comments",required:!1,deprecated:!1},incrementalSnapshotAllowSchemaChanges:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Detect schema change during an incremental snapshot and re-select a current chunk to avoid locking DDLs. Note that changes to a primary key are not supported and can cause incorrect results if performed during an incremental snapshot. Another limitation is that if a schema change affects only columns' default values, then the change won't be detected until the DDL is processed from the binlog stream. This doesn't affect the snapshot events' values, but the schema of snapshot events may have outdated defaults.",title:"Incremental Snapshot Allow Schema Changes",required:!1,deprecated:!1},incrementalSnapshotChunkSize:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum size of chunk (number of documents/rows) for incremental snapshotting",title:"Incremental Snapshot Chunk Size",required:!1,deprecated:!1},incrementalSnapshotOptionRecompile:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Add OPTION(RECOMPILE) on each SELECT statement during the incremental snapshot process. This prevents parameter sniffing but can cause CPU pressure on the source database.",title:"Incremental Snapshot Option Recompile",required:!1,deprecated:!1},incrementalSnapshotWatermarkingStrategy:{kind:"parameter",type:"string",defaultValue:"INSERT_INSERT",description:"Specify the strategy used for watermarking during an incremental snapshot: 'insert_insert' both open and close signal is written into signal data collection (default); 'insert_delete' only open signal is written on signal data collection, the close will delete the relative open signal;",title:"Incremental Snapshot Watermarking Strategy",required:!1,deprecated:!1},maxBatchSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Maximum size of each batch of source records. Defaults to 2048.",title:"Max Batch Size",required:!1,deprecated:!1},maxIterationTransactions:{kind:"parameter",type:"integer",defaultValue:"0",description:"This property can be used to reduce the connector memory usage footprint when changes are streamed from multiple tables per database.",title:"Max Iteration Transactions",required:!1,deprecated:!1},maxQueueSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to 8192, and should always be larger than the maximum batch size.",title:"Max Queue Size",required:!1,deprecated:!1},maxQueueSizeInBytes:{kind:"parameter",type:"integer",defaultValue:"0",description:"Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defaults to 0. Mean the feature is not enabled",title:"Max Queue Size In Bytes",required:!1,deprecated:!1},messageKeyColumns:{kind:"parameter",type:"string",description:"A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Each expression must match the pattern ':', where the table names could be defined as (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connector, and the key columns are a comma-separated list of columns representing the custom key. For any table without an explicit key configuration the table's primary key column(s) will be used as message key. Example: dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id",title:"Message Key Columns",required:!1,deprecated:!1},notificationEnabledChannels:{kind:"parameter",type:"string",description:"List of notification channels names that are enabled.",title:"Notification Enabled Channels",required:!1,deprecated:!1},notificationSinkTopicName:{kind:"parameter",type:"string",description:"The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels",title:"Notification Sink Topic Name",required:!1,deprecated:!1},pollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"500ms",description:"Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms.",title:"Poll Interval Ms",required:!1,deprecated:!1},postProcessors:{kind:"parameter",type:"string",description:"Optional list of post processors. The processors are defined using '.type' config option and configured using options ''",title:"Post Processors",required:!1,deprecated:!1},provideTransactionMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables transaction metadata extraction together with event counting",title:"Provide Transaction Metadata",required:!1,deprecated:!1},retriableRestartConnectorWaitMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms.",title:"Retriable Restart Connector Wait Ms",required:!1,deprecated:!1},schemaHistoryInternal:{kind:"parameter",type:"string",defaultValue:"io.debezium.storage.kafka.history.KafkaSchemaHistory",description:"The name of the SchemaHistory class that should be used to store and recover database schema changes. The configuration properties for the history are prefixed with the 'schema.history.internal.' string.",title:"Schema History Internal",required:!1,deprecated:!1},schemaHistoryInternalFileFilename:{kind:"parameter",type:"string",description:"The path to the file that will be used to record the database schema history",title:"Schema History Internal File Filename",required:!1,deprecated:!1},schemaHistoryInternalSkipUnparseableDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls the action Debezium will take when it meets a DDL statement in binlog, that it cannot parse.By default the connector will stop operating but by changing the setting it can ignore the statements which it cannot parse. If skipping is enabled then Debezium can miss metadata changes.",title:"Schema History Internal Skip Unparseable Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedDatabasesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (true) only DDL that manipulates a table from captured schema/database will be stored. If set to false, then Debezium will store all incoming DDL statements.",title:"Schema History Internal Store Only Captured Databases Ddl",required:!1,deprecated:!1},schemaHistoryInternalStoreOnlyCapturedTablesDdl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls what DDL will Debezium store in database schema history. By default (false) Debezium will store all incoming DDL statements. If set to true, then only DDL that manipulates a captured table will be stored.",title:"Schema History Internal Store Only Captured Tables Ddl",required:!1,deprecated:!1},schemaNameAdjustmentMode:{kind:"parameter",type:"string",defaultValue:"none",description:"Specify how schema names should be adjusted for compatibility with the message converter used by the connector, including: 'avro' replaces the characters that cannot be used in the Avro type name with underscore; 'avro_unicode' replaces the underscore or characters that cannot be used in the Avro type name with corresponding unicode like _uxxxx. Note: _ is an escape sequence like backslash in Java;'none' does not apply any adjustment (default)",title:"Schema Name Adjustment Mode",required:!1,deprecated:!1},signalDataCollection:{kind:"parameter",type:"string",description:"The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set.",title:"Signal Data Collection",required:!1,deprecated:!1},signalEnabledChannels:{kind:"parameter",type:"string",defaultValue:"source",description:"List of channels names that are enabled. Source channel is enabled by default",title:"Signal Enabled Channels",required:!1,deprecated:!1},signalPollIntervalMs:{kind:"parameter",type:"duration",defaultValue:"5s",description:"Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds.",title:"Signal Poll Interval Ms",required:!1,deprecated:!1},skippedOperations:{kind:"parameter",type:"string",defaultValue:"t",description:"The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for truncates, and 'none' to indicate nothing skipped. By default, only truncate operations will be skipped.",title:"Skipped Operations",required:!1,deprecated:!1},snapshotDelayMs:{kind:"parameter",type:"duration",defaultValue:"0ms",description:"A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms.",title:"Snapshot Delay Ms",required:!1,deprecated:!1},snapshotFetchSize:{kind:"parameter",type:"integer",description:"The maximum number of records that should be loaded into memory while performing a snapshot.",title:"Snapshot Fetch Size",required:!1,deprecated:!1},snapshotIncludeCollectionList:{kind:"parameter",type:"string",description:"This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.",title:"Snapshot Include Collection List",required:!1,deprecated:!1},snapshotIsolationMode:{kind:"parameter",type:"string",defaultValue:"repeatable_read",description:"Controls which transaction isolation level is used and how long the connector locks the captured tables. The default is 'repeatable_read', which means that repeatable read isolation level is used. In addition, exclusive locks are taken only during schema snapshot. Using a value of 'exclusive' ensures that the connector holds the exclusive lock (and thus prevents any reads and updates) for all captured tables during the entire snapshot duration. When 'snapshot' is specified, connector runs the initial snapshot in SNAPSHOT isolation level, which guarantees snapshot consistency. In addition, neither table nor row-level locks are held. When 'read_committed' is specified, connector runs the initial snapshot in READ COMMITTED isolation level. No long-running locks are taken, so that initial snapshot does not prevent other transactions from updating table rows. Snapshot consistency is not guaranteed.In 'read_uncommitted' mode neither table nor row-level locks are acquired, but connector does not guarantee snapshot consistency.",title:"Snapshot Isolation Mode",required:!1,deprecated:!1},snapshotLockTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"10s",description:"The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this time frame, the snapshot will be aborted. Defaults to 10 seconds",title:"Snapshot Lock Timeout Ms",required:!1,deprecated:!1},snapshotMaxThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The maximum number of threads used to perform the snapshot. Defaults to 1.",title:"Snapshot Max Threads",required:!1,deprecated:!1},snapshotMode:{kind:"parameter",type:"string",defaultValue:"initial",description:"The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'initial' (default): If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures the current full state of the configured tables. After the snapshot completes, the connector begins to stream changes from the transaction log.; 'initial_only': The connector performs a snapshot as it does for the 'initial' option, but after the connector completes the snapshot, it stops, and does not stream changes from the transaction log.; 'schema_only': If the connector does not detect any offsets for the logical server name, it runs a snapshot that captures only the schema (table structures), but not any table data. After the snapshot completes, the connector begins to stream changes from the transaction log.",title:"Snapshot Mode",required:!1,deprecated:!1},snapshotSelectStatementOverrides:{kind:"parameter",type:"string",description:"This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the specific connectors. Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.",title:"Snapshot Select Statement Overrides",required:!1,deprecated:!1},snapshotTablesOrderByRowCount:{kind:"parameter",type:"string",defaultValue:"disabled",description:"Controls the order in which tables are processed in the initial snapshot. A descending value will order the tables by row count descending. A ascending value will order the tables by row count ascending. A value of disabled (the default) will disable ordering by row count.",title:"Snapshot Tables Order By Row Count",required:!1,deprecated:!1},sourceinfoStructMaker:{kind:"parameter",type:"string",defaultValue:"io.debezium.connector.sqlserver.SqlServerSourceInfoStructMaker",description:"The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.",title:"Sourceinfo Struct Maker",required:!1,deprecated:!1},tableExcludeList:{kind:"parameter",type:"string",description:"A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring",title:"Table Exclude List",required:!1,deprecated:!1},tableIgnoreBuiltin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Flag specifying whether built-in tables should be ignored.",title:"Table Ignore Builtin",required:!1,deprecated:!1},tableIncludeList:{kind:"parameter",type:"string",description:"The tables for which changes are to be captured",title:"Table Include List",required:!1,deprecated:!1},timePrecisionMode:{kind:"parameter",type:"string",defaultValue:"adaptive",description:"Time, date, and timestamps can be represented with different kinds of precisions, including: 'adaptive' (the default) bases the precision of time, date, and timestamp values on the database column's precision; 'adaptive_time_microseconds' like 'adaptive' mode, but TIME fields always use microseconds precision; 'connect' always represents time, date, and timestamp values using Kafka Connect's built-in representations for Time, Date, and Timestamp, which uses millisecond precision regardless of the database columns' precision.",title:"Time Precision Mode",required:!1,deprecated:!1},tombstonesOnDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.",title:"Tombstones On Delete",required:!1,deprecated:!1},topicNamingStrategy:{kind:"parameter",type:"string",defaultValue:"io.debezium.schema.SchemaTopicNamingStrategy",description:"The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.",title:"Topic Naming Strategy",required:!1,deprecated:!1},topicPrefix:{kind:"parameter",type:"string",description:"Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. The topic prefix should be unique across all other connectors, since it is used as a prefix for all Kafka topic names that receive events emitted by this connector. Only alphanumeric characters, hyphens, dots and underscores must be accepted.",title:"Topic Prefix",required:!0,deprecated:!1}}},dhis2:{type:"object",title:"DHIS2",group:"api",icon:"generic24.png",description:"Leverages the DHIS2 Java SDK to integrate Apache Camel with the DHIS2 Web API.",properties:{apiName:{kind:"path",type:"object",enum:["POST","RESOURCE_TABLES","GET","DELETE","PUT"],description:"API operation (e.g., get)",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"Subject of the API operation (e.g., resource)",title:"Method Name",required:!0,deprecated:!1},baseApiUrl:{kind:"parameter",type:"string",description:"DHIS2 server base API URL (e.g., https://play.dhis2.org/2.39.1.1/api)",title:"Base Api Url",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"References a user-defined org.hisp.dhis.integration.sdk.api.Dhis2Client. This option is mutually exclusive to the baseApiUrl, username, password, and personalAccessToken options",title:"Client",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password of the DHIS2 username",title:"Password",required:!1,deprecated:!1},personalAccessToken:{kind:"parameter",type:"string",description:"Personal access token to authenticate with DHIS2. This option is mutually exclusive to username and password",title:"Personal Access Token",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username of the DHIS2 user to operate as",title:"Username",required:!1,deprecated:!1}}},digitalocean:{type:"object",title:"DigitalOcean",group:"cloud,management",icon:"generic24.png",description:"Manage Droplets and resources within the DigitalOcean cloud.",properties:{operation:{kind:"path",type:"object",enum:["create","update","delete","list","ownList","get","listBackups","listActions","listNeighbors","listSnapshots","listKernels","listAllNeighbors","enableBackups","disableBackups","reboot","powerCycle","shutdown","powerOn","powerOff","restore","resetPassword","resize","rebuild","rename","changeKernel","enableIpv6","enablePrivateNetworking","takeSnapshot","transfer","convert","attach","detach","assign","unassign","tag","untag"],description:"The operation to perform to the given resource.",title:"Operation",required:!1,deprecated:!1},page:{kind:"parameter",type:"integer",defaultValue:"1",description:"Use for pagination. Force the page number.",title:"Page",required:!1,deprecated:!1},perPage:{kind:"parameter",type:"integer",defaultValue:"25",description:"Use for pagination. Set the number of item per request. The maximum number of results per page is 200.",title:"Per Page",required:!1,deprecated:!1},resource:{kind:"parameter",type:"object",enum:["account","actions","blockStorages","droplets","mages","snapshots","keys","regions","sizes","floatingIPs","tags"],description:"The DigitalOcean resource type on which perform the operation.",title:"Resource",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},digitalOceanClient:{kind:"parameter",type:"object",description:"To use a existing configured DigitalOceanClient as client",title:"Digital Ocean Client",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"Set a proxy host if needed",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"Set a proxy password if needed",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",description:"Set a proxy port if needed",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUser:{kind:"parameter",type:"string",description:"Set a proxy host if needed",title:"Http Proxy User",required:!1,deprecated:!1},oAuthToken:{kind:"parameter",type:"string",description:"DigitalOcean OAuth Token",title:"OAuth Token",required:!1,deprecated:!1}}},direct:{type:"object",title:"Direct",group:"core,messaging",icon:"generic24.png",description:"Call another endpoint from the same Camel Context synchronously.",properties:{name:{kind:"path",type:"string",description:"Name of direct endpoint",title:"Name",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},block:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If sending a message to a direct endpoint which has no active consumer, then we can tell the producer to block and wait for the consumer to become active.",title:"Block",required:!1,deprecated:!1},failIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the producer should fail by throwing an exception, when sending to a DIRECT endpoint with no active consumers.",title:"Fail If No Consumers",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The timeout value to use if block is enabled.",title:"Timeout",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether synchronous processing is forced. If enabled then the producer thread, will be forced to wait until the message has been completed before the same thread will continue processing. If disabled (default) then the producer thread may be freed and can do other work while the message is continued processed by other threads (reactive).",title:"Synchronous",required:!1,deprecated:!1}}},disruptor:{type:"object",title:"Disruptor",group:"messaging",icon:"generic24.png",description:"Provides asynchronous SEDA behavior using LMAX Disruptor.",properties:{name:{kind:"path",type:"string",description:"Name of queue",title:"Name",required:!0,deprecated:!1},size:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum capacity of the Disruptors ringbuffer Will be effectively increased to the nearest power of two. Notice: Mind if you use this option, then its the first endpoint being created with the queue name, that determines the size. To make sure all endpoints use same size, then configure the size option on all of them, or the first endpoint being created.",title:"Size",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of concurrent threads processing exchanges.",title:"Concurrent Consumers",required:!1,deprecated:!1},multipleConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether multiple consumers are allowed. If enabled, you can use Disruptor for Publish-Subscribe messaging. That is, you can send a message to the queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint.",title:"Multiple Consumers",required:!1,deprecated:!1},waitStrategy:{kind:"parameter",type:"object",defaultValue:"Blocking",enum:["Blocking","Sleeping","BusySpin","Yielding"],description:"Defines the strategy used by consumer threads to wait on new exchanges to be published. The options allowed are:Blocking, Sleeping, BusySpin and Yielding.",title:"Wait Strategy",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},blockWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full Disruptor will block until the ringbuffer's capacity is no longer exhausted. By default, the calling thread will block and wait until the message can be accepted. By disabling this option, an exception will be thrown stating that the queue is full.",title:"Block When Full",required:!1,deprecated:!1},producerType:{kind:"parameter",type:"object",defaultValue:"Multi",enum:["Single","Multi"],description:"Defines the producers allowed on the Disruptor. The options allowed are: Multi to allow multiple producers and Single to enable certain optimizations only allowed when one concurrent producer (on one thread or otherwise synchronized) is active.",title:"Producer Type",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Timeout (in milliseconds) before a producer will stop waiting for an asynchronous task to complete. You can disable timeout by using 0 or a negative value.",title:"Timeout",required:!1,deprecated:!1},waitForTaskToComplete:{kind:"parameter",type:"object",defaultValue:"IfReplyExpected",enum:["Never","IfReplyExpected","Always"],description:"Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: Always, Never or IfReplyExpected. The first two values are self-explanatory. The last value, IfReplyExpected, will only wait if the message is Request Reply based.",title:"Wait For Task To Complete",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"disruptor-vm":{type:"object",title:"Disruptor VM",group:"messaging",icon:"generic24.png",description:"Provides asynchronous SEDA behavior using LMAX Disruptor.",properties:{name:{kind:"path",type:"string",description:"Name of queue",title:"Name",required:!0,deprecated:!1},size:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The maximum capacity of the Disruptors ringbuffer Will be effectively increased to the nearest power of two. Notice: Mind if you use this option, then its the first endpoint being created with the queue name, that determines the size. To make sure all endpoints use same size, then configure the size option on all of them, or the first endpoint being created.",title:"Size",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of concurrent threads processing exchanges.",title:"Concurrent Consumers",required:!1,deprecated:!1},multipleConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether multiple consumers are allowed. If enabled, you can use Disruptor for Publish-Subscribe messaging. That is, you can send a message to the queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint.",title:"Multiple Consumers",required:!1,deprecated:!1},waitStrategy:{kind:"parameter",type:"object",defaultValue:"Blocking",enum:["Blocking","Sleeping","BusySpin","Yielding"],description:"Defines the strategy used by consumer threads to wait on new exchanges to be published. The options allowed are:Blocking, Sleeping, BusySpin and Yielding.",title:"Wait Strategy",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},blockWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full Disruptor will block until the ringbuffer's capacity is no longer exhausted. By default, the calling thread will block and wait until the message can be accepted. By disabling this option, an exception will be thrown stating that the queue is full.",title:"Block When Full",required:!1,deprecated:!1},producerType:{kind:"parameter",type:"object",defaultValue:"Multi",enum:["Single","Multi"],description:"Defines the producers allowed on the Disruptor. The options allowed are: Multi to allow multiple producers and Single to enable certain optimizations only allowed when one concurrent producer (on one thread or otherwise synchronized) is active.",title:"Producer Type",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Timeout (in milliseconds) before a producer will stop waiting for an asynchronous task to complete. You can disable timeout by using 0 or a negative value.",title:"Timeout",required:!1,deprecated:!1},waitForTaskToComplete:{kind:"parameter",type:"object",defaultValue:"IfReplyExpected",enum:["Never","IfReplyExpected","Always"],description:"Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: Always, Never or IfReplyExpected. The first two values are self-explanatory. The last value, IfReplyExpected, will only wait if the message is Request Reply based.",title:"Wait For Task To Complete",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},djl:{type:"object",title:"Deep Java Library",group:"ai",icon:"generic24.png",description:"Infer Deep Learning models from message exchanges data using Deep Java Library (DJL).",properties:{application:{kind:"path",type:"string",description:"Application name",title:"Application",required:!0,deprecated:!1},artifactId:{kind:"parameter",type:"string",description:"Model Artifact",title:"Artifact Id",required:!1,deprecated:!1},model:{kind:"parameter",type:"string",description:"Model",title:"Model",required:!1,deprecated:!1},translator:{kind:"parameter",type:"string",description:"Translator",title:"Translator",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},dns:{type:"object",title:"DNS",group:"networking",icon:"generic24.png",description:"Perform DNS queries using DNSJava.",properties:{dnsType:{kind:"path",type:"object",enum:["dig","ip","lookup","wikipedia"],description:"The type of the lookup.",title:"Dns Type",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},docker:{type:"object",title:"Docker",group:"cloud,container",icon:"generic24.png",description:"Manage Docker containers.",properties:{operation:{kind:"path",type:"object",enum:["events","stats","auth","info","ping","version","imagebuild","imagecreate","imageinspect","imagelist","imagepull","imagepush","imageremove","imagesearch","imagetag","containerattach","containercommit","containercopyfile","containercreate","containerdiff","inspectcontainer","containerkill","containerlist","containerlog","containerpause","containerrestart","containerremove","containerstart","containerstop","containertop","containerunpause","containerwait","execcreate","execstart","networkconnect","networkcreate","networkremove"],description:"Which operation to use",title:"Operation",required:!0,deprecated:!1},email:{kind:"parameter",type:"string",description:"Email address associated with the user",title:"Email",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",defaultValue:"localhost",description:"Docker host",title:"Host",required:!0,deprecated:!1},port:{kind:"parameter",type:"integer",defaultValue:"2375",description:"Docker port",title:"Port",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"integer",description:"Request timeout for response (in seconds)",title:"Request Timeout",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cmdExecFactory:{kind:"parameter",type:"string",defaultValue:"com.github.dockerjava.netty.NettyDockerCmdExecFactory",description:"The fully qualified class name of the DockerCmdExecFactory implementation to use",title:"Cmd Exec Factory",required:!1,deprecated:!1},followRedirectFilter:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to follow redirect filter",title:"Follow Redirect Filter",required:!1,deprecated:!1},loggingFilter:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use logging filter",title:"Logging Filter",required:!1,deprecated:!1},maxPerRouteConnections:{kind:"parameter",type:"integer",defaultValue:"100",description:"Maximum route connections",title:"Max Per Route Connections",required:!1,deprecated:!1},maxTotalConnections:{kind:"parameter",type:"integer",defaultValue:"100",description:"Maximum total connections",title:"Max Total Connections",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Additional configuration parameters as key/value pairs",title:"Parameters",required:!1,deprecated:!1},serverAddress:{kind:"parameter",type:"string",defaultValue:"https://index.docker.io/v1/",description:"Server address for docker registry.",title:"Server Address",required:!1,deprecated:!1},socket:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Socket connection mode",title:"Socket",required:!1,deprecated:!1},certPath:{kind:"parameter",type:"string",description:"Location containing the SSL certificate chain",title:"Cert Path",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to authenticate with",title:"Password",required:!1,deprecated:!1},secure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use HTTPS communication",title:"Secure",required:!1,deprecated:!1},tlsVerify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Check TLS",title:"Tls Verify",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"User name to authenticate with",title:"Username",required:!1,deprecated:!1}}},drill:{type:"object",title:"Drill",group:"database,bigdata",icon:"generic24.png",description:"Perform queries against an Apache Drill cluster.",properties:{host:{kind:"path",type:"string",description:"Host name or IP address",title:"Host",required:!0,deprecated:!1},clusterId:{kind:"parameter",type:"string",description:"Cluster ID https://drill.apache.org/docs/using-the-jdbc-driver/#determining-the-cluster-id",title:"Cluster Id",required:!1,deprecated:!1},directory:{kind:"parameter",type:"string",description:"Drill directory",title:"Directory",required:!1,deprecated:!1},mode:{kind:"parameter",type:"object",defaultValue:"ZK",enum:["ZK","DRILLBIT"],description:"Connection mode: zk: Zookeeper drillbit: Drillbit direct connection https://drill.apache.org/docs/using-the-jdbc-driver/",title:"Mode",required:!1,deprecated:!1},port:{kind:"parameter",type:"integer",defaultValue:"2181",description:"Port number",title:"Port",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},dropbox:{type:"object",title:"Dropbox",group:"cloud,file,api",icon:"generic24.png",description:"Upload, download and manage files, folders, groups, collaborations, etc on Dropbox.",properties:{operation:{kind:"path",type:"object",enum:["put","del","search","get","move"],description:"The specific action (typically is a CRUD action) to perform on Dropbox remote folder.",title:"Operation",required:!0,deprecated:!1},clientIdentifier:{kind:"parameter",type:"string",description:"Name of the app registered to make API requests",title:"Client Identifier",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"A space-separated list of sub-strings to search for. A file matches only if it contains all the sub-strings. If this option is not set, all files will be matched.",title:"Query",required:!1,deprecated:!1},remotePath:{kind:"parameter",type:"string",description:"Original file or folder to move",title:"Remote Path",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},localPath:{kind:"parameter",type:"string",description:"Optional folder or file to upload on Dropbox from the local filesystem. If this option has not been configured then the message body is used as the content to upload.",title:"Local Path",required:!1,deprecated:!1},newRemotePath:{kind:"parameter",type:"string",description:"Destination file or folder",title:"New Remote Path",required:!1,deprecated:!1},uploadMode:{kind:"parameter",type:"object",enum:["add","force"],description:"Which mode to upload. in case of add the new file will be renamed if a file with the same name already exists on dropbox. in case of force if a file with the same name already exists on dropbox, this will be overwritten.",title:"Upload Mode",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"To use an existing DbxClient instance as Dropbox client.",title:"Client",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token to make API requests for a specific Dropbox user",title:"Access Token",required:!0,deprecated:!1},apiKey:{kind:"parameter",type:"string",description:"The apiKey to make API requests for a specific Dropbox user",title:"Api Key",required:!0,deprecated:!1},apiSecret:{kind:"parameter",type:"string",description:"The apiSecret to make API requests for a specific Dropbox user",title:"Api Secret",required:!0,deprecated:!1},expireIn:{kind:"parameter",type:"integer",description:"The expire time to access token for a specific Dropbox user",title:"Expire In",required:!0,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"The refresh token to refresh the access token for a specific Dropbox user",title:"Refresh Token",required:!0,deprecated:!1}}},"dynamic-router":{type:"object",title:"Dynamic Router",group:"messaging,core",icon:"generic24.png",description:"The Dynamic Router component routes exchanges to recipients, and the recipients (and their rules) may change at runtime.",properties:{channel:{kind:"path",type:"string",description:"Channel for the Dynamic Router. For example, if the Dynamic Router URI is dynamic-router://test, then the channel is test. Channels are a way of keeping routing participants, their rules, and exchanges logically separate from the participants, rules, and exchanges on other channels. This can be seen as analogous to VLANs in networking.",title:"Channel",required:!1,deprecated:!1},aggregationStrategy:{kind:"parameter",type:"string",description:"Refers to an AggregationStrategy to be used to assemble the replies from the multicasts, into a single outgoing message from the Multicast. By default, Camel will use the last reply as the outgoing message. You can also use a POJO as the AggregationStrategy.",title:"Aggregation Strategy",required:!1,deprecated:!1},aggregationStrategyBean:{kind:"parameter",type:"object",description:"Refers to an AggregationStrategy to be used to assemble the replies from the multicasts, into a single outgoing message from the Multicast. By default, Camel will use the last reply as the outgoing message. You can also use a POJO as the AggregationStrategy.",title:"Aggregation Strategy Bean",required:!1,deprecated:!1},aggregationStrategyMethodAllowNull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is false then the aggregate method is not used if there was no data to enrich. If this option is true then null values is used as the oldExchange (when no data to enrich), when using POJOs as the AggregationStrategy",title:"Aggregation Strategy Method Allow Null",required:!1,deprecated:!1},aggregationStrategyMethodName:{kind:"parameter",type:"string",description:"You can use a POJO as the AggregationStrategy. This refers to the name of the method that aggregates the exchanges.",title:"Aggregation Strategy Method Name",required:!1,deprecated:!1},cacheSize:{kind:"parameter",type:"integer",defaultValue:"100",description:"When caching producer endpoints, this is the size of the cache. Default is 100.",title:"Cache Size",required:!1,deprecated:!1},executorService:{kind:"parameter",type:"string",description:"Refers to a custom Thread Pool to be used for parallel processing. Notice that, if you set this option, then parallel processing is automatically implied, and you do not have to enable that option in addition to this one.",title:"Executor Service",required:!1,deprecated:!1},executorServiceBean:{kind:"parameter",type:"object",description:"Refers to a custom Thread Pool to be used for parallel processing. Notice that, if you set this option, then parallel processing is automatically implied, and you do not have to enable that option in addition to this one.",title:"Executor Service Bean",required:!1,deprecated:!1},ignoreInvalidEndpoints:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore the invalid endpoint exception when attempting to create a producer with an invalid endpoint.",title:"Ignore Invalid Endpoints",required:!1,deprecated:!1},onPrepare:{kind:"parameter",type:"string",description:"Uses the Processor when preparing the org.apache.camel.Exchange to be sent. This can be used to deep-clone messages that should be sent, or to provide any custom logic that is needed before the exchange is sent. This is the name of a bean in the registry.",title:"On Prepare",required:!1,deprecated:!1},onPrepareProcessor:{kind:"parameter",type:"object",description:"Uses the Processor when preparing the org.apache.camel.Exchange to be sent. This can be used to deep-clone messages that should be sent, or to provide any custom logic that is needed before the exchange is sent. This is a Processor instance.",title:"On Prepare Processor",required:!1,deprecated:!1},parallelAggregate:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled then the aggregate method on AggregationStrategy can be called concurrently. Notice that this would require the implementation of AggregationStrategy to be implemented as thread-safe. By default, this is false, meaning that Camel synchronizes the call to the aggregate method. Though, in some use-cases, this can be used to archive higher performance when the AggregationStrategy is implemented as thread-safe.",title:"Parallel Aggregate",required:!1,deprecated:!1},parallelProcessing:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled, then sending via multicast occurs concurrently. Note that the caller thread will still wait until all messages have been fully processed before it continues. It is only the sending and processing of the replies from the multicast recipients that happens concurrently. When parallel processing is enabled, then the Camel routing engine will continue processing using the last used thread from the parallel thread pool. However, if you want to use the original thread that called the multicast, then make sure to enable the synchronous option as well.",title:"Parallel Processing",required:!1,deprecated:!1},recipientMode:{kind:"parameter",type:"string",defaultValue:"firstMatch",enum:["firstMatch","allMatch"],description:"Recipient mode: firstMatch or allMatch",title:"Recipient Mode",required:!1,deprecated:!1},shareUnitOfWork:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Shares the org.apache.camel.spi.UnitOfWork with the parent and each of the sub messages. Multicast will, by default, not share a unit of work between the parent exchange and each multicasted exchange. This means each sub exchange has its own individual unit of work.",title:"Share Unit Of Work",required:!1,deprecated:!1},stopOnException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will stop further processing if an exception or failure occurred during processing of an org.apache.camel.Exchange and the caused exception will be thrown. Will also stop if processing the exchange failed (has a fault message), or an exception was thrown and handled by the error handler (such as using onException). In all situations, the multicast will stop further processing. This is the same behavior as in the pipeline that is used by the routing engine. The default behavior is to not stop, but to continue processing until the end.",title:"Stop On Exception",required:!1,deprecated:!1},streaming:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled, then Camel will process replies out-of-order (e.g., in the order they come back). If disabled, Camel will process replies in the same order as defined by the multicast.",title:"Streaming",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used. When enabled then the same thread is used to continue routing after the multicast is complete, even if parallel processing is enabled.",title:"Synchronous",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets a total timeout specified in milliseconds, when using parallel processing. If the Multicast has not been able to send and process all replies within the given timeframe, then the timeout triggers and the Multicast breaks out and continues. Notice that, if you provide a TimeoutAwareAggregationStrategy, then the timeout method is invoked before breaking out. If the timeout is reached with running tasks still remaining, certain tasks (for which it is difficult for Camel to shut down in a graceful manner) may continue to run. So use this option with a bit of care.",title:"Timeout",required:!1,deprecated:!1},warnDroppedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flag to log a warning if no predicates match for an exchange.",title:"Warn Dropped Message",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"dynamic-router-control":{type:"object",title:"Dynamic Router Control",group:"messaging",icon:"generic24.png",description:"The Dynamic Router control endpoint for operations that allow routing participants to subscribe or unsubscribe to participate in dynamic message routing.",properties:{controlAction:{kind:"path",type:"string",enum:["subscribe","unsubscribe","update","list","statistics"],description:"Control action",title:"Control Action",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},destinationUri:{kind:"parameter",type:"string",description:"The destination URI for exchanges that match.",title:"Destination Uri",required:!1,deprecated:!1},expressionLanguage:{kind:"parameter",type:"string",defaultValue:"simple",description:"The subscription predicate language.",title:"Expression Language",required:!1,deprecated:!1},predicate:{kind:"parameter",type:"string",description:"The subscription predicate.",title:"Predicate",required:!1,deprecated:!1},predicateBean:{kind:"parameter",type:"object",description:"A Predicate instance in the registry.",title:"Predicate Bean",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",description:"The subscription priority.",title:"Priority",required:!1,deprecated:!1},subscribeChannel:{kind:"parameter",type:"string",description:"The channel to subscribe to",title:"Subscribe Channel",required:!1,deprecated:!1},subscriptionId:{kind:"parameter",type:"string",description:"The subscription ID; if unspecified, one will be assigned and returned.",title:"Subscription Id",required:!1,deprecated:!1}}},ehcache:{type:"object",title:"Ehcache",group:"cache,clustering",icon:"generic24.png",description:"Perform caching operations using Ehcache.",properties:{cacheName:{kind:"path",type:"string",description:"the cache name",title:"Cache Name",required:!0,deprecated:!1},cacheManager:{kind:"parameter",type:"object",description:"The cache manager",title:"Cache Manager",required:!1,deprecated:!1},cacheManagerConfiguration:{kind:"parameter",type:"object",description:"The cache manager configuration",title:"Cache Manager Configuration",required:!1,deprecated:!1},configurationUri:{kind:"parameter",type:"string",description:"URI pointing to the Ehcache XML configuration file's location",title:"Configuration Uri",required:!1,deprecated:!1},createCacheIfNotExist:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Configure if a cache need to be created if it does exist or can't be pre-configured.",title:"Create Cache If Not Exist",required:!1,deprecated:!1},eventFiring:{kind:"parameter",type:"object",defaultValue:"ASYNCHRONOUS",enum:["ASYNCHRONOUS","SYNCHRONOUS"],description:"Set the delivery mode (synchronous, asynchronous)",title:"Event Firing",required:!1,deprecated:!1},eventOrdering:{kind:"parameter",type:"object",defaultValue:"ORDERED",enum:["UNORDERED","ORDERED"],description:"Set the delivery mode (ordered, unordered)",title:"Event Ordering",required:!1,deprecated:!1},eventTypes:{kind:"parameter",type:"string",enum:["EVICTED","EXPIRED","REMOVED","CREATED","UPDATED"],description:"Set the type of events to listen for (EVICTED,EXPIRED,REMOVED,CREATED,UPDATED). You can specify multiple entries separated by comma.",title:"Event Types",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},action:{kind:"parameter",type:"string",description:"To configure the default cache action. If an action is set in the message header, then the operation from the header takes precedence.",title:"Action",required:!1,deprecated:!1},key:{kind:"parameter",type:"object",description:"To configure the default action key. If a key is set in the message header, then the key from the header takes precedence.",title:"Key",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"The default cache configuration to be used to create caches.",title:"Configuration",required:!1,deprecated:!1},configurations:{kind:"parameter",type:"object",description:"A map of cache configuration to be used to create caches.",title:"Configurations",required:!1,deprecated:!1},keyType:{kind:"parameter",type:"string",description:"The cache key type, default java.lang.Object",title:"Key Type",required:!1,deprecated:!1},valueType:{kind:"parameter",type:"string",description:"The cache value type, default java.lang.Object",title:"Value Type",required:!1,deprecated:!1}}},elasticsearch:{type:"object",title:"Elasticsearch",group:"search,monitoring",icon:"generic24.png",description:"Send requests to ElasticSearch via Java Client API.",properties:{clusterName:{kind:"path",type:"string",description:"Name of the cluster",title:"Cluster Name",required:!0,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The time in ms to wait before connection will timeout.",title:"Connection Timeout",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Disconnect after it finish calling the producer",title:"Disconnect",required:!1,deprecated:!1},enableDocumentOnlyMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicates whether the body of the message contains only documents. By default, it is set to false to be able to do the same requests as what the Document API supports (see https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html for more details). To ease the migration of routes based on the legacy component camel-elasticsearch-rest, you should consider enabling the mode especially if your routes do update operations.",title:"Enable Document Only Mode",required:!1,deprecated:!1},from:{kind:"parameter",type:"integer",description:"Starting index of the response.",title:"From",required:!1,deprecated:!1},hostAddresses:{kind:"parameter",type:"string",description:"Comma separated list with ip:port formatted remote transport addresses to use.",title:"Host Addresses",required:!1,deprecated:!1},indexName:{kind:"parameter",type:"string",description:"The name of the index to act against",title:"Index Name",required:!1,deprecated:!1},maxRetryTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The time in ms before retry",title:"Max Retry Timeout",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["Index","Update","Bulk","GetById","MultiGet","MultiSearch","Delete","DeleteIndex","Search","Exists","Ping"],description:"What operation to perform",title:"Operation",required:!1,deprecated:!1},scrollKeepAliveMs:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Time in ms during which elasticsearch will keep search context alive",title:"Scroll Keep Alive Ms",required:!1,deprecated:!1},size:{kind:"parameter",type:"integer",description:"Size of the response.",title:"Size",required:!1,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The timeout in ms to wait before the socket will timeout.",title:"Socket Timeout",required:!1,deprecated:!1},useScroll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable scroll usage",title:"Use Scroll",required:!1,deprecated:!1},waitForActiveShards:{kind:"parameter",type:"integer",defaultValue:"1",description:"Index creation waits for the write consistency number of shards to be available",title:"Wait For Active Shards",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},documentClass:{kind:"parameter",type:"string",defaultValue:"ObjectNode",description:"The class to use when deserializing the documents.",title:"Document Class",required:!1,deprecated:!1},enableSniffer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable automatically discover nodes from a running Elasticsearch cluster. If this option is used in conjunction with Spring Boot then it's managed by the Spring Boot configuration (see: Disable Sniffer in Spring Boot).",title:"Enable Sniffer",required:!1,deprecated:!1},sniffAfterFailureDelay:{kind:"parameter",type:"integer",defaultValue:"60000",description:"The delay of a sniff execution scheduled after a failure (in milliseconds)",title:"Sniff After Failure Delay",required:!1,deprecated:!1},snifferInterval:{kind:"parameter",type:"integer",defaultValue:"300000",description:"The interval between consecutive ordinary sniff executions in milliseconds. Will be honoured when sniffOnFailure is disabled or when there are no failures between consecutive sniff executions",title:"Sniffer Interval",required:!1,deprecated:!1},certificatePath:{kind:"parameter",type:"string",description:"The certificate that can be used to access the ES Cluster. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Certificate Path",required:!1,deprecated:!1},enableSSL:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable SSL",title:"Enable SSL",required:!1,deprecated:!1}}},"elasticsearch-rest-client":{type:"object",title:"Elasticsearch Low level Rest Client",group:"search",icon:"generic24.png",description:"Perform queries and other operations on Elasticsearch or OpenSearch (uses low-level client).",properties:{clusterName:{kind:"path",type:"string",description:"Cluster Name",title:"Cluster Name",required:!0,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Connection timeout",title:"Connection Timeout",required:!1,deprecated:!1},hostAddressesList:{kind:"parameter",type:"string",description:"List of host Addresses, multiple hosts can be separated by comma.",title:"Host Addresses List",required:!1,deprecated:!1},indexName:{kind:"parameter",type:"string",description:"Index Name",title:"Index Name",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["INDEX_OR_UPDATE","GET_BY_ID","DELETE","CREATE_INDEX","DELETE_INDEX","SEARCH"],description:"Operation",title:"Operation",required:!0,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Socket timeout",title:"Socket Timeout",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},enableSniffer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enabling Sniffer",title:"Enable Sniffer",required:!1,deprecated:!1},restClient:{kind:"parameter",type:"object",description:"Rest Client of type org.elasticsearch.client.RestClient. This is only for advanced usage",title:"Rest Client",required:!1,deprecated:!1},sniffAfterFailureDelay:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Sniffer after failure delay (in millis)",title:"Sniff After Failure Delay",required:!1,deprecated:!1},snifferInterval:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Sniffer interval (in millis)",title:"Sniffer Interval",required:!1,deprecated:!1},certificatePath:{kind:"parameter",type:"string",description:"Certificate Path",title:"Certificate Path",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password",title:"Password",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"Username",title:"User",required:!1,deprecated:!1}}},etcd3:{type:"object",title:"Etcd v3",group:"clustering,database",icon:"generic24.png",description:"Get, set, delete or watch keys in etcd key-value store.",properties:{path:{kind:"path",type:"string",description:"The path the endpoint refers to",title:"Path",required:!1,deprecated:!1},endpoints:{kind:"parameter",type:"array",defaultValue:"Etcd3Constants.ETCD_DEFAULT_ENDPOINTS",description:"Configure etcd server endpoints using the IPNameResolver.",title:"Endpoints",required:!1,deprecated:!1},keyCharset:{kind:"parameter",type:"string",defaultValue:"UTF-8",description:"Configure the charset to use for the keys.",title:"Key Charset",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"Configure the namespace of keys used. / will be treated as no namespace.",title:"Namespace",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To apply an action on all the key-value pairs whose key that starts with the target path.",title:"Prefix",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},fromIndex:{kind:"parameter",type:"integer",defaultValue:"0",description:"The index to watch from",title:"From Index",required:!1,deprecated:!1},valueCharset:{kind:"parameter",type:"string",defaultValue:"UTF-8",description:"Configure the charset to use for the values.",title:"Value Charset",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},authHeaders:{kind:"parameter",type:"object",description:"Configure the headers to be added to auth request headers.",title:"Auth Headers",required:!1,deprecated:!1},authority:{kind:"parameter",type:"string",description:"Configure the authority used to authenticate connections to servers.",title:"Authority",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"object",description:"Configure the connection timeout.",title:"Connection Timeout",required:!1,deprecated:!1},headers:{kind:"parameter",type:"object",description:"Configure the headers to be added to http request headers.",title:"Headers",required:!1,deprecated:!1},keepAliveTime:{kind:"parameter",type:"object",defaultValue:"30 seconds",description:"Configure the interval for gRPC keepalives. The current minimum allowed by gRPC is 10 seconds.",title:"Keep Alive Time",required:!1,deprecated:!1},keepAliveTimeout:{kind:"parameter",type:"object",defaultValue:"10 seconds",description:"Configure the timeout for gRPC keepalives.",title:"Keep Alive Timeout",required:!1,deprecated:!1},loadBalancerPolicy:{kind:"parameter",type:"string",description:"Configure etcd load balancer policy.",title:"Load Balancer Policy",required:!1,deprecated:!1},maxInboundMessageSize:{kind:"parameter",type:"integer",description:"Configure the maximum message size allowed for a single gRPC frame.",title:"Max Inbound Message Size",required:!1,deprecated:!1},retryDelay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Configure the delay between retries in milliseconds.",title:"Retry Delay",required:!1,deprecated:!1},retryMaxDelay:{kind:"parameter",type:"integer",defaultValue:"2500",description:"Configure the max backing off delay between retries in milliseconds.",title:"Retry Max Delay",required:!1,deprecated:!1},retryMaxDuration:{kind:"parameter",type:"object",description:"Configure the retries max duration.",title:"Retry Max Duration",required:!1,deprecated:!1},servicePath:{kind:"parameter",type:"string",defaultValue:"/services/",description:"The path to look for service discovery.",title:"Service Path",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Configure etcd auth password.",title:"Password",required:!1,deprecated:!1},sslContext:{kind:"parameter",type:"object",description:"Configure SSL/TLS context to use instead of the system default.",title:"Ssl Context",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"Configure etcd auth user.",title:"User Name",required:!1,deprecated:!1}}},exec:{type:"object",title:"Exec",group:"core",icon:"generic24.png",description:"Execute commands on the underlying operating system.",properties:{executable:{kind:"path",type:"string",description:"Sets the executable to be executed. The executable must not be empty or null.",title:"Executable",required:!0,deprecated:!1},args:{kind:"parameter",type:"string",description:"The arguments may be one or many whitespace-separated tokens.",title:"Args",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"A reference to a org.apache.commons.exec.ExecBinding in the Registry.",title:"Binding",required:!1,deprecated:!1},commandExecutor:{kind:"parameter",type:"object",description:"A reference to a org.apache.commons.exec.ExecCommandExecutor in the Registry that customizes the command execution. The default command executor utilizes the commons-exec library, which adds a shutdown hook for every executed command.",title:"Command Executor",required:!1,deprecated:!1},commandLogLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to be used for commands during execution. The default value is DEBUG. Possible values are TRACE, DEBUG, INFO, WARN, ERROR or OFF. (Values of ExecCommandLogLevelType enum)",title:"Command Log Level",required:!1,deprecated:!1},exitValues:{kind:"parameter",type:"string",description:"The exit values of successful executions. If the process exits with another value, an exception is raised. Comma-separated list of exit values. And empty list (the default) sets no expected exit values and disables the check.",title:"Exit Values",required:!1,deprecated:!1},outFile:{kind:"parameter",type:"string",description:"The name of a file, created by the executable, that should be considered as its output. If no outFile is set, the standard output (stdout) of the executable will be used instead.",title:"Out File",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",description:"The timeout, in milliseconds, after which the executable should be terminated. If execution has not completed within the timeout, the component will send a termination request.",title:"Timeout",required:!1,deprecated:!1},useStderrOnEmptyStdout:{kind:"parameter",type:"boolean",defaultValue:"false",description:"A boolean indicating that when stdout is empty, this component will populate the Camel Message Body with stderr. This behavior is disabled (false) by default.",title:"Use Stderr On Empty Stdout",required:!1,deprecated:!1},workingDir:{kind:"parameter",type:"string",description:"The directory in which the command should be executed. If null, the working directory of the current process will be used.",title:"Working Dir",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},fhir:{type:"object",title:"FHIR",group:"api",icon:"generic24.png",description:"Exchange information in the healthcare domain using the FHIR (Fast Healthcare Interoperability Resources) standard.",properties:{apiName:{kind:"path",type:"object",enum:["CAPABILITIES","CREATE","DELETE","HISTORY","LOAD_PAGE","META","OPERATION","PATCH","READ","SEARCH","TRANSACTION","UPDATE","VALIDATE"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},encoding:{kind:"parameter",type:"string",enum:["JSON","XML"],description:"Encoding to use for all request",title:"Encoding",required:!1,deprecated:!1},fhirVersion:{kind:"parameter",type:"string",defaultValue:"R4",enum:["DSTU2","DSTU2_HL7ORG","DSTU2_1","DSTU3","R4","R4B","R5"],description:"The FHIR Version to use",title:"Fhir Version",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},log:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will log every requests and responses",title:"Log",required:!1,deprecated:!1},prettyPrint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Pretty print all request",title:"Pretty Print",required:!1,deprecated:!1},serverUrl:{kind:"parameter",type:"string",description:"The FHIR server base URL",title:"Server Url",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"To use the custom client",title:"Client",required:!1,deprecated:!1},clientFactory:{kind:"parameter",type:"object",description:"To use the custom client factory",title:"Client Factory",required:!1,deprecated:!1},compress:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Compresses outgoing (POST/PUT) contents to the GZIP format",title:"Compress",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"How long to try and establish the initial TCP connection (in ms)",title:"Connection Timeout",required:!1,deprecated:!1},deferModelScanning:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When this option is set, model classes will not be scanned for children until the child list for the given type is actually accessed.",title:"Defer Model Scanning",required:!1,deprecated:!1},fhirContext:{kind:"parameter",type:"object",description:"FhirContext is an expensive object to create. To avoid creating multiple instances, it can be set directly.",title:"Fhir Context",required:!1,deprecated:!1},forceConformanceCheck:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Force conformance check",title:"Force Conformance Check",required:!1,deprecated:!1},sessionCookie:{kind:"parameter",type:"string",description:"HTTP session cookie to add to every request",title:"Session Cookie",required:!1,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"How long to block for individual read/write operations (in ms)",title:"Socket Timeout",required:!1,deprecated:!1},summary:{kind:"parameter",type:"string",enum:["COUNT","TEXT","DATA","TRUE","FALSE"],description:"Request that the server modify the response using the _summary param",title:"Summary",required:!1,deprecated:!1},validationMode:{kind:"parameter",type:"string",defaultValue:"ONCE",enum:["NEVER","ONCE"],description:"When should Camel validate the FHIR Server's conformance statement",title:"Validation Mode",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"The proxy host",title:"Proxy Host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"The proxy password",title:"Proxy Password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"The proxy port",title:"Proxy Port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"The proxy username",title:"Proxy User",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth access token",title:"Access Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use for basic authentication",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use for basic authentication",title:"Username",required:!1,deprecated:!1}}},file:{type:"object",title:"File",group:"file,core",icon:"generic24.png",description:"Read and write files.",properties:{directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!0,deprecated:!1},charset:{kind:"parameter",type:"string",description:"This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the data into the configured charset, so do not use this if you have big messages.",title:"Charset",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file will be deleted after it is processed successfully.",title:"Delete",required:!1,deprecated:!1},moveFailed:{kind:"parameter",type:"string",description:"Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",title:"Move Failed",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",title:"Noop",required:!1,deprecated:!1},preMove:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",title:"Pre Move",required:!1,deprecated:!1},preSort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",title:"Pre Sort",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If a directory, will look for files in all the sub-directories as well.",title:"Recursive",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},directoryMustExist:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Similar to the startingDirectoryMustExist option but this applies during polling (after starting the consumer).",title:"Directory Must Exist",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},extendedAttributes:{kind:"parameter",type:"string",description:"To define which file attributes of interest. Like posix:permissions,posix:owner,basic:lastAccessTime, it supports basic wildcard like posix:, basic:lastAccessTime",title:"Extended Attributes",required:!1,deprecated:!1},includeHiddenDirs:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to accept hidden directories. Directories which names starts with dot is regarded as a hidden directory, and by default not included. Set this option to true to include hidden directories in the file consumer.",title:"Include Hidden Dirs",required:!1,deprecated:!1},includeHiddenFiles:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to accept hidden files. Files which names starts with dot is regarded as a hidden file, and by default not included. Set this option to true to include hidden files in the file consumer.",title:"Include Hidden Files",required:!1,deprecated:!1},inProgressRepository:{kind:"parameter",type:"object",description:"A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",title:"In Progress Repository",required:!1,deprecated:!1},localWorkDirectory:{kind:"parameter",type:"string",description:"When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",title:"Local Work Directory",required:!1,deprecated:!1},onCompletionExceptionHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",title:"On Completion Exception Handler",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},probeContentType:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to enable probing of the content type. If enable then the consumer uses Files#probeContentType(java.nio.file.Path) to determine the content-type of the file, and store that as a header with key Exchange#FILE_CONTENT_TYPE on the Message.",title:"Probe Content Type",required:!1,deprecated:!1},processStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",title:"Process Strategy",required:!1,deprecated:!1},startingDirectoryMustExist:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the starting directory must exist. Mind that the autoCreate option is default enabled, which means the starting directory is normally auto created if it doesn't exist. You can disable autoCreate and enable this to ensure the starting directory must exist. Will throw an exception if the directory doesn't exist.",title:"Starting Directory Must Exist",required:!1,deprecated:!1},startingDirectoryMustHaveAccess:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the starting directory has access permissions. Mind that the startingDirectoryMustExist parameter must be set to true in order to verify that the directory exists. Will thrown an exception if the directory doesn't have read and write permissions.",title:"Starting Directory Must Have Access",required:!1,deprecated:!1},appendChars:{kind:"parameter",type:"string",description:"Used to append characters (text) after writing files. This can for example be used to add new lines or other separators when writing and appending new files or existing files. To specify new-line (slash-n or slash-r) or tab (slash-t) characters then escape with an extra slash, eg slash-slash-n.",title:"Append Chars",required:!1,deprecated:!1},checksumFileAlgorithm:{kind:"parameter",type:"string",enum:["MD2","MD5","SHA_1","SHA_224","SHA_256","SHA_384","SHA_512","SHA_512_224","SHA_512_256","SHA3_224","SHA3_256","SHA3_384","SHA3_512"],description:"If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The checksum file will always be written in the same folder as the original file.",title:"Checksum File Algorithm",required:!1,deprecated:!1},fileExist:{kind:"parameter",type:"object",defaultValue:"Override",enum:["Override","Append","Fail","Ignore","Move","TryRename"],description:"What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. The option eagerDeleteTargetFile can be used to control what to do if an moving the file, and there exists already an existing file, otherwise causing the move operation to fail. The Move option will move any existing files, before writing the target file. - TryRename is only applicable if tempFileName option is in use. This allows to try renaming the file from the temporary name to the actual name, without doing any exists check. This check may be faster on some file systems and especially FTP servers.",title:"File Exist",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},moveExisting:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language tokens: file:name, file:name.ext, file:name.noext, file:onlyname, file:onlyname.noext, file:ext, and file:parent. Notice the file:parent is not supported by the FTP component, as the FTP component can only move any existing files to a relative directory based on current dir as base.",title:"Move Existing",required:!1,deprecated:!1},tempFileName:{kind:"parameter",type:"string",description:"The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the option 'fileName', not the target directory in the base uri. For example if option fileName includes a directory prefix: dir/finalFilename then tempFileName is relative to that subdirectory dir.",title:"Temp File Name",required:!1,deprecated:!1},tempPrefix:{kind:"parameter",type:"string",description:"This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read locks) reading in progress files. Is often used by FTP when uploading big files.",title:"Temp Prefix",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},chmod:{kind:"parameter",type:"string",description:"Specify the file permissions which is sent by the producer, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it.",title:"Chmod",required:!1,deprecated:!1},chmodDirectory:{kind:"parameter",type:"string",description:"Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it.",title:"Chmod Directory",required:!1,deprecated:!1},eagerDeleteTargetFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before the temp file is being renamed to the target filename. This option is also used to control whether to delete any existing files when fileExist=Move is enabled, and an existing file exists. If this option copyAndDeleteOnRenameFails false, then an exception will be thrown if an existing file existed, if its true, then the existing file is deleted before the move operation.",title:"Eager Delete Target File",required:!1,deprecated:!1},forceWrites:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs / audit logs etc; this would yield better performance.",title:"Force Writes",required:!1,deprecated:!1},keepLastModified:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers.",title:"Keep Last Modified",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",title:"Auto Create",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"131072",description:"Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files).",title:"Buffer Size",required:!1,deprecated:!1},copyAndDeleteOnRenameFail:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to fallback and do a copy and delete file, in case the file could not be renamed directly. This option is not available for the FTP component.",title:"Copy And Delete On Rename Fail",required:!1,deprecated:!1},renameUsingCopy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Perform rename operations using a copy and delete strategy. This is primarily used in environments where the regular rename operation is unreliable (e.g. across different file systems or networks). This option takes precedence over the copyAndDeleteOnRenameFail parameter that will automatically fall back to the copy and delete strategy, but only after additional delays.",title:"Rename Using Copy",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},antExclude:{kind:"parameter",type:"string",description:"Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",title:"Ant Exclude",required:!1,deprecated:!1},antFilterCaseSensitive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets case sensitive flag on ant filter.",title:"Ant Filter Case Sensitive",required:!1,deprecated:!1},antInclude:{kind:"parameter",type:"string",description:"Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",title:"Ant Include",required:!1,deprecated:!1},eagerMaxMessagesPerPoll:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",title:"Eager Max Messages Per Poll",required:!1,deprecated:!1},exclude:{kind:"parameter",type:"string",description:"Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Exclude",required:!1,deprecated:!1},excludeExt:{kind:"parameter",type:"string",description:"Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Exclude Ext",required:!1,deprecated:!1},filter:{kind:"parameter",type:"object",description:"Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",title:"Filter",required:!1,deprecated:!1},filterDirectory:{kind:"parameter",type:"string",description:"Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",title:"Filter Directory",required:!1,deprecated:!1},filterFile:{kind:"parameter",type:"string",description:"Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",title:"Filter File",required:!1,deprecated:!1},idempotent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",title:"Idempotent",required:!1,deprecated:!1},idempotentKey:{kind:"parameter",type:"string",description:"To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",title:"Idempotent Key",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",title:"Idempotent Repository",required:!1,deprecated:!1},include:{kind:"parameter",type:"string",description:"Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Include",required:!1,deprecated:!1},includeExt:{kind:"parameter",type:"string",description:"Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Include Ext",required:!1,deprecated:!1},maxDepth:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum depth to traverse when recursively processing a directory.",title:"Max Depth",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",title:"Max Messages Per Poll",required:!1,deprecated:!1},minDepth:{kind:"parameter",type:"integer",description:"The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",title:"Min Depth",required:!1,deprecated:!1},move:{kind:"parameter",type:"string",description:"Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",title:"Move",required:!1,deprecated:!1},exclusiveReadLockStrategy:{kind:"parameter",type:"object",description:"Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",title:"Exclusive Read Lock Strategy",required:!1,deprecated:!1},readLock:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","markerFile","fileLock","rename","changed","idempotent","idempotent-changed","idempotent-rename"],description:"Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan.",title:"Read Lock",required:!1,deprecated:!1},readLockCheckInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that ample time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Check Interval",required:!1,deprecated:!1},readLockDeleteOrphanLockFiles:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",title:"Read Lock Delete Orphan Lock Files",required:!1,deprecated:!1},readLockIdempotentReleaseAsync:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Async",required:!1,deprecated:!1},readLockIdempotentReleaseAsyncPoolSize:{kind:"parameter",type:"integer",description:"The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Async Pool Size",required:!1,deprecated:!1},readLockIdempotentReleaseDelay:{kind:"parameter",type:"integer",description:"Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if you have configured readLockRemoveOnCommit to true.",title:"Read Lock Idempotent Release Delay",required:!1,deprecated:!1},readLockIdempotentReleaseExecutorService:{kind:"parameter",type:"object",description:"To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Executor Service",required:!1,deprecated:!1},readLockLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename.",title:"Read Lock Logging Level",required:!1,deprecated:!1},readLockMarkerFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",title:"Read Lock Marker File",required:!1,deprecated:!1},readLockMinAge:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",title:"Read Lock Min Age",required:!1,deprecated:!1},readLockMinLength:{kind:"parameter",type:"integer",defaultValue:"1",description:"This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",title:"Read Lock Min Length",required:!1,deprecated:!1},readLockRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Remove On Commit",required:!1,deprecated:!1},readLockRemoveOnRollback:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",title:"Read Lock Remove On Rollback",required:!1,deprecated:!1},readLockTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that ample time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},shuffle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To shuffle the list of files (sort in random order)",title:"Shuffle",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",description:"Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",title:"Sort By",required:!1,deprecated:!1},sorter:{kind:"parameter",type:"object",description:"Pluggable sorter as a java.util.Comparator class.",title:"Sorter",required:!1,deprecated:!1}}},"file-watch":{type:"object",title:"File Watch",group:"file",icon:"generic24.png",description:"Get notified about file events in a directory using java.nio.file.WatchService.",properties:{path:{kind:"path",type:"string",description:"Path of directory to consume events from.",title:"Path",required:!0,deprecated:!1},antInclude:{kind:"parameter",type:"string",defaultValue:"**",description:"ANT style pattern to match files. The file is matched against path relative to endpoint path. Pattern must be also relative (not starting with slash)",title:"Ant Include",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Auto create directory if does not exist.",title:"Auto Create",required:!1,deprecated:!1},events:{kind:"parameter",type:"string",defaultValue:"CREATE,MODIFY,DELETE",description:"Comma separated list of events to watch. Possible values: CREATE,MODIFY,DELETE",title:"Events",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Watch recursive in current and child directories (including newly created directories).",title:"Recursive",required:!1,deprecated:!1},useFileHashing:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enables or disables file hashing to detect duplicate events. If you disable this, you can get some events multiple times on some platforms and JDKs. Check java.nio.file.WatchService limitations for your target platform.",title:"Use File Hashing",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of concurrent consumers. Increase this value, if your route is slow to prevent buffering in queue.",title:"Concurrent Consumers",required:!1,deprecated:!1},fileHasher:{kind:"parameter",type:"object",defaultValue:"#murmur3FFileHasher",description:"Reference to io.methvin.watcher.hashing.FileHasher. This prevents emitting duplicate events on some platforms. For working with large files and if you dont need detect multiple modifications per second per file, use #lastModifiedTimeFileHasher. You can also provide custom implementation in registry.",title:"File Hasher",required:!1,deprecated:!1},pollThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of threads polling WatchService. Increase this value, if you see OVERFLOW messages in log.",title:"Poll Threads",required:!1,deprecated:!1},queueSize:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"Maximum size of queue between WatchService and consumer. Unbounded by default.",title:"Queue Size",required:!1,deprecated:!1}}},flatpack:{type:"object",title:"Flatpack",group:"transformation",icon:"generic24.png",description:"Parse fixed width and delimited files using the FlatPack library.",properties:{type:{kind:"path",type:"object",defaultValue:"delim",enum:["fixed","delim"],description:"Whether to use fixed or delimiter",title:"Type",required:!1,deprecated:!1},resourceUri:{kind:"path",type:"string",description:"URL for loading the flatpack mapping file from classpath or file system",title:"Resource Uri",required:!0,deprecated:!1},allowShortLines:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for lines to be shorter than expected and ignores the extra characters",title:"Allow Short Lines",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"string",defaultValue:",",description:"The default character delimiter for delimited files.",title:"Delimiter",required:!1,deprecated:!1},ignoreExtraColumns:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for lines to be longer than expected and ignores the extra characters",title:"Ignore Extra Columns",required:!1,deprecated:!1},ignoreFirstRecord:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the first line is ignored for delimited files (for the column headers).",title:"Ignore First Record",required:!1,deprecated:!1},splitRows:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets the Component to send each row as a separate exchange once parsed",title:"Split Rows",required:!1,deprecated:!1},textQualifier:{kind:"parameter",type:"string",description:"The text qualifier for delimited files.",title:"Text Qualifier",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},flink:{type:"object",title:"Flink",group:"transformation,bigdata",icon:"generic24.png",description:"Send DataSet jobs to an Apache Flink cluster.",properties:{endpointType:{kind:"path",type:"object",enum:["dataset","datastream"],description:"Type of the endpoint (dataset, datastream).",title:"Endpoint Type",required:!0,deprecated:!1},collect:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Indicates if results should be collected or counted.",title:"Collect",required:!1,deprecated:!1},dataSet:{kind:"parameter",type:"object",description:"DataSet to compute against.",title:"Data Set",required:!1,deprecated:!1},dataSetCallback:{kind:"parameter",type:"object",description:"Function performing action against a DataSet.",title:"Data Set Callback",required:!1,deprecated:!1},dataStream:{kind:"parameter",type:"object",description:"DataStream to compute against.",title:"Data Stream",required:!1,deprecated:!1},dataStreamCallback:{kind:"parameter",type:"object",description:"Function performing action against a DataStream.",title:"Data Stream Callback",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},fop:{type:"object",title:"FOP",group:"file,transformation",icon:"generic24.png",description:"Render messages into PDF and other output formats supported by Apache FOP.",properties:{outputType:{kind:"path",type:"object",enum:["pdf","ps","pcl","png","jpeg","svg","xml","mif","rtf","txt"],description:"The primary output format is PDF but other output formats are also supported.",title:"Output Type",required:!0,deprecated:!1},fopFactory:{kind:"parameter",type:"object",description:"Allows to use a custom configured or implementation of org.apache.fop.apps.FopFactory.",title:"Fop Factory",required:!1,deprecated:!1},userConfigURL:{kind:"parameter",type:"string",description:"The location of a configuration file which can be loaded from classpath or file system.",title:"User Config URL",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},freemarker:{type:"object",title:"Freemarker",group:"transformation",icon:"generic24.png",description:"Transform messages using FreeMarker templates.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"Sets the Freemarker configuration to use",title:"Configuration",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"Sets the encoding to be used for loading the template file.",title:"Encoding",required:!1,deprecated:!1},templateUpdateDelay:{kind:"parameter",type:"integer",description:"Number of seconds the loaded template resource will remain in the cache.",title:"Template Update Delay",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},ftp:{type:"object",title:"FTP",group:"file",icon:"generic24.png",description:"Upload and download files to/from FTP servers.",properties:{host:{kind:"path",type:"string",description:"Hostname of the FTP server",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port of the FTP server",title:"Port",required:!1,deprecated:!1},directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!1,deprecated:!1},binary:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false).",title:"Binary",required:!1,deprecated:!1},charset:{kind:"parameter",type:"string",description:"This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the data into the configured charset, so do not use this if you have big messages.",title:"Charset",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.",title:"Disconnect",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},passiveMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets passive mode connections. Default is active mode connections.",title:"Passive Mode",required:!1,deprecated:!1},separator:{kind:"parameter",type:"object",defaultValue:"UNIX",enum:["UNIX","Windows","Auto"],description:"Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name",title:"Separator",required:!1,deprecated:!1},transferLoggingIntervalSeconds:{kind:"parameter",type:"integer",defaultValue:"5",description:"Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time.",title:"Transfer Logging Interval Seconds",required:!1,deprecated:!1},transferLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Configure the logging level to use when logging the progress of upload and download operations.",title:"Transfer Logging Level",required:!1,deprecated:!1},transferLoggingVerbose:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations.",title:"Transfer Logging Verbose",required:!1,deprecated:!1},fastExistsCheck:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has a lot of files.",title:"Fast Exists Check",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file will be deleted after it is processed successfully.",title:"Delete",required:!1,deprecated:!1},moveFailed:{kind:"parameter",type:"string",description:"Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",title:"Move Failed",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",title:"Noop",required:!1,deprecated:!1},preMove:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",title:"Pre Move",required:!1,deprecated:!1},preSort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",title:"Pre Sort",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If a directory, will look for files in all the sub-directories as well.",title:"Recursive",required:!1,deprecated:!1},resumeDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether resume download is enabled. This must be supported by the FTP server (almost all FTP servers support it). In addition the options localWorkDirectory must be configured so downloaded files are stored in a local directory, and the option binary must be enabled, which is required to support resuming of downloads.",title:"Resume Download",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time.",title:"Stream Download",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},download:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded.",title:"Download",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},handleDirectoryParserAbsoluteResult:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows you to set how the consumer will handle subfolders and files in the path if the directory parser results in with absolute paths The reason for this is that some FTP servers may return file names with absolute paths, and if so then the FTP component needs to handle this by converting the returned path into a relative path.",title:"Handle Directory Parser Absolute Result",required:!1,deprecated:!1},ignoreFileNotFoundOrPermissionError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exist or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead.",title:"Ignore File Not Found Or Permission Error",required:!1,deprecated:!1},inProgressRepository:{kind:"parameter",type:"object",description:"A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",title:"In Progress Repository",required:!1,deprecated:!1},localWorkDirectory:{kind:"parameter",type:"string",description:"When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",title:"Local Work Directory",required:!1,deprecated:!1},onCompletionExceptionHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",title:"On Completion Exception Handler",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",title:"Process Strategy",required:!1,deprecated:!1},useList:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using LIST command when downloading a file. Default is true. In some use cases you may want to download a specific file and are not allowed to use the LIST command, and therefore you can set this option to false. Notice when using this option, then the specific file to download does not include meta-data information such as file size, timestamp, permissions etc, because those information is only possible to retrieve when LIST command is in use.",title:"Use List",required:!1,deprecated:!1},checksumFileAlgorithm:{kind:"parameter",type:"string",enum:["MD2","MD5","SHA_1","SHA_224","SHA_256","SHA_384","SHA_512","SHA_512_224","SHA_512_256","SHA3_224","SHA3_256","SHA3_384","SHA3_512"],description:"If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The checksum file will always be written in the same folder as the original file.",title:"Checksum File Algorithm",required:!1,deprecated:!1},fileExist:{kind:"parameter",type:"object",defaultValue:"Override",enum:["Override","Append","Fail","Ignore","Move","TryRename"],description:"What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. The option eagerDeleteTargetFile can be used to control what to do if an moving the file, and there exists already an existing file, otherwise causing the move operation to fail. The Move option will move any existing files, before writing the target file. - TryRename is only applicable if tempFileName option is in use. This allows to try renaming the file from the temporary name to the actual name, without doing any exists check. This check may be faster on some file systems and especially FTP servers.",title:"File Exist",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},moveExisting:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language tokens: file:name, file:name.ext, file:name.noext, file:onlyname, file:onlyname.noext, file:ext, and file:parent. Notice the file:parent is not supported by the FTP component, as the FTP component can only move any existing files to a relative directory based on current dir as base.",title:"Move Existing",required:!1,deprecated:!1},tempFileName:{kind:"parameter",type:"string",description:"The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the option 'fileName', not the target directory in the base uri. For example if option fileName includes a directory prefix: dir/finalFilename then tempFileName is relative to that subdirectory dir.",title:"Temp File Name",required:!1,deprecated:!1},tempPrefix:{kind:"parameter",type:"string",description:"This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read locks) reading in progress files. Is often used by FTP when uploading big files.",title:"Temp Prefix",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},chmod:{kind:"parameter",type:"string",description:"Allows you to set chmod on the stored file. For example chmod=640.",title:"Chmod",required:!1,deprecated:!1},disconnectOnBatchComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.",title:"Disconnect On Batch Complete",required:!1,deprecated:!1},eagerDeleteTargetFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before the temp file is being renamed to the target filename. This option is also used to control whether to delete any existing files when fileExist=Move is enabled, and an existing file exists. If this option copyAndDeleteOnRenameFails false, then an exception will be thrown if an existing file existed, if its true, then the existing file is deleted before the move operation.",title:"Eager Delete Target File",required:!1,deprecated:!1},keepLastModified:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers.",title:"Keep Last Modified",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},sendNoop:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off.",title:"Send Noop",required:!1,deprecated:!1},activePortRange:{kind:"parameter",type:"string",description:"Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports.",title:"Active Port Range",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",title:"Auto Create",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"131072",description:"Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files).",title:"Buffer Size",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH",title:"Connect Timeout",required:!1,deprecated:!1},ftpClient:{kind:"parameter",type:"object",description:"To use a custom instance of FTPClient",title:"Ftp Client",required:!1,deprecated:!1},ftpClientConfig:{kind:"parameter",type:"object",description:"To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use.",title:"Ftp Client Config",required:!1,deprecated:!1},ftpClientConfigParameters:{kind:"parameter",type:"object",description:"Used by FtpComponent to provide additional parameters for the FTPClientConfig",title:"Ftp Client Config Parameters",required:!1,deprecated:!1},ftpClientParameters:{kind:"parameter",type:"object",description:"Used by FtpComponent to provide additional parameters for the FTPClient",title:"Ftp Client Parameters",required:!1,deprecated:!1},maximumReconnectAttempts:{kind:"parameter",type:"integer",description:"Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.",title:"Maximum Reconnect Attempts",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Delay in millis Camel will wait before performing a reconnect attempt.",title:"Reconnect Delay",required:!1,deprecated:!1},siteCommand:{kind:"parameter",type:"string",description:"Sets optional site command(s) to be executed after successful login. Multiple site commands can be separated using a new line character.",title:"Site Command",required:!1,deprecated:!1},soTimeout:{kind:"parameter",type:"duration",defaultValue:"300000",description:"Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended option is to set this to 300000 so as not have a hanged connection. On SFTP this option is set as timeout on the JSCH Session instance.",title:"So Timeout",required:!1,deprecated:!1},stepwise:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether we should stepwise change directories while traversing file structures when downloading files, or as well when uploading a file to a directory. You can disable this if you for example are in a situation where you cannot change directory on the FTP server due security reasons. Stepwise cannot be used together with streamDownload.",title:"Stepwise",required:!1,deprecated:!1},throwExceptionOnConnectFailed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should an exception be thrown if connection failed (exhausted)By default exception is not thrown and a WARN is logged. You can use this to enable exception being thrown and handle the thrown exception from the org.apache.camel.spi.PollingConsumerPollStrategy rollback method.",title:"Throw Exception On Connect Failed",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Sets the data timeout for waiting for reply Used only by FTPClient",title:"Timeout",required:!1,deprecated:!1},antExclude:{kind:"parameter",type:"string",description:"Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",title:"Ant Exclude",required:!1,deprecated:!1},antFilterCaseSensitive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets case sensitive flag on ant filter.",title:"Ant Filter Case Sensitive",required:!1,deprecated:!1},antInclude:{kind:"parameter",type:"string",description:"Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",title:"Ant Include",required:!1,deprecated:!1},eagerMaxMessagesPerPoll:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",title:"Eager Max Messages Per Poll",required:!1,deprecated:!1},exclude:{kind:"parameter",type:"string",description:"Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Exclude",required:!1,deprecated:!1},excludeExt:{kind:"parameter",type:"string",description:"Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Exclude Ext",required:!1,deprecated:!1},filter:{kind:"parameter",type:"object",description:"Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",title:"Filter",required:!1,deprecated:!1},filterDirectory:{kind:"parameter",type:"string",description:"Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",title:"Filter Directory",required:!1,deprecated:!1},filterFile:{kind:"parameter",type:"string",description:"Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",title:"Filter File",required:!1,deprecated:!1},idempotent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",title:"Idempotent",required:!1,deprecated:!1},idempotentKey:{kind:"parameter",type:"string",description:"To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",title:"Idempotent Key",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",title:"Idempotent Repository",required:!1,deprecated:!1},include:{kind:"parameter",type:"string",description:"Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Include",required:!1,deprecated:!1},includeExt:{kind:"parameter",type:"string",description:"Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Include Ext",required:!1,deprecated:!1},maxDepth:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum depth to traverse when recursively processing a directory.",title:"Max Depth",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",title:"Max Messages Per Poll",required:!1,deprecated:!1},minDepth:{kind:"parameter",type:"integer",description:"The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",title:"Min Depth",required:!1,deprecated:!1},move:{kind:"parameter",type:"string",description:"Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",title:"Move",required:!1,deprecated:!1},exclusiveReadLockStrategy:{kind:"parameter",type:"object",description:"Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",title:"Exclusive Read Lock Strategy",required:!1,deprecated:!1},readLock:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","markerFile","fileLock","rename","changed","idempotent","idempotent-changed","idempotent-rename"],description:"Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan.",title:"Read Lock",required:!1,deprecated:!1},readLockCheckInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that ample time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Check Interval",required:!1,deprecated:!1},readLockDeleteOrphanLockFiles:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",title:"Read Lock Delete Orphan Lock Files",required:!1,deprecated:!1},readLockLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename.",title:"Read Lock Logging Level",required:!1,deprecated:!1},readLockMarkerFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",title:"Read Lock Marker File",required:!1,deprecated:!1},readLockMinAge:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",title:"Read Lock Min Age",required:!1,deprecated:!1},readLockMinLength:{kind:"parameter",type:"integer",defaultValue:"1",description:"This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",title:"Read Lock Min Length",required:!1,deprecated:!1},readLockRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Remove On Commit",required:!1,deprecated:!1},readLockRemoveOnRollback:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",title:"Read Lock Remove On Rollback",required:!1,deprecated:!1},readLockTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that ample time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},account:{kind:"parameter",type:"string",description:"Account to use for login",title:"Account",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use for login",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use for login",title:"Username",required:!1,deprecated:!1},shuffle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To shuffle the list of files (sort in random order)",title:"Shuffle",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",description:"Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",title:"Sort By",required:!1,deprecated:!1},sorter:{kind:"parameter",type:"object",description:"Pluggable sorter as a java.util.Comparator class.",title:"Sorter",required:!1,deprecated:!1}}},ftps:{type:"object",title:"FTPS",group:"file",icon:"generic24.png",description:"Upload and download files to/from FTP servers supporting the FTPS protocol.",properties:{host:{kind:"path",type:"string",description:"Hostname of the FTP server",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port of the FTP server",title:"Port",required:!1,deprecated:!1},directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!1,deprecated:!1},binary:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false).",title:"Binary",required:!1,deprecated:!1},charset:{kind:"parameter",type:"string",description:"This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the data into the configured charset, so do not use this if you have big messages.",title:"Charset",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.",title:"Disconnect",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},passiveMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets passive mode connections. Default is active mode connections.",title:"Passive Mode",required:!1,deprecated:!1},separator:{kind:"parameter",type:"object",defaultValue:"UNIX",enum:["UNIX","Windows","Auto"],description:"Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name",title:"Separator",required:!1,deprecated:!1},transferLoggingIntervalSeconds:{kind:"parameter",type:"integer",defaultValue:"5",description:"Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time.",title:"Transfer Logging Interval Seconds",required:!1,deprecated:!1},transferLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Configure the logging level to use when logging the progress of upload and download operations.",title:"Transfer Logging Level",required:!1,deprecated:!1},transferLoggingVerbose:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations.",title:"Transfer Logging Verbose",required:!1,deprecated:!1},fastExistsCheck:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has a lot of files.",title:"Fast Exists Check",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file will be deleted after it is processed successfully.",title:"Delete",required:!1,deprecated:!1},moveFailed:{kind:"parameter",type:"string",description:"Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",title:"Move Failed",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",title:"Noop",required:!1,deprecated:!1},preMove:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",title:"Pre Move",required:!1,deprecated:!1},preSort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",title:"Pre Sort",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If a directory, will look for files in all the sub-directories as well.",title:"Recursive",required:!1,deprecated:!1},resumeDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether resume download is enabled. This must be supported by the FTP server (almost all FTP servers support it). In addition the options localWorkDirectory must be configured so downloaded files are stored in a local directory, and the option binary must be enabled, which is required to support resuming of downloads.",title:"Resume Download",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time.",title:"Stream Download",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},download:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded.",title:"Download",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},handleDirectoryParserAbsoluteResult:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows you to set how the consumer will handle subfolders and files in the path if the directory parser results in with absolute paths The reason for this is that some FTP servers may return file names with absolute paths, and if so then the FTP component needs to handle this by converting the returned path into a relative path.",title:"Handle Directory Parser Absolute Result",required:!1,deprecated:!1},ignoreFileNotFoundOrPermissionError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exist or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead.",title:"Ignore File Not Found Or Permission Error",required:!1,deprecated:!1},inProgressRepository:{kind:"parameter",type:"object",description:"A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",title:"In Progress Repository",required:!1,deprecated:!1},localWorkDirectory:{kind:"parameter",type:"string",description:"When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",title:"Local Work Directory",required:!1,deprecated:!1},onCompletionExceptionHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",title:"On Completion Exception Handler",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",title:"Process Strategy",required:!1,deprecated:!1},useList:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using LIST command when downloading a file. Default is true. In some use cases you may want to download a specific file and are not allowed to use the LIST command, and therefore you can set this option to false. Notice when using this option, then the specific file to download does not include meta-data information such as file size, timestamp, permissions etc, because those information is only possible to retrieve when LIST command is in use.",title:"Use List",required:!1,deprecated:!1},checksumFileAlgorithm:{kind:"parameter",type:"string",enum:["MD2","MD5","SHA_1","SHA_224","SHA_256","SHA_384","SHA_512","SHA_512_224","SHA_512_256","SHA3_224","SHA3_256","SHA3_384","SHA3_512"],description:"If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The checksum file will always be written in the same folder as the original file.",title:"Checksum File Algorithm",required:!1,deprecated:!1},fileExist:{kind:"parameter",type:"object",defaultValue:"Override",enum:["Override","Append","Fail","Ignore","Move","TryRename"],description:"What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. The option eagerDeleteTargetFile can be used to control what to do if an moving the file, and there exists already an existing file, otherwise causing the move operation to fail. The Move option will move any existing files, before writing the target file. - TryRename is only applicable if tempFileName option is in use. This allows to try renaming the file from the temporary name to the actual name, without doing any exists check. This check may be faster on some file systems and especially FTP servers.",title:"File Exist",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},moveExisting:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language tokens: file:name, file:name.ext, file:name.noext, file:onlyname, file:onlyname.noext, file:ext, and file:parent. Notice the file:parent is not supported by the FTP component, as the FTP component can only move any existing files to a relative directory based on current dir as base.",title:"Move Existing",required:!1,deprecated:!1},tempFileName:{kind:"parameter",type:"string",description:"The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the option 'fileName', not the target directory in the base uri. For example if option fileName includes a directory prefix: dir/finalFilename then tempFileName is relative to that subdirectory dir.",title:"Temp File Name",required:!1,deprecated:!1},tempPrefix:{kind:"parameter",type:"string",description:"This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read locks) reading in progress files. Is often used by FTP when uploading big files.",title:"Temp Prefix",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},chmod:{kind:"parameter",type:"string",description:"Allows you to set chmod on the stored file. For example chmod=640.",title:"Chmod",required:!1,deprecated:!1},disconnectOnBatchComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.",title:"Disconnect On Batch Complete",required:!1,deprecated:!1},eagerDeleteTargetFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before the temp file is being renamed to the target filename. This option is also used to control whether to delete any existing files when fileExist=Move is enabled, and an existing file exists. If this option copyAndDeleteOnRenameFails false, then an exception will be thrown if an existing file existed, if its true, then the existing file is deleted before the move operation.",title:"Eager Delete Target File",required:!1,deprecated:!1},keepLastModified:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers.",title:"Keep Last Modified",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},sendNoop:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off.",title:"Send Noop",required:!1,deprecated:!1},activePortRange:{kind:"parameter",type:"string",description:"Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports.",title:"Active Port Range",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",title:"Auto Create",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"131072",description:"Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files).",title:"Buffer Size",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH",title:"Connect Timeout",required:!1,deprecated:!1},ftpClient:{kind:"parameter",type:"object",description:"To use a custom instance of FTPClient",title:"Ftp Client",required:!1,deprecated:!1},ftpClientConfig:{kind:"parameter",type:"object",description:"To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use.",title:"Ftp Client Config",required:!1,deprecated:!1},ftpClientConfigParameters:{kind:"parameter",type:"object",description:"Used by FtpComponent to provide additional parameters for the FTPClientConfig",title:"Ftp Client Config Parameters",required:!1,deprecated:!1},ftpClientParameters:{kind:"parameter",type:"object",description:"Used by FtpComponent to provide additional parameters for the FTPClient",title:"Ftp Client Parameters",required:!1,deprecated:!1},maximumReconnectAttempts:{kind:"parameter",type:"integer",description:"Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.",title:"Maximum Reconnect Attempts",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Delay in millis Camel will wait before performing a reconnect attempt.",title:"Reconnect Delay",required:!1,deprecated:!1},siteCommand:{kind:"parameter",type:"string",description:"Sets optional site command(s) to be executed after successful login. Multiple site commands can be separated using a new line character.",title:"Site Command",required:!1,deprecated:!1},soTimeout:{kind:"parameter",type:"duration",defaultValue:"300000",description:"Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended option is to set this to 300000 so as not have a hanged connection. On SFTP this option is set as timeout on the JSCH Session instance.",title:"So Timeout",required:!1,deprecated:!1},stepwise:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether we should stepwise change directories while traversing file structures when downloading files, or as well when uploading a file to a directory. You can disable this if you for example are in a situation where you cannot change directory on the FTP server due security reasons. Stepwise cannot be used together with streamDownload.",title:"Stepwise",required:!1,deprecated:!1},throwExceptionOnConnectFailed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should an exception be thrown if connection failed (exhausted)By default exception is not thrown and a WARN is logged. You can use this to enable exception being thrown and handle the thrown exception from the org.apache.camel.spi.PollingConsumerPollStrategy rollback method.",title:"Throw Exception On Connect Failed",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Sets the data timeout for waiting for reply Used only by FTPClient",title:"Timeout",required:!1,deprecated:!1},antExclude:{kind:"parameter",type:"string",description:"Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",title:"Ant Exclude",required:!1,deprecated:!1},antFilterCaseSensitive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets case sensitive flag on ant filter.",title:"Ant Filter Case Sensitive",required:!1,deprecated:!1},antInclude:{kind:"parameter",type:"string",description:"Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",title:"Ant Include",required:!1,deprecated:!1},eagerMaxMessagesPerPoll:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",title:"Eager Max Messages Per Poll",required:!1,deprecated:!1},exclude:{kind:"parameter",type:"string",description:"Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Exclude",required:!1,deprecated:!1},excludeExt:{kind:"parameter",type:"string",description:"Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Exclude Ext",required:!1,deprecated:!1},filter:{kind:"parameter",type:"object",description:"Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",title:"Filter",required:!1,deprecated:!1},filterDirectory:{kind:"parameter",type:"string",description:"Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",title:"Filter Directory",required:!1,deprecated:!1},filterFile:{kind:"parameter",type:"string",description:"Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",title:"Filter File",required:!1,deprecated:!1},idempotent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",title:"Idempotent",required:!1,deprecated:!1},idempotentKey:{kind:"parameter",type:"string",description:"To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",title:"Idempotent Key",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",title:"Idempotent Repository",required:!1,deprecated:!1},include:{kind:"parameter",type:"string",description:"Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Include",required:!1,deprecated:!1},includeExt:{kind:"parameter",type:"string",description:"Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Include Ext",required:!1,deprecated:!1},maxDepth:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum depth to traverse when recursively processing a directory.",title:"Max Depth",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",title:"Max Messages Per Poll",required:!1,deprecated:!1},minDepth:{kind:"parameter",type:"integer",description:"The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",title:"Min Depth",required:!1,deprecated:!1},move:{kind:"parameter",type:"string",description:"Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",title:"Move",required:!1,deprecated:!1},exclusiveReadLockStrategy:{kind:"parameter",type:"object",description:"Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",title:"Exclusive Read Lock Strategy",required:!1,deprecated:!1},readLock:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","markerFile","fileLock","rename","changed","idempotent","idempotent-changed","idempotent-rename"],description:"Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan.",title:"Read Lock",required:!1,deprecated:!1},readLockCheckInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that ample time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Check Interval",required:!1,deprecated:!1},readLockDeleteOrphanLockFiles:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",title:"Read Lock Delete Orphan Lock Files",required:!1,deprecated:!1},readLockLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename.",title:"Read Lock Logging Level",required:!1,deprecated:!1},readLockMarkerFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",title:"Read Lock Marker File",required:!1,deprecated:!1},readLockMinAge:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",title:"Read Lock Min Age",required:!1,deprecated:!1},readLockMinLength:{kind:"parameter",type:"integer",defaultValue:"1",description:"This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",title:"Read Lock Min Length",required:!1,deprecated:!1},readLockRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Remove On Commit",required:!1,deprecated:!1},readLockRemoveOnRollback:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",title:"Read Lock Remove On Rollback",required:!1,deprecated:!1},readLockTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that ample time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},account:{kind:"parameter",type:"string",description:"Account to use for login",title:"Account",required:!1,deprecated:!1},disableSecureDataChannelDefaults:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to disable default options when using secure data channel. This allows you to be in full control what the execPbsz and execProt setting should be used. Default is false",title:"Disable Secure Data Channel Defaults",required:!1,deprecated:!1},execPbsz:{kind:"parameter",type:"integer",description:"When using secure data channel you can set the exec protection buffer size",title:"Exec Pbsz",required:!1,deprecated:!1},execProt:{kind:"parameter",type:"string",description:"The exec protection level PROT command. C - Clear S - Safe(SSL protocol only) E - Confidential(SSL protocol only) P - Private",title:"Exec Prot",required:!1,deprecated:!1},ftpClientKeyStoreParameters:{kind:"parameter",type:"object",description:"Set the key store parameters",title:"Ftp Client Key Store Parameters",required:!1,deprecated:!1},ftpClientTrustStoreParameters:{kind:"parameter",type:"object",description:"Set the trust store parameters",title:"Ftp Client Trust Store Parameters",required:!1,deprecated:!1},implicit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set the security mode (Implicit/Explicit). true - Implicit Mode / False - Explicit Mode",title:"Implicit",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use for login",title:"Password",required:!1,deprecated:!1},securityProtocol:{kind:"parameter",type:"string",defaultValue:"TLSv1.3",description:"Set the underlying security protocol.",title:"Security Protocol",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol().",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use for login",title:"Username",required:!1,deprecated:!1},shuffle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To shuffle the list of files (sort in random order)",title:"Shuffle",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",description:"Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",title:"Sort By",required:!1,deprecated:!1},sorter:{kind:"parameter",type:"object",description:"Pluggable sorter as a java.util.Comparator class.",title:"Sorter",required:!1,deprecated:!1}}},geocoder:{type:"object",title:"Geocoder",group:"api,search",icon:"generic24.png",description:"Find geocodes (latitude and longitude) for a given address or the other way round.",properties:{address:{kind:"path",type:"string",description:"The geo address which should be prefixed with address:",title:"Address",required:!1,deprecated:!1},latlng:{kind:"path",type:"string",description:"The geo latitude and longitude which should be prefixed with latlng:",title:"Latlng",required:!1,deprecated:!1},headersOnly:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to only enrich the Exchange with headers, and leave the body as-is.",title:"Headers Only",required:!1,deprecated:!1},language:{kind:"parameter",type:"string",defaultValue:"en",description:"The language to use.",title:"Language",required:!1,deprecated:!1},serverUrl:{kind:"parameter",type:"string",description:"URL to the geocoder server. Mandatory for Nominatim server.",title:"Server URL",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",enum:["NOMINATIM","GOOGLE"],description:"Type of GeoCoding server. Supported Nominatim and Google.",title:"GeoCoding Type",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyAuthDomain:{kind:"parameter",type:"string",description:"Proxy Authentication Domain to access Google GeoCoding server.",title:"Proxy Auth Domain",required:!1,deprecated:!1},proxyAuthHost:{kind:"parameter",type:"string",description:"Proxy Authentication Host to access Google GeoCoding server.",title:"Proxy Auth Host",required:!1,deprecated:!1},proxyAuthMethod:{kind:"parameter",type:"string",description:"Authentication Method to Google GeoCoding server.",title:"Proxy Auth Method",required:!1,deprecated:!1},proxyAuthPassword:{kind:"parameter",type:"string",description:"Proxy Password to access GeoCoding server.",title:"Proxy Auth Password",required:!1,deprecated:!1},proxyAuthUsername:{kind:"parameter",type:"string",description:"Proxy Username to access GeoCoding server.",title:"Proxy Auth Username",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy Host to access GeoCoding server.",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy Port to access GeoCoding server.",title:"Proxy Port",required:!1,deprecated:!1},apiKey:{kind:"parameter",type:"string",description:"API Key to access Google. Mandatory for Google GeoCoding server.",title:"Api Key",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID to access Google GeoCoding server.",title:"Client Id",required:!1,deprecated:!1},clientKey:{kind:"parameter",type:"string",description:"Client Key to access Google GeoCoding server.",title:"Client Key",required:!1,deprecated:!1}}},git:{type:"object",title:"Git",group:"file",icon:"generic24.png",description:"Perform operations on git repositories.",properties:{localPath:{kind:"path",type:"string",description:"Local repository path",title:"Local Path",required:!0,deprecated:!1},branchName:{kind:"parameter",type:"string",description:"The branch name to work on",title:"Branch Name",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",enum:["commit","tag","branch"],description:"The consumer type",title:"Type",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},allowEmpty:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The flag to manage empty git commits",title:"Allow Empty",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",enum:["clone","init","add","remove","commit","commitAll","createBranch","deleteBranch","createTag","deleteTag","status","log","push","pull","showBranches","cherryPick","remoteAdd","remoteList"],description:"The operation to do on the repository",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Remote repository password",title:"Password",required:!1,deprecated:!1},remoteName:{kind:"parameter",type:"string",description:"The remote repository name to use in particular operation like pull",title:"Remote Name",required:!1,deprecated:!1},remotePath:{kind:"parameter",type:"string",description:"The remote repository path",title:"Remote Path",required:!1,deprecated:!1},tagName:{kind:"parameter",type:"string",description:"The tag name to work on",title:"Tag Name",required:!1,deprecated:!1},targetBranchName:{kind:"parameter",type:"string",defaultValue:"master",description:"Name of target branch in merge operation. If not supplied will try to use init.defaultBranch git configs. If not configured will use default value",title:"Target Branch Name",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Remote repository username",title:"Username",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},gitConfigFile:{kind:"parameter",type:"string",description:"A String with path to a .gitconfig file",title:"Git Config File",required:!1,deprecated:!1}}},github:{type:"object",title:"GitHub",group:"file,cloud,api",icon:"generic24.png",description:"Interact with the GitHub API.",properties:{type:{kind:"path",type:"object",enum:["CLOSEPULLREQUEST","PULLREQUESTCOMMENT","COMMIT","PULLREQUEST","TAG","PULLREQUESTSTATE","PULLREQUESTFILES","GETCOMMITFILE","CREATEISSUE","EVENT"],description:"What git operation to execute",title:"Type",required:!0,deprecated:!1},branchName:{kind:"path",type:"string",description:"Name of branch",title:"Branch Name",required:!1,deprecated:!1},repoName:{kind:"parameter",type:"string",description:"GitHub repository name",title:"Repo Name",required:!0,deprecated:!1},repoOwner:{kind:"parameter",type:"string",description:"GitHub repository owner (organization)",title:"Repo Owner",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},startingSha:{kind:"parameter",type:"string",defaultValue:"last",description:"The starting sha to use for polling commits with the commit consumer. The value can either be a sha for the sha to start from, or use beginning to start from the beginning, or last to start from the last commit.",title:"Starting Sha",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eventFetchStrategy:{kind:"parameter",type:"object",description:"To specify a custom strategy that configures how the EventsConsumer fetches events.",title:"Event Fetch Strategy",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"To use the given encoding when getting a git commit file",title:"Encoding",required:!1,deprecated:!1},state:{kind:"parameter",type:"string",enum:["error","failure","pending","success"],description:"To set git commit status state",title:"State",required:!1,deprecated:!1},targetUrl:{kind:"parameter",type:"string",description:"To set git commit status target url",title:"Target Url",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"GitHub OAuth token. Must be configured on either component or endpoint.",title:"Oauth Token",required:!1,deprecated:!1}}},"google-bigquery":{type:"object",title:"Google BigQuery",group:"cloud,bigdata",icon:"generic24.png",description:"Google BigQuery data warehouse for analytics.",properties:{projectId:{kind:"path",type:"string",description:"Google Cloud Project Id",title:"Project Id",required:!0,deprecated:!1},datasetId:{kind:"path",type:"string",description:"BigQuery Dataset Id",title:"Dataset Id",required:!0,deprecated:!1},tableId:{kind:"path",type:"string",description:"BigQuery table id",title:"Table Id",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"ConnectionFactory to obtain connection to Bigquery Service. If not provided the default one will be used",title:"Connection Factory",required:!1,deprecated:!1},useAsInsertId:{kind:"parameter",type:"string",description:"Field name to use as insert id",title:"Use As Insert Id",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account to google cloud platform",title:"Service Account Key",required:!1,deprecated:!1}}},"google-bigquery-sql":{type:"object",title:"Google BigQuery Standard SQL",group:"cloud,messaging",icon:"generic24.png",description:"Access Google Cloud BigQuery service using SQL queries.",properties:{projectId:{kind:"path",type:"string",description:"Google Cloud Project Id",title:"Project Id",required:!0,deprecated:!1},queryString:{kind:"path",type:"string",description:"BigQuery standard SQL query",title:"Query String",required:!0,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"ConnectionFactory to obtain connection to Bigquery Service. If not provided the default one will be used",title:"Connection Factory",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account to google cloud platform",title:"Service Account Key",required:!1,deprecated:!1}}},"google-calendar":{type:"object",title:"Google Calendar",group:"api,cloud",icon:"generic24.png",description:"Perform various operations on a Google Calendar.",properties:{apiName:{kind:"path",type:"object",enum:["ACL","LIST","CALENDARS","CHANNELS","COLORS","FREEBUSY","EVENTS","SETTINGS"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["calendarImport","clear","delete","get","insert","instances","list","move","patch","query","quickAdd","stop","update","watch"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google calendar application name. Example would be camel-google-calendar/1.0",title:"Application Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the calendar application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",defaultValue:"https://www.googleapis.com/auth/calendar",description:"Specifies the level of permissions you want a calendar application to have to a user account. You can separate multiple scopes by comma. See https://developers.google.com/google-apps/calendar/auth for more info.",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the calendar application",title:"Client Secret",required:!1,deprecated:!1},emailAddress:{kind:"parameter",type:"string",description:"The emailAddress of the Google Service Account.",title:"Email Address",required:!1,deprecated:!1},p12FileName:{kind:"parameter",type:"string",description:"The name of the p12 file which has the private key to use with the Google Service Account.",title:"P12 File Name",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account. Accept base64 adding the prefix base64:",title:"Service Account Key",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"The email address of the user the application is trying to impersonate in the service account flow",title:"User",required:!1,deprecated:!1}}},"google-calendar-stream":{type:"object",title:"Google Calendar Stream",group:"cloud",icon:"generic24.png",description:"Poll for changes in a Google Calendar.",properties:{index:{kind:"path",type:"string",description:"Specifies an index for the endpoint",title:"Index",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google Calendar application name. Example would be camel-google-calendar/1.0",title:"Application Name",required:!1,deprecated:!1},calendarId:{kind:"parameter",type:"string",defaultValue:"primary",description:"The calendarId to be used",title:"Calendar Id",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the calendar application",title:"Client Id",required:!1,deprecated:!1},considerLastUpdate:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Take into account the lastUpdate of the last event polled as start date for the next poll",title:"Consider Last Update",required:!1,deprecated:!1},consumeFromNow:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Consume events in the selected calendar from now on",title:"Consume From Now",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",defaultValue:"10",description:"Max results to be returned",title:"Max Results",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"The query to execute on calendar",title:"Query",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"Specifies the level of permissions you want a calendar application to have to a user account. See https://developers.google.com/calendar/auth for more info.",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},syncFlow:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sync events, see https://developers.google.com/calendar/v3/sync Note: not compatible with: 'query' and 'considerLastUpdate' parameters",title:"Sync Flow",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the calendar application",title:"Client Secret",required:!1,deprecated:!1},emailAddress:{kind:"parameter",type:"string",description:"The emailAddress of the Google Service Account.",title:"Email Address",required:!1,deprecated:!1},p12FileName:{kind:"parameter",type:"string",description:"The name of the p12 file which has the private key to use with the Google Service Account.",title:"P12 File Name",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account. Accept base64 adding the prefix base64:",title:"Service Account Key",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"The email address of the user the application is trying to impersonate in the service account flow.",title:"User",required:!1,deprecated:!1}}},"google-drive":{type:"object",title:"Google Drive",group:"file,cloud,api",icon:"generic24.png",description:"Manage files in Google Drive.",properties:{apiName:{kind:"path",type:"object",enum:["DRIVE_ABOUT","DRIVE_CHANGES","DRIVE_CHANNELS","DRIVE_COMMENTS","DRIVE_DRIVES","DRIVE_FILES","DRIVE_PERMISSIONS","DRIVE_REPLIES","DRIVE_REVISIONS","DRIVE_TEAMDRIVES"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["copy","delete","get","getIdForEmail","insert","list","patch","stop","touch","trash","untrash","update","watch"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google drive application name. Example would be camel-google-drive/1.0",title:"Application Name",required:!1,deprecated:!1},clientFactory:{kind:"parameter",type:"object",description:"To use the GoogleCalendarClientFactory as factory for creating the client. Will by default use BatchGoogleDriveClientFactory",title:"Client Factory",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the drive application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"Specifies the level of permissions you want a drive application to have to a user account. See https://developers.google.com/drive/web/scopes for more info.",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the drive application",title:"Client Secret",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account. Accept base64 adding the prefix base64:",title:"Service Account Key",required:!1,deprecated:!1}}},"google-functions":{type:"object",title:"Google Cloud Functions",group:"cloud",icon:"generic24.png",description:"Manage and invoke Google Cloud Functions",properties:{functionName:{kind:"path",type:"string",description:"The user-defined name of the function",title:"Function Name",required:!0,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key to authenticate an application as a service account",title:"Service Account Key",required:!1,deprecated:!1},location:{kind:"parameter",type:"string",description:"The Google Cloud Location (Region) where the Function is located",title:"Location",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["listFunctions","getFunction","callFunction","generateDownloadUrl","generateUploadUrl","createFunction","updateFunction","deleteFunction"],description:"The operation to perform on the producer.",title:"Operation",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies if the request is a pojo request",title:"Pojo Request",required:!1,deprecated:!1},project:{kind:"parameter",type:"string",description:"The Google Cloud Project name where the Function is located",title:"Project",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"The client to use during service invocation.",title:"Client",required:!1,deprecated:!1}}},"google-mail":{type:"object",title:"Google Mail",group:"cloud,api,mail",icon:"generic24.png",description:"Manage messages in Google Mail.",properties:{apiName:{kind:"path",type:"object",enum:["THREADS","MESSAGES","ATTACHMENTS","LABELS","HISTORY","DRAFTS","USERS"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["attachments","create","delete","get","getProfile","gmailImport","insert","list","modify","patch","send","stop","trash","untrash","update","watch"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google mail application name. Example would be camel-google-mail/1.0",title:"Application Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the mail application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"GMail scopes",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the mail application",title:"Client Secret",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key in json format to authenticate an application as a service account. Accept base64 adding the prefix base64:",title:"Service Account Key",required:!1,deprecated:!1}}},"google-mail-stream":{type:"object",title:"Google Mail Stream",group:"cloud,mail",icon:"generic24.png",description:"Poll for incoming messages in Google Mail.",properties:{index:{kind:"path",type:"string",description:"Currently not in use",title:"Index",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google mail application name. Example would be camel-google-mail/1.0",title:"Application Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the mail application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},labels:{kind:"parameter",type:"string",description:"Comma separated list of labels to take into account",title:"Labels",required:!1,deprecated:!1},markAsRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Mark the message as read once it has been consumed",title:"Mark As Read",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",defaultValue:"10",description:"Max results to be returned",title:"Max Results",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",defaultValue:"is:unread",description:"The query to execute on gmail box",title:"Query",required:!1,deprecated:!1},raw:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to store the entire email message in an RFC 2822 formatted and base64url encoded string (in JSon format), in the Camel message body.",title:"Raw",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"GMail scopes",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the mail application",title:"Client Secret",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Sets .json file with credentials for Service account",title:"Service Account Key",required:!1,deprecated:!1}}},"google-pubsub":{type:"object",title:"Google Pubsub",group:"cloud,messaging",icon:"generic24.png",description:"Send and receive messages to/from Google Cloud Platform PubSub Service.",properties:{projectId:{kind:"path",type:"string",description:"The Google Cloud PubSub Project Id",title:"Project Id",required:!0,deprecated:!1},destinationName:{kind:"path",type:"string",description:"The Destination Name. For the consumer this will be the subscription name, while for the producer this will be the topic name.",title:"Destination Name",required:!0,deprecated:!1},authenticate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Use Credentials when interacting with PubSub service (no authentication is required when using emulator).",title:"Authenticate",required:!1,deprecated:!1},loggerId:{kind:"parameter",type:"string",description:"Logger ID to use when a match to the parent route required",title:"Logger Id",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"The Service account key that can be used as credentials for the PubSub publisher/subscriber. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Service Account Key",required:!1,deprecated:!1},ackMode:{kind:"parameter",type:"object",defaultValue:"AUTO",enum:["AUTO","NONE"],description:"AUTO = exchange gets ack'ed/nack'ed on completion. NONE = downstream process has to ack/nack explicitly",title:"Ack Mode",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of parallel streams consuming from the subscription",title:"Concurrent Consumers",required:!1,deprecated:!1},maxAckExtensionPeriod:{kind:"parameter",type:"integer",defaultValue:"3600",description:"Set the maximum period a message ack deadline will be extended. Value in seconds",title:"Max Ack Extension Period",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"1",description:"The max number of messages to receive from the server in a single API call",title:"Max Messages Per Poll",required:!1,deprecated:!1},synchronousPull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Synchronously pull batches of messages",title:"Synchronous Pull",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},messageOrderingEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should message ordering be enabled",title:"Message Ordering Enabled",required:!1,deprecated:!1},pubsubEndpoint:{kind:"parameter",type:"string",description:"Pub/Sub endpoint to use. Required when using message ordering, and ensures that messages are received in order even when multiple publishers are used",title:"Pubsub Endpoint",required:!1,deprecated:!1},serializer:{kind:"parameter",type:"object",description:"A custom GooglePubsubSerializer to use for serializing message payloads in the producer",title:"Serializer",required:!1,deprecated:!1}}},"google-secret-manager":{type:"object",title:"Google Secret Manager",group:"cloud",icon:"generic24.png",description:"Manage Google Secret Manager Secrets",properties:{project:{kind:"path",type:"string",description:"The Google Cloud Project Id name related to the Secret Manager",title:"Project",required:!0,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Service account key to authenticate an application as a service account",title:"Service Account Key",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["createSecret"],description:"The operation to perform on the producer.",title:"Operation",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies if the request is a pojo request",title:"Pojo Request",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"The client to use during service invocation.",title:"Client",required:!1,deprecated:!1}}},"google-sheets":{type:"object",title:"Google Sheets",group:"cloud,document",icon:"generic24.png",description:"Manage spreadsheets in Google Sheets.",properties:{apiName:{kind:"path",type:"object",enum:["SPREADSHEETS","DATA"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["create","get","update","append","batchUpdate","clear"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google Sheets application name. Example would be camel-google-sheets/1.0",title:"Application Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the sheets application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"Specifies the level of permissions you want a sheets application to have to a user account. See https://developers.google.com/identity/protocols/googlescopes for more info.",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},splitResult:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When consumer return an array or collection this will generate one exchange per element, and their routes will be executed once for each exchange. Set this value to false to use a single exchange for the entire list or array.",title:"Split Result",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the sheets application",title:"Client Secret",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Sets .json file with credentials for Service account",title:"Service Account Key",required:!1,deprecated:!1}}},"google-sheets-stream":{type:"object",title:"Google Sheets Stream",group:"cloud,document",icon:"generic24.png",description:"Poll for changes in Google Sheets.",properties:{spreadsheetId:{kind:"path",type:"string",description:"Specifies the spreadsheet identifier that is used to identify the target to obtain.",title:"Spreadsheet Id",required:!0,deprecated:!1},applicationName:{kind:"parameter",type:"string",description:"Google Sheets application name. Example would be camel-google-sheets/1.0",title:"Application Name",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Client ID of the sheets application",title:"Client Id",required:!1,deprecated:!1},delegate:{kind:"parameter",type:"string",description:"Delegate for wide-domain service account",title:"Delegate",required:!1,deprecated:!1},includeGridData:{kind:"parameter",type:"boolean",defaultValue:"false",description:"True if grid data should be returned.",title:"Include Grid Data",required:!1,deprecated:!1},majorDimension:{kind:"parameter",type:"string",defaultValue:"ROWS",enum:["ROWS","COLUMNS","DIMENSION_UNSPECIFIED"],description:"Specifies the major dimension that results should use..",title:"Major Dimension",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",description:"Specify the maximum number of returned results. This will limit the number of rows in a returned value range data set or the number of returned value ranges in a batch request.",title:"Max Results",required:!1,deprecated:!1},range:{kind:"parameter",type:"string",description:"Specifies the range of rows and columns in a sheet to get data from.",title:"Range",required:!1,deprecated:!1},scopes:{kind:"parameter",type:"array",description:"Specifies the level of permissions you want a sheets application to have to a user account. See https://developers.google.com/identity/protocols/googlescopes for more info.",title:"Scopes",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},splitResults:{kind:"parameter",type:"boolean",defaultValue:"false",description:"True if value range result should be split into rows or columns to process each of them individually. When true each row or column is represented with a separate exchange in batch processing. Otherwise value range object is used as exchange junk size.",title:"Split Results",required:!1,deprecated:!1},valueRenderOption:{kind:"parameter",type:"string",defaultValue:"FORMATTED_VALUE",enum:["FORMATTED_VALUE","UNFORMATTED_VALUE","FORMULA"],description:"Determines how values should be rendered in the output.",title:"Value Render Option",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"OAuth 2 access token. This typically expires after an hour so refreshToken is recommended for long term usage.",title:"Access Token",required:!1,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Client secret of the sheets application",title:"Client Secret",required:!1,deprecated:!1},refreshToken:{kind:"parameter",type:"string",description:"OAuth 2 refresh token. Using this, the Google Sheets component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived.",title:"Refresh Token",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"Sets .json file with credentials for Service account",title:"Service Account Key",required:!1,deprecated:!1}}},"google-storage":{type:"object",title:"Google Storage",group:"cloud",icon:"generic24.png",description:"Store and retrieve objects from Google Cloud Storage Service using the google-cloud-storage library.",properties:{bucketName:{kind:"path",type:"string",description:"Bucket name or ARN",title:"Bucket Name",required:!0,deprecated:!1},autoCreateBucket:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting the autocreation of the bucket bucketName.",title:"Auto Create Bucket",required:!1,deprecated:!1},serviceAccountKey:{kind:"parameter",type:"string",description:"The Service account key that can be used as credentials for the Storage client. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Service Account Key",required:!1,deprecated:!1},storageClass:{kind:"parameter",type:"object",defaultValue:"STANDARD",description:"The Cloud Storage class to use when creating the new buckets",title:"Storage Class",required:!1,deprecated:!1},storageClient:{kind:"parameter",type:"object",description:"The storage client",title:"Storage Client",required:!1,deprecated:!1},storageLocation:{kind:"parameter",type:"string",defaultValue:"US-EAST1",description:"The Cloud Storage location to use when creating the new buckets",title:"Storage Location",required:!1,deprecated:!1},deleteAfterRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Delete objects from the bucket after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls.",title:"Delete After Read",required:!1,deprecated:!1},destinationBucket:{kind:"parameter",type:"string",description:"Define the destination bucket where an object must be moved when moveAfterRead is set to true.",title:"Destination Bucket",required:!1,deprecated:!1},downloadFileName:{kind:"parameter",type:"string",description:"The folder or filename to use when downloading the blob. By default, this specifies the folder name, and the name of the file is the blob name. For example, setting this to mydownload will be the same as setting mydownload/${file:name}. You can use dynamic expressions for fine-grained control. For example, you can specify ${date:now:yyyyMMdd}/${file:name} to store the blob in sub folders based on today's day. Only ${file:name} and ${file:name.noext} is supported as dynamic tokens for the blob name.",title:"Download File Name",required:!1,deprecated:!1},filter:{kind:"parameter",type:"string",description:"A regular expression to include only blobs with name matching it.",title:"Filter",required:!1,deprecated:!1},includeBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the Object exchange will be consumed and put into the body. If false the Object stream will be put raw into the body and the headers will be set with the object metadata.",title:"Include Body",required:!1,deprecated:!1},includeFolders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those",title:"Include Folders",required:!1,deprecated:!1},moveAfterRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Move objects from the origin bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved.",title:"Move After Read",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},objectName:{kind:"parameter",type:"string",description:"The Object name inside the bucket",title:"Object Name",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["copyObject","listObjects","deleteObject","deleteBucket","listBuckets","getObject","createDownloadLink"],description:"Set the operation for the producer",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},grape:{type:"object",title:"Grape",group:"management",icon:"generic24.png",description:"Fetch, load and manage additional jars dynamically after Camel Context was started.",properties:{defaultCoordinates:{kind:"path",type:"string",description:"Maven coordinates to use as default to grab if the message body is empty.",title:"Default Coordinates",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},graphql:{type:"object",title:"GraphQL",group:"api",icon:"generic24.png",description:"Send GraphQL queries and mutations to external systems.",properties:{httpUri:{kind:"path",type:"string",description:"The GraphQL server URI.",title:"Http Uri",required:!0,deprecated:!1},operationName:{kind:"parameter",type:"string",description:"The query or mutation name.",title:"Operation Name",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"The proxy host in the format hostname:port.",title:"Proxy Host",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"The query text.",title:"Query",required:!1,deprecated:!1},queryFile:{kind:"parameter",type:"string",description:"The query file name located in the classpath.",title:"Query File",required:!1,deprecated:!1},queryHeader:{kind:"parameter",type:"string",description:"The name of a header containing the GraphQL query.",title:"Query Header",required:!1,deprecated:!1},variables:{kind:"parameter",type:"object",description:"The JsonObject instance containing the operation variables.",title:"Variables",required:!1,deprecated:!1},variablesHeader:{kind:"parameter",type:"string",description:"The name of a header containing a JsonObject instance containing the operation variables.",title:"Variables Header",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token sent in the Authorization header.",title:"Access Token",required:!1,deprecated:!1},jwtAuthorizationType:{kind:"parameter",type:"string",defaultValue:"Bearer",description:"The JWT Authorization type. Default is Bearer.",title:"Jwt Authorization Type",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for Basic authentication.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for Basic authentication.",title:"Username",required:!1,deprecated:!1}}},grpc:{type:"object",title:"gRPC",group:"rpc",icon:"generic24.png",description:"Expose gRPC endpoints and access external gRPC endpoints.",properties:{host:{kind:"path",type:"string",description:"The gRPC server host name. This is localhost or 0.0.0.0 when being a consumer or remote server host name when using producer.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The gRPC local or remote server port",title:"Port",required:!0,deprecated:!1},service:{kind:"path",type:"string",description:"Fully qualified service name from the protocol buffer descriptor file (package dot service definition name)",title:"Service",required:!0,deprecated:!1},flowControlWindow:{kind:"parameter",type:"integer",defaultValue:"1048576",description:"The HTTP/2 flow control window size (MiB)",title:"Flow Control Window",required:!1,deprecated:!1},maxMessageSize:{kind:"parameter",type:"integer",defaultValue:"4194304",description:"The maximum message size allowed to be received/sent (MiB)",title:"Max Message Size",required:!1,deprecated:!1},autoDiscoverServerInterceptors:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting the autoDiscoverServerInterceptors mechanism, if true, the component will look for a ServerInterceptor instance in the registry automatically otherwise it will skip that checking.",title:"Auto Discover Server Interceptors",required:!1,deprecated:!1},consumerStrategy:{kind:"parameter",type:"object",defaultValue:"PROPAGATION",enum:["AGGREGATION","PROPAGATION","DELEGATION"],description:"This option specifies the top-level strategy for processing service requests and responses in streaming mode. If an aggregation strategy is selected, all requests will be accumulated in the list, then transferred to the flow, and the accumulated responses will be sent to the sender. If a propagation strategy is selected, request is sent to the stream, and the response will be immediately sent back to the sender. If a delegation strategy is selected, request is sent to the stream, but no response generated under the assumption that all necessary responses will be sent at another part of route. Delegation strategy always comes with routeControlledStreamObserver=true to be able to achieve the assumption.",title:"Consumer Strategy",required:!1,deprecated:!1},forwardOnCompleted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines if onCompleted events should be pushed to the Camel route.",title:"Forward On Completed",required:!1,deprecated:!1},forwardOnError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines if onError events should be pushed to the Camel route. Exceptions will be set as message body.",title:"Forward On Error",required:!1,deprecated:!1},maxConcurrentCallsPerConnection:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum number of concurrent calls permitted for each incoming server connection",title:"Max Concurrent Calls Per Connection",required:!1,deprecated:!1},routeControlledStreamObserver:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Lets the route to take control over stream observer. If this value is set to true, then the response observer of gRPC call will be set with the name GrpcConstants.GRPC_RESPONSE_OBSERVER in the Exchange object. Please note that the stream observer's onNext(), onError(), onCompleted() methods should be called in the route.",title:"Route Controlled Stream Observer",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},autoDiscoverClientInterceptors:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting the autoDiscoverClientInterceptors mechanism, if true, the component will look for a ClientInterceptor instance in the registry automatically otherwise it will skip that checking.",title:"Auto Discover Client Interceptors",required:!1,deprecated:!1},inheritExchangePropertiesForReplies:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Copies exchange properties from original exchange to all exchanges created for route defined by streamRepliesTo.",title:"Inherit Exchange Properties For Replies",required:!1,deprecated:!1},method:{kind:"parameter",type:"string",description:"gRPC method name",title:"Method",required:!1,deprecated:!1},producerStrategy:{kind:"parameter",type:"object",defaultValue:"SIMPLE",enum:["SIMPLE","STREAMING"],description:"The mode used to communicate with a remote gRPC server. In SIMPLE mode a single exchange is translated into a remote procedure call. In STREAMING mode all exchanges will be sent within the same request (input and output of the recipient gRPC service must be of type 'stream').",title:"Producer Strategy",required:!1,deprecated:!1},streamRepliesTo:{kind:"parameter",type:"string",description:"When using STREAMING client mode, it indicates the endpoint where responses should be forwarded.",title:"Stream Replies To",required:!1,deprecated:!1},toRouteControlledStreamObserver:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Expects that exchange property GrpcConstants.GRPC_RESPONSE_OBSERVER is set. Takes its value and calls onNext, onError and onComplete on that StreamObserver. All other gRPC parameters are ignored.",title:"To Route Controlled Stream Observer",required:!1,deprecated:!1},userAgent:{kind:"parameter",type:"string",description:"The user agent header passed to the server",title:"User Agent",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},authenticationType:{kind:"parameter",type:"object",defaultValue:"NONE",enum:["NONE","GOOGLE","JWT"],description:"Authentication method type in advance to the SSL/TLS negotiation",title:"Authentication Type",required:!1,deprecated:!1},jwtAlgorithm:{kind:"parameter",type:"object",defaultValue:"HMAC256",enum:["HMAC256","HMAC384","HMAC512"],description:"JSON Web Token sign algorithm",title:"Jwt Algorithm",required:!1,deprecated:!1},jwtIssuer:{kind:"parameter",type:"string",description:"JSON Web Token issuer",title:"Jwt Issuer",required:!1,deprecated:!1},jwtSecret:{kind:"parameter",type:"string",description:"JSON Web Token secret",title:"Jwt Secret",required:!1,deprecated:!1},jwtSubject:{kind:"parameter",type:"string",description:"JSON Web Token subject",title:"Jwt Subject",required:!1,deprecated:!1},keyCertChainResource:{kind:"parameter",type:"string",description:"The X.509 certificate chain file resource in PEM format link",title:"Key Cert Chain Resource",required:!1,deprecated:!1},keyPassword:{kind:"parameter",type:"string",description:"The PKCS#8 private key file password",title:"Key Password",required:!1,deprecated:!1},keyResource:{kind:"parameter",type:"string",description:"The PKCS#8 private key file resource in PEM format link",title:"Key Resource",required:!1,deprecated:!1},negotiationType:{kind:"parameter",type:"object",defaultValue:"PLAINTEXT",enum:["TLS","PLAINTEXT_UPGRADE","PLAINTEXT"],description:"Identifies the security negotiation type used for HTTP/2 communication",title:"Negotiation Type",required:!1,deprecated:!1},serviceAccountResource:{kind:"parameter",type:"string",description:"Service Account key file in JSON format resource link supported by the Google Cloud SDK",title:"Service Account Resource",required:!1,deprecated:!1},trustCertCollectionResource:{kind:"parameter",type:"string",description:"The trusted certificates collection file resource in PEM format for verifying the remote endpoint's certificate",title:"Trust Cert Collection Resource",required:!1,deprecated:!1}}},"guava-eventbus":{type:"object",title:"Guava EventBus",group:"messaging",icon:"generic24.png",description:"Send and receive messages to/from Guava EventBus.",properties:{eventBusRef:{kind:"path",type:"string",description:"To lookup the Guava EventBus from the registry with the given name",title:"Event Bus Ref",required:!1,deprecated:!1},eventClass:{kind:"parameter",type:"string",description:"If used on the consumer side of the route, will filter events received from the EventBus to the instances of the class and superclasses of eventClass. Null value of this option is equal to setting it to the java.lang.Object i.e. the consumer will capture all messages incoming to the event bus. This option cannot be used together with listenerInterface option.",title:"Event Class",required:!1,deprecated:!1},listenerInterface:{kind:"parameter",type:"string",description:"The interface with method(s) marked with the Subscribe annotation. Dynamic proxy will be created over the interface so it could be registered as the EventBus listener. Particularly useful when creating multi-event listeners and for handling DeadEvent properly. This option cannot be used together with eventClass option.",title:"Listener Interface",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hashicorp-vault":{type:"object",title:"Hashicorp Vault",group:"cloud,cloud",icon:"generic24.png",description:"Manage secrets in Hashicorp Vault Service",properties:{secretsEngine:{kind:"path",type:"string",description:"Vault Name to be used",title:"Secrets Engine",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"Hashicorp Vault instance host to be used",title:"Host",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["createSecret","getSecret","deleteSecret","listSecrets"],description:"Operation to be performed",title:"Operation",required:!1,deprecated:!1},port:{kind:"parameter",type:"string",defaultValue:"8200",description:"Hashicorp Vault instance port to be used",title:"Port",required:!1,deprecated:!1},scheme:{kind:"parameter",type:"string",defaultValue:"https",description:"Hashicorp Vault instance scheme to be used",title:"Scheme",required:!1,deprecated:!1},secretPath:{kind:"parameter",type:"string",description:"Hashicorp Vault instance secret Path to be used",title:"Secret Path",required:!1,deprecated:!1},vaultTemplate:{kind:"parameter",type:"object",description:"Instance of Vault template",title:"Vault Template",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"Token to be used",title:"Token",required:!1,deprecated:!1}}},"hazelcast-atomicvalue":{type:"object",title:"Hazelcast Atomic Number",group:"cache,clustering",icon:"generic24.png",description:"Increment, decrement, set, etc. Hazelcast atomic number (a grid wide number).",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-instance":{type:"object",title:"Hazelcast Instance",group:"cache,clustering",icon:"generic24.png",description:"Consume join/leave events of a cache instance in a Hazelcast cluster.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},"hazelcast-list":{type:"object",title:"Hazelcast List",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast distributed list.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-map":{type:"object",title:"Hazelcast Map",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast distributed map.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-multimap":{type:"object",title:"Hazelcast Multimap",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast distributed multimap.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-queue":{type:"object",title:"Hazelcast Queue",group:"cache,clustering,messaging",icon:"generic24.png",description:"Perform operations on Hazelcast distributed queue.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},pollingTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Define the polling timeout of the Queue consumer in Poll mode",title:"Polling Timeout",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"Define the Pool size for Queue Consumer Executor",title:"Pool Size",required:!1,deprecated:!1},queueConsumerMode:{kind:"parameter",type:"object",defaultValue:"Listen",enum:["listen","poll"],description:"Define the Queue Consumer mode: Listen or Poll",title:"Queue Consumer Mode",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-replicatedmap":{type:"object",title:"Hazelcast Replicated Map",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast replicated map.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-ringbuffer":{type:"object",title:"Hazelcast Ringbuffer",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast distributed ringbuffer.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-seda":{type:"object",title:"Hazelcast SEDA",group:"cache,clustering",icon:"generic24.png",description:"Asynchronously send/receive Exchanges between Camel routes running on potentially distinct JVMs/hosts backed by Hazelcast BlockingQueue.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"To use concurrent consumers polling from the SEDA queue.",title:"Concurrent Consumers",required:!1,deprecated:!1},onErrorDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before consumer continues polling after an error has occurred.",title:"On Error Delay",required:!1,deprecated:!1},pollTimeout:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The timeout used when consuming from the SEDA queue. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown.",title:"Poll Timeout",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true then the consumer runs in transaction mode, where the messages in the seda queue will only be removed if the transaction commits, which happens when the processing is complete.",title:"Transacted",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true the whole Exchange will be transfered. If header or body contains not serializable objects, they will be skipped.",title:"Transfer Exchange",required:!1,deprecated:!1}}},"hazelcast-set":{type:"object",title:"Hazelcast Set",group:"cache,clustering",icon:"generic24.png",description:"Perform operations on Hazelcast distributed set.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hazelcast-topic":{type:"object",title:"Hazelcast Topic",group:"cache,clustering",icon:"generic24.png",description:"Send and receive messages to/from Hazelcast distributed topic.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},defaultOperation:{kind:"parameter",type:"object",enum:["put","delete","get","update","query","getAll","clear","putIfAbsent","addAll","removeAll","retainAll","evict","evictAll","valueCount","containsKey","containsValue","getKeys","removeValue","increment","decrement","setValue","destroy","compareAndSet","getAndAdd","add","offer","peek","poll","remainingCapacity","drainTo","removeIf","take","publish","readOnceHead","readOnceTail","capacity"],description:"To specify a default operation to use, if no operation header has been provided.",title:"Default Operation",required:!1,deprecated:!1},hazelcastConfigUri:{kind:"parameter",type:"string",description:"Hazelcast configuration file.",title:"Hazelcast Config Uri",required:!1,deprecated:!1},hazelcastInstance:{kind:"parameter",type:"object",description:"The hazelcast instance reference which can be used for hazelcast endpoint.",title:"Hazelcast Instance",required:!1,deprecated:!1},hazelcastInstanceName:{kind:"parameter",type:"string",description:"The hazelcast instance reference name which can be used for hazelcast endpoint. If you don't specify the instance reference, camel use the default hazelcast instance from the camel-hazelcast instance.",title:"Hazelcast Instance Name",required:!1,deprecated:!1},reliable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if the endpoint will use a reliable Topic struct or not.",title:"Reliable",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},http:{type:"object",title:"HTTP",group:"http",icon:"generic24.png",description:"Send requests to external HTTP servers using Apache HTTP Client 5.x.",properties:{httpUri:{kind:"path",type:"string",description:"The url of the HTTP endpoint to call.",title:"Http Uri",required:!0,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",title:"Disable Stream Cache",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},bridgeEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let the HttpProducer send all the fault response back.",title:"Bridge Endpoint",required:!1,deprecated:!1},connectionClose:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether a Connection Close header must be added to HTTP Request. By default connectionClose is false.",title:"Connection Close",required:!1,deprecated:!1},followRedirects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to the HTTP request should follow redirects. By default the HTTP request does not follow redirects",title:"Follow Redirects",required:!1,deprecated:!1},httpMethod:{kind:"parameter",type:"object",enum:["GET","POST","PUT","DELETE","HEAD","OPTIONS","TRACE","PATCH"],description:"Configure the HTTP method to use. The HttpMethod header cannot override this option if set.",title:"Http Method",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code.",title:"Throw Exception On Failure",required:!1,deprecated:!1},clearExpiredCookies:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to clear expired cookies before sending the HTTP request. This ensures the cookies store does not keep growing by adding new cookies which is newer removed when they are expired. If the component has disabled cookie management then this option is disabled too.",title:"Clear Expired Cookies",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},cookieStore:{kind:"parameter",type:"object",description:"To use a custom CookieStore. By default the BasicCookieStore is used which is an in-memory only cookie store. Notice if bridgeEndpoint=true then the cookie store is forced to be a noop cookie store as cookie shouldn't be stored as we are just bridging (eg acting as a proxy). If a cookieHandler is set then the cookie store is also forced to be a noop cookie store as cookie handling is then performed by the cookieHandler.",title:"Cookie Store",required:!1,deprecated:!1},copyHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy. Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers).",title:"Copy Headers",required:!1,deprecated:!1},customHostHeader:{kind:"parameter",type:"string",description:"To use custom host header for producer. When not set in query will be ignored. When set will override host header derived from url.",title:"Custom Host Header",required:!1,deprecated:!1},deleteWithBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the HTTP DELETE should include the message body or not. By default HTTP DELETE do not include any HTTP body. However in some rare cases users may need to be able to include the message body.",title:"Delete With Body",required:!1,deprecated:!1},getWithBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the HTTP GET should include the message body or not. By default HTTP GET do not include any HTTP body. However in some rare cases users may need to be able to include the message body.",title:"Get With Body",required:!1,deprecated:!1},ignoreResponseBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is true, The http producer won't read response body and cache the input stream",title:"Ignore Response Body",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},okStatusCodeRange:{kind:"parameter",type:"string",defaultValue:"200-299",description:"The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included.",title:"Ok Status Code Range",required:!1,deprecated:!1},preserveHostHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, HttpProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server to reflect the URL called by the upstream client, this allows applications which use the Host header to generate accurate URL's for a proxied service",title:"Preserve Host Header",required:!1,deprecated:!1},skipRequestHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to skip mapping all the Camel headers as HTTP request headers. If there are no data from Camel headers needed to be included in the HTTP request then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",title:"Skip Request Headers",required:!1,deprecated:!1},skipResponseHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to skip mapping all the HTTP response headers to Camel headers. If there are no data needed from HTTP headers then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",title:"Skip Response Headers",required:!1,deprecated:!1},userAgent:{kind:"parameter",type:"string",description:"To set a custom HTTP User-Agent request header",title:"User Agent",required:!1,deprecated:!1},clientBuilder:{kind:"parameter",type:"object",description:"Provide access to the http client request parameters used on new RequestConfig instances used by producers or consumers of this endpoint.",title:"Client Builder",required:!1,deprecated:!1},clientConnectionManager:{kind:"parameter",type:"object",description:"To use a custom HttpClientConnectionManager to manage connections",title:"Client Connection Manager",required:!1,deprecated:!1},connectionsPerRoute:{kind:"parameter",type:"integer",defaultValue:"20",description:"The maximum number of connections per route.",title:"Connections Per Route",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"Sets a custom HttpClient to be used by the producer",title:"Http Client",required:!1,deprecated:!1},httpClientConfigurer:{kind:"parameter",type:"object",description:"Register a custom configuration strategy for new HttpClient instances created by producers or consumers such as to configure authentication mechanisms etc.",title:"Http Client Configurer",required:!1,deprecated:!1},httpClientOptions:{kind:"parameter",type:"object",description:"To configure the HttpClient using the key/values from the Map.",title:"Http Client Options",required:!1,deprecated:!1},httpConnectionOptions:{kind:"parameter",type:"object",description:"To configure the connection and the socket using the key/values from the Map.",title:"Http Connection Options",required:!1,deprecated:!1},httpContext:{kind:"parameter",type:"object",description:"To use a custom HttpContext instance",title:"Http Context",required:!1,deprecated:!1},maxTotalConnections:{kind:"parameter",type:"integer",defaultValue:"200",description:"The maximum number of connections.",title:"Max Total Connections",required:!1,deprecated:!1},useSystemProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To use System Properties as fallback for configuration",title:"Use System Properties",required:!1,deprecated:!1},proxyAuthDomain:{kind:"parameter",type:"string",description:"Proxy authentication domain to use with NTML",title:"Proxy Auth Domain",required:!1,deprecated:!1},proxyAuthHost:{kind:"parameter",type:"string",description:"Proxy authentication host",title:"Proxy Auth Host",required:!1,deprecated:!1},proxyAuthMethod:{kind:"parameter",type:"string",enum:["Basic","Digest","NTLM"],description:"Proxy authentication method to use",title:"Proxy Auth Method",required:!1,deprecated:!1},proxyAuthNtHost:{kind:"parameter",type:"string",description:"Proxy authentication domain (workstation name) to use with NTML",title:"Proxy Auth Nt Host",required:!1,deprecated:!1},proxyAuthPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy Auth Password",required:!1,deprecated:!1},proxyAuthPort:{kind:"parameter",type:"integer",description:"Proxy authentication port",title:"Proxy Auth Port",required:!1,deprecated:!1},proxyAuthScheme:{kind:"parameter",type:"string",enum:["http","https"],description:"Proxy authentication scheme to use",title:"Proxy Auth Scheme",required:!1,deprecated:!1},proxyAuthUsername:{kind:"parameter",type:"string",description:"Proxy authentication username",title:"Proxy Auth Username",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy hostname to use",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy port to use",title:"Proxy Port",required:!1,deprecated:!1},authDomain:{kind:"parameter",type:"string",description:"Authentication domain to use with NTML",title:"Auth Domain",required:!1,deprecated:!1},authenticationPreemptive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is true, camel-http sends preemptive basic authentication to the server.",title:"Authentication Preemptive",required:!1,deprecated:!1},authHost:{kind:"parameter",type:"string",description:"Authentication host to use with NTML",title:"Auth Host",required:!1,deprecated:!1},authMethod:{kind:"parameter",type:"string",description:"Authentication methods allowed to use as a comma separated list of values Basic, Digest or NTLM.",title:"Auth Method",required:!1,deprecated:!1},authMethodPriority:{kind:"parameter",type:"string",enum:["Basic","Digest","NTLM"],description:"Which authentication method to prioritize to use, either as Basic, Digest or NTLM.",title:"Auth Method Priority",required:!1,deprecated:!1},authPassword:{kind:"parameter",type:"string",description:"Authentication password",title:"Auth Password",required:!1,deprecated:!1},authUsername:{kind:"parameter",type:"string",description:"Authentication username",title:"Auth Username",required:!1,deprecated:!1},oauth2ClientId:{kind:"parameter",type:"string",description:"OAuth2 client id",title:"Oauth2 Client Id",required:!1,deprecated:!1},oauth2ClientSecret:{kind:"parameter",type:"string",description:"OAuth2 client secret",title:"Oauth2 Client Secret",required:!1,deprecated:!1},oauth2TokenEndpoint:{kind:"parameter",type:"string",description:"OAuth2 Token endpoint",title:"Oauth2 Token Endpoint",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more different instances, you need to define a new HttpComponent per instance you need.",title:"Ssl Context Parameters",required:!1,deprecated:!1},x509HostnameVerifier:{kind:"parameter",type:"object",description:"To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier",title:"X509 Hostname Verifier",required:!1,deprecated:!1}}},https:{type:"object",title:"HTTPS (Secure)",group:"http",icon:"generic24.png",description:"Send requests to external HTTP servers using Apache HTTP Client 5.x.",properties:{httpUri:{kind:"path",type:"string",description:"The url of the HTTP endpoint to call.",title:"Http Uri",required:!0,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",title:"Disable Stream Cache",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},bridgeEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let the HttpProducer send all the fault response back.",title:"Bridge Endpoint",required:!1,deprecated:!1},connectionClose:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether a Connection Close header must be added to HTTP Request. By default connectionClose is false.",title:"Connection Close",required:!1,deprecated:!1},followRedirects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to the HTTP request should follow redirects. By default the HTTP request does not follow redirects",title:"Follow Redirects",required:!1,deprecated:!1},httpMethod:{kind:"parameter",type:"object",enum:["GET","POST","PUT","DELETE","HEAD","OPTIONS","TRACE","PATCH"],description:"Configure the HTTP method to use. The HttpMethod header cannot override this option if set.",title:"Http Method",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code.",title:"Throw Exception On Failure",required:!1,deprecated:!1},clearExpiredCookies:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to clear expired cookies before sending the HTTP request. This ensures the cookies store does not keep growing by adding new cookies which is newer removed when they are expired. If the component has disabled cookie management then this option is disabled too.",title:"Clear Expired Cookies",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},cookieStore:{kind:"parameter",type:"object",description:"To use a custom CookieStore. By default the BasicCookieStore is used which is an in-memory only cookie store. Notice if bridgeEndpoint=true then the cookie store is forced to be a noop cookie store as cookie shouldn't be stored as we are just bridging (eg acting as a proxy). If a cookieHandler is set then the cookie store is also forced to be a noop cookie store as cookie handling is then performed by the cookieHandler.",title:"Cookie Store",required:!1,deprecated:!1},copyHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy. Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers).",title:"Copy Headers",required:!1,deprecated:!1},customHostHeader:{kind:"parameter",type:"string",description:"To use custom host header for producer. When not set in query will be ignored. When set will override host header derived from url.",title:"Custom Host Header",required:!1,deprecated:!1},deleteWithBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the HTTP DELETE should include the message body or not. By default HTTP DELETE do not include any HTTP body. However in some rare cases users may need to be able to include the message body.",title:"Delete With Body",required:!1,deprecated:!1},getWithBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the HTTP GET should include the message body or not. By default HTTP GET do not include any HTTP body. However in some rare cases users may need to be able to include the message body.",title:"Get With Body",required:!1,deprecated:!1},ignoreResponseBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is true, The http producer won't read response body and cache the input stream",title:"Ignore Response Body",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},okStatusCodeRange:{kind:"parameter",type:"string",defaultValue:"200-299",description:"The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included.",title:"Ok Status Code Range",required:!1,deprecated:!1},preserveHostHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, HttpProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server to reflect the URL called by the upstream client, this allows applications which use the Host header to generate accurate URL's for a proxied service",title:"Preserve Host Header",required:!1,deprecated:!1},skipRequestHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to skip mapping all the Camel headers as HTTP request headers. If there are no data from Camel headers needed to be included in the HTTP request then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",title:"Skip Request Headers",required:!1,deprecated:!1},skipResponseHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to skip mapping all the HTTP response headers to Camel headers. If there are no data needed from HTTP headers then this can avoid parsing overhead with many object allocations for the JVM garbage collector.",title:"Skip Response Headers",required:!1,deprecated:!1},userAgent:{kind:"parameter",type:"string",description:"To set a custom HTTP User-Agent request header",title:"User Agent",required:!1,deprecated:!1},clientBuilder:{kind:"parameter",type:"object",description:"Provide access to the http client request parameters used on new RequestConfig instances used by producers or consumers of this endpoint.",title:"Client Builder",required:!1,deprecated:!1},clientConnectionManager:{kind:"parameter",type:"object",description:"To use a custom HttpClientConnectionManager to manage connections",title:"Client Connection Manager",required:!1,deprecated:!1},connectionsPerRoute:{kind:"parameter",type:"integer",defaultValue:"20",description:"The maximum number of connections per route.",title:"Connections Per Route",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"Sets a custom HttpClient to be used by the producer",title:"Http Client",required:!1,deprecated:!1},httpClientConfigurer:{kind:"parameter",type:"object",description:"Register a custom configuration strategy for new HttpClient instances created by producers or consumers such as to configure authentication mechanisms etc.",title:"Http Client Configurer",required:!1,deprecated:!1},httpClientOptions:{kind:"parameter",type:"object",description:"To configure the HttpClient using the key/values from the Map.",title:"Http Client Options",required:!1,deprecated:!1},httpConnectionOptions:{kind:"parameter",type:"object",description:"To configure the connection and the socket using the key/values from the Map.",title:"Http Connection Options",required:!1,deprecated:!1},httpContext:{kind:"parameter",type:"object",description:"To use a custom HttpContext instance",title:"Http Context",required:!1,deprecated:!1},maxTotalConnections:{kind:"parameter",type:"integer",defaultValue:"200",description:"The maximum number of connections.",title:"Max Total Connections",required:!1,deprecated:!1},useSystemProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To use System Properties as fallback for configuration",title:"Use System Properties",required:!1,deprecated:!1},proxyAuthDomain:{kind:"parameter",type:"string",description:"Proxy authentication domain to use with NTML",title:"Proxy Auth Domain",required:!1,deprecated:!1},proxyAuthHost:{kind:"parameter",type:"string",description:"Proxy authentication host",title:"Proxy Auth Host",required:!1,deprecated:!1},proxyAuthMethod:{kind:"parameter",type:"string",enum:["Basic","Digest","NTLM"],description:"Proxy authentication method to use",title:"Proxy Auth Method",required:!1,deprecated:!1},proxyAuthNtHost:{kind:"parameter",type:"string",description:"Proxy authentication domain (workstation name) to use with NTML",title:"Proxy Auth Nt Host",required:!1,deprecated:!1},proxyAuthPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy Auth Password",required:!1,deprecated:!1},proxyAuthPort:{kind:"parameter",type:"integer",description:"Proxy authentication port",title:"Proxy Auth Port",required:!1,deprecated:!1},proxyAuthScheme:{kind:"parameter",type:"string",enum:["http","https"],description:"Proxy authentication scheme to use",title:"Proxy Auth Scheme",required:!1,deprecated:!1},proxyAuthUsername:{kind:"parameter",type:"string",description:"Proxy authentication username",title:"Proxy Auth Username",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy hostname to use",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy port to use",title:"Proxy Port",required:!1,deprecated:!1},authDomain:{kind:"parameter",type:"string",description:"Authentication domain to use with NTML",title:"Auth Domain",required:!1,deprecated:!1},authenticationPreemptive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is true, camel-http sends preemptive basic authentication to the server.",title:"Authentication Preemptive",required:!1,deprecated:!1},authHost:{kind:"parameter",type:"string",description:"Authentication host to use with NTML",title:"Auth Host",required:!1,deprecated:!1},authMethod:{kind:"parameter",type:"string",description:"Authentication methods allowed to use as a comma separated list of values Basic, Digest or NTLM.",title:"Auth Method",required:!1,deprecated:!1},authMethodPriority:{kind:"parameter",type:"string",enum:["Basic","Digest","NTLM"],description:"Which authentication method to prioritize to use, either as Basic, Digest or NTLM.",title:"Auth Method Priority",required:!1,deprecated:!1},authPassword:{kind:"parameter",type:"string",description:"Authentication password",title:"Auth Password",required:!1,deprecated:!1},authUsername:{kind:"parameter",type:"string",description:"Authentication username",title:"Auth Username",required:!1,deprecated:!1},oauth2ClientId:{kind:"parameter",type:"string",description:"OAuth2 client id",title:"Oauth2 Client Id",required:!1,deprecated:!1},oauth2ClientSecret:{kind:"parameter",type:"string",description:"OAuth2 client secret",title:"Oauth2 Client Secret",required:!1,deprecated:!1},oauth2TokenEndpoint:{kind:"parameter",type:"string",description:"OAuth2 Token endpoint",title:"Oauth2 Token Endpoint",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you need to use 2 or more different instances, you need to define a new HttpComponent per instance you need.",title:"Ssl Context Parameters",required:!1,deprecated:!1},x509HostnameVerifier:{kind:"parameter",type:"object",description:"To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier",title:"X509 Hostname Verifier",required:!1,deprecated:!1}}},"hwcloud-dms":{type:"object",title:"Huawei Distributed Message Service (DMS)",group:"cloud",icon:"generic24.png",description:"To integrate with a fully managed, high-performance message queuing service on Huawei Cloud",properties:{operation:{kind:"path",type:"string",description:"Operation to be performed",title:"Operation",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"API access key (AK)",required:!0,deprecated:!1},accessUser:{kind:"parameter",type:"string",description:"The username of a RabbitMQ instance. This option is mandatory when creating a RabbitMQ instance.",title:"Access user",required:!1,deprecated:!1},availableZones:{kind:"parameter",type:"array",description:"The ID of an available zone. This option is mandatory when creating an instance and it cannot be an empty array.",title:"Available zones",required:!1,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"DMS url. Carries higher precedence than region parameter based client initialization",title:"Service endpoint",required:!1,deprecated:!1},engine:{kind:"parameter",type:"string",enum:["kafka","rabbitmq"],description:"The message engine. Either kafka or rabbitmq. If the parameter is not specified, all instances will be queried",title:"Engine type",required:!1,deprecated:!1},engineVersion:{kind:"parameter",type:"string",description:"The version of the message engine. This option is mandatory when creating an instance.",title:"Engine version",required:!1,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1},instanceId:{kind:"parameter",type:"string",description:"The id of the instance. This option is mandatory when deleting or querying an instance",title:"Instance id",required:!1,deprecated:!1},kafkaManagerPassword:{kind:"parameter",type:"string",description:"The password for logging in to the Kafka Manager. This option is mandatory when creating a Kafka instance.",title:"Kafka manager password",required:!1,deprecated:!1},kafkaManagerUser:{kind:"parameter",type:"string",description:"The username for logging in to the Kafka Manager. This option is mandatory when creating a Kafka instance.",title:"Kafka manager username",required:!1,deprecated:!1},name:{kind:"parameter",type:"string",description:"The name of the instance for creating and updating an instance. This option is mandatory when creating an instance",title:"Name",required:!1,deprecated:!1},partitionNum:{kind:"parameter",type:"integer",description:"The maximum number of partitions in a Kafka instance. This option is mandatory when creating a Kafka instance.",title:"Partition Number",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password of a RabbitMQ instance. This option is mandatory when creating a RabbitMQ instance.",title:"Password",required:!1,deprecated:!1},productId:{kind:"parameter",type:"string",description:"The product ID. This option is mandatory when creating an instance.",title:"Product ID",required:!1,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"Cloud project ID",title:"Project ID",required:!0,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"DMS service region",title:"Service region",required:!0,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"API secret key (SK)",required:!0,deprecated:!1},securityGroupId:{kind:"parameter",type:"string",description:"The security group which the instance belongs to. This option is mandatory when creating an instance.",title:"Security group ID",required:!1,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},specification:{kind:"parameter",type:"string",description:"The baseline bandwidth of a Kafka instance. This option is mandatory when creating a Kafka instance.",title:"Engine version",required:!1,deprecated:!1},storageSpace:{kind:"parameter",type:"integer",description:"The message storage space. This option is mandatory when creating an instance.",title:"Storage space",required:!1,deprecated:!1},storageSpecCode:{kind:"parameter",type:"string",description:"The storage I/O specification. This option is mandatory when creating an instance.",title:"Storage specification code",required:!1,deprecated:!1},subnetId:{kind:"parameter",type:"string",description:"The subnet ID. This option is mandatory when creating an instance.",title:"Subnet ID",required:!1,deprecated:!1},vpcId:{kind:"parameter",type:"string",description:"The VPC ID. This option is mandatory when creating an instance.",title:"VPC ID",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hwcloud-frs":{type:"object",title:"Huawei Cloud Face Recognition Service (FRS)",group:"cloud,messaging",icon:"generic24.png",description:"Face Recognition Service (FRS) is an intelligent service that uses computers to process, analyze, and understand facial images based on human facial features.",properties:{operation:{kind:"path",type:"string",description:"Name of Face Recognition operation to perform, including faceDetection, faceVerification and faceLiveDetection",title:"Operation name",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"Account access key (AK)",required:!0,deprecated:!1},actions:{kind:"parameter",type:"string",description:"This param is mandatory when the operation is faceLiveDetection, indicating the action code sequence list. Actions are separated by commas (,). Currently, the following actions are supported: 1: Shake the head to the left. 2: Shake the head to the right. 3: Nod the head. 4: Mouth movement.",title:"Actions",required:!1,deprecated:!1},actionTimes:{kind:"parameter",type:"string",description:"This param can be used when the operation is faceLiveDetection, indicating the action time array. The length of the array is the same as the number of actions. Each item contains the start time and end time of the action in the corresponding sequence. The unit is the milliseconds from the video start time.",title:"Action Time",required:!1,deprecated:!1},anotherImageBase64:{kind:"parameter",type:"string",description:"This param can be used when operation is faceVerification, indicating the Base64 character string converted from the other image. It needs to be configured if imageBase64 is set. The image size cannot exceed 10 MB. The image resolution of the narrow sides must be greater than 15 pixels, and that of the wide sides cannot exceed 4096 pixels. The supported image formats include JPG, PNG, and BMP.",title:"Another Image in Base64",required:!1,deprecated:!1},anotherImageFilePath:{kind:"parameter",type:"string",description:"This param can be used when operation is faceVerification, indicating the local file path of the other image. It needs to be configured if imageFilePath is set. Image size cannot exceed 8 MB, and it is recommended that the image size be less than 1 MB.",title:"Another Image File Path",required:!1,deprecated:!1},anotherImageUrl:{kind:"parameter",type:"string",description:"This param can be used when operation is faceVerification, indicating the URL of the other image. It needs to be configured if imageUrl is set. The options are as follows: 1.HTTP/HTTPS URLs on the public network 2.OBS URLs. To use OBS data, authorization is required, including service authorization, temporary authorization, and anonymous public authorization. For details, see Configuring the Access Permission of OBS.",title:"Another Image Url",required:!1,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"Fully qualified Face Recognition service url. Carries higher precedence than region based configuration.",title:"Service endpoint",required:!1,deprecated:!1},imageBase64:{kind:"parameter",type:"string",description:"This param can be used when operation is faceDetection or faceVerification, indicating the Base64 character string converted from an image. Any one of imageBase64, imageUrl and imageFilePath needs to be set, and the priority is imageBase64 imageUrl imageFilePath. The Image size cannot exceed 10 MB. The image resolution of the narrow sides must be greater than 15 pixels, and that of the wide sides cannot exceed 4096 pixels. The supported image formats include JPG, PNG, and BMP.",title:"Image in Base64",required:!1,deprecated:!1},imageFilePath:{kind:"parameter",type:"string",description:"This param can be used when operation is faceDetection or faceVerification, indicating the local image file path. Any one of imageBase64, imageUrl and imageFilePath needs to be set, and the priority is imageBase64 imageUrl imageFilePath. Image size cannot exceed 8 MB, and it is recommended that the image size be less than 1 MB.",title:"Image File Path",required:!1,deprecated:!1},imageUrl:{kind:"parameter",type:"string",description:"This param can be used when operation is faceDetection or faceVerification, indicating the URL of an image. Any one of imageBase64, imageUrl and imageFilePath needs to be set, and the priority is imageBase64 imageUrl imageFilePath. The options are as follows: 1.HTTP/HTTPS URLs on the public network 2.OBS URLs. To use OBS data, authorization is required, including service authorization, temporary authorization, and anonymous public authorization. For details, see Configuring the Access Permission of OBS.",title:"Image Url",required:!1,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"Cloud project ID",title:"Project ID",required:!0,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"Face Recognition service region. Currently only cn-north-1 and cn-north-4 are supported. This is lower precedence than endpoint based configuration.",title:"Service region",required:!0,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"Account secret key (SK)",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},videoBase64:{kind:"parameter",type:"string",description:"This param can be used when operation is faceLiveDetection, indicating the Base64 character string converted from a video. Any one of videoBase64, videoUrl and videoFilePath needs to be set, and the priority is videoBase64 videoUrl videoFilePath. Requirements are as follows: 1.The video size after Base64 encoding cannot exceed 8 MB. It is recommended that the video file be compressed to 200 KB to 2 MB on the client. 2.The video duration must be 1 to 15 seconds. 3.The recommended frame rate is 10 fps to 30 fps. 4.The encapsulation format can be MP4, AVI, FLV, WEBM, ASF, or MOV. 5.The video encoding format can be H.261, H.263, H.264, HEVC, VC-1, VP8, VP9, or WMV3.",title:"Video in Base64",required:!1,deprecated:!1},videoFilePath:{kind:"parameter",type:"string",description:"This param can be used when operation is faceLiveDetection, indicating the local video file path. Any one of videoBase64, videoUrl and videoFilePath needs to be set, and the priority is videoBase64 videoUrl videoFilePath. The video requirements are as follows: 1.The size of a video file cannot exceed 8 MB. It is recommended that the video file be compressed to 200 KB to 2 MB on the client. 2.The video duration must be 1 to 15 seconds. 3.The recommended frame rate is 10 fps to 30 fps. 4.The encapsulation format can be MP4, AVI, FLV, WEBM, ASF, or MOV. 5.The video encoding format can be H.261, H.263, H.264, HEVC, VC-1, VP8, VP9, or WMV3.",title:"Video File Path",required:!1,deprecated:!1},videoUrl:{kind:"parameter",type:"string",description:"This param can be used when operation is faceLiveDetection, indicating the URL of a video. Any one of videoBase64, videoUrl and videoFilePath needs to be set, and the priority is videoBase64 videoUrl videoFilePath. Currently, only the URL of an OBS bucket on HUAWEI CLOUD is supported and FRS must have the permission to read data in the OBS bucket. For details about how to enable the read permission, see Service Authorization. The video requirements are as follows: 1.The video size after Base64 encoding cannot exceed 8 MB. 2.The video duration must be 1 to 15 seconds. 3.The recommended frame rate is 10 fps to 30 fps. 4.The encapsulation format can be MP4, AVI, FLV, WEBM, ASF, or MOV. 5.The video encoding format can be H.261, H.263, H.264, HEVC, VC-1, VP8, VP9, or WMV3.",title:"Video Url",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1}}},"hwcloud-functiongraph":{type:"object",title:"Huawei FunctionGraph",group:"cloud,serverless",icon:"generic24.png",description:"To call serverless functions on Huawei Cloud",properties:{operation:{kind:"path",type:"string",description:"Operation to be performed",title:"Operation",required:!0,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"FunctionGraph url. Carries higher precedence than region parameter based client initialization",title:"Service endpoint",required:!1,deprecated:!1},functionName:{kind:"parameter",type:"string",description:"Name of the function to invoke",title:"Function name",required:!1,deprecated:!1},functionPackage:{kind:"parameter",type:"string",defaultValue:"default",description:"Functions that can be logically grouped together",title:"Function package",required:!1,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"Cloud project ID",title:"Project ID",required:!0,deprecated:!1},region:{kind:"parameter",type:"string",description:"FunctionGraph service region. This is lower precedence than endpoint based configuration",title:"Service region",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"API access key (AK)",required:!0,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"API secret key (SK)",required:!0,deprecated:!1}}},"hwcloud-iam":{type:"object",title:"Huawei Identity and Access Management (IAM)",group:"cloud",icon:"generic24.png",description:"To securely manage users on Huawei Cloud",properties:{operation:{kind:"path",type:"string",description:"Operation to be performed",title:"Operation",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"API access key (AK)",required:!0,deprecated:!1},groupId:{kind:"parameter",type:"string",description:"Group ID to perform operation with",title:"Group ID",required:!1,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"IAM service region",title:"Service region",required:!0,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"API secret key (SK)",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},userId:{kind:"parameter",type:"string",description:"User ID to perform operation with",title:"User ID",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"hwcloud-imagerecognition":{type:"object",title:"Huawei Cloud Image Recognition",group:"cloud,messaging",icon:"generic24.png",description:"To identify objects, scenes, and concepts in images on Huawei Cloud",properties:{operation:{kind:"path",type:"string",description:"Name of Image Recognition operation to perform, including celebrityRecognition and tagRecognition",title:"Operation name",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"Account access key (AK)",required:!0,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"Fully qualified Image Recognition service url. Carries higher precedence than region based configuration.",title:"Service endpoint",required:!1,deprecated:!1},imageContent:{kind:"parameter",type:"string",description:"Indicates the Base64 character string converted from the image. The size cannot exceed 10 MB. The image resolution of the narrow sides must be greater than 15 pixels, and that of the wide sides cannot exceed 4096 pixels.The supported image formats include JPG, PNG, and BMP. Configure either this parameter or imageUrl, and this one carries higher precedence than imageUrl.",title:"Image in Base64",required:!1,deprecated:!1},imageUrl:{kind:"parameter",type:"string",description:"Indicates the URL of an image. The options are as follows: HTTP/HTTPS URLs on the public network OBS URLs. To use OBS data, authorization is required, including service authorization, temporary authorization, and anonymous public authorization. For details, see Configuring the Access Permission of OBS. Configure either this parameter or imageContent, and this one carries lower precedence than imageContent.",title:"Image Url",required:!1,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"Cloud project ID",title:"Project ID",required:!0,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"Image Recognition service region. Currently only cn-north-1 and cn-north-4 are supported. This is lower precedence than endpoint based configuration.",title:"Service region",required:!0,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"Account secret key (SK)",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},tagLanguage:{kind:"parameter",type:"string",defaultValue:"zh",description:"Indicates the language of the returned tags when the operation is tagRecognition, including zh and en.",title:"Tag Language",required:!1,deprecated:!1},tagLimit:{kind:"parameter",type:"integer",defaultValue:"50",description:"Indicates the maximum number of the returned tags when the operation is tagRecognition.",title:"Tag Limit",required:!1,deprecated:!1},threshold:{kind:"parameter",type:"number",description:"Indicates the threshold of confidence. When the operation is tagRecognition, this parameter ranges from 0 to 100. Tags whose confidence score is lower than the threshold will not be returned. The default value is 60. When the operation is celebrityRecognition, this parameter ranges from 0 to 1. Labels whose confidence score is lower than the threshold will not be returned. The default value is 0.48.",title:"Threshold of confidence",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1}}},"hwcloud-obs":{type:"object",title:"Huawei Object Storage Service (OBS)",group:"cloud",icon:"generic24.png",description:"To provide stable, secure, efficient, and easy-to-use cloud storage service on Huawei Cloud",properties:{operation:{kind:"path",type:"string",description:"Operation to be performed",title:"Operation",required:!0,deprecated:!1},bucketName:{kind:"parameter",type:"string",description:"Name of bucket to perform operation on",title:"Bucket Name",required:!1,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"OBS url. Carries higher precedence than region parameter based client initialization",title:"Endpoint url",required:!1,deprecated:!1},objectName:{kind:"parameter",type:"string",description:"Name of object to perform operation with",title:"Object Name",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"OBS service region. This is lower precedence than endpoint based configuration",title:"Service region",required:!0,deprecated:!1},deleteAfterRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines if objects should be deleted after it has been retrieved",title:"Delete after read",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"string",description:"The character used for grouping object names",title:"Delimiter",required:!1,deprecated:!1},destinationBucket:{kind:"parameter",type:"string",description:"Name of destination bucket where objects will be moved when moveAfterRead is set to true",title:"Destination Bucket",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Get the object from the bucket with the given file name",title:"File Name",required:!1,deprecated:!1},includeFolders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, objects in folders will be consumed. Otherwise, they will be ignored and no Exchanges will be created for them",title:"Include Folders",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"10",description:"The maximum number of messages to poll at each polling",title:"Maximum messages per poll",required:!1,deprecated:!1},moveAfterRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether objects should be moved to a different bucket after they have been retrieved. The destinationBucket option must also be set for this option to work.",title:"Move After Read",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"string",description:"The object name prefix used for filtering objects to be listed",title:"Prefix",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},bucketLocation:{kind:"parameter",type:"string",description:"Location of bucket when creating a new bucket",title:"Bucket Location",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"API access key (AK)",required:!0,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"API secret key (SK)",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1}}},"hwcloud-smn":{type:"object",title:"Huawei Simple Message Notification (SMN)",group:"cloud,messaging",icon:"generic24.png",description:"To broadcast messages and connect cloud services through notifications on Huawei Cloud",properties:{smnService:{kind:"path",type:"string",description:"Name of SMN service to invoke",title:"Service name",required:!0,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for the cloud user",title:"API access key (AK)",required:!0,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"Fully qualified smn service url. Carries higher precedence than region parameter based client initialization",title:"Service endpoint",required:!1,deprecated:!1},ignoreSslVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL verification",title:"SSL Verification Ignored",required:!1,deprecated:!1},messageTtl:{kind:"parameter",type:"integer",defaultValue:"3600",description:"TTL for published message",title:"Message TTL",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Name of operation to perform",title:"Operation name",required:!0,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"Cloud project ID",title:"Project ID",required:!0,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"Proxy server ip/hostname",title:"Proxy server host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Proxy authentication password",title:"Proxy password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"Proxy server port",title:"Proxy server port",required:!1,deprecated:!1},proxyUser:{kind:"parameter",type:"string",description:"Proxy authentication user",title:"Proxy user",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"SMN service region. This is lower precedence than endpoint based configuration",title:"Service region",required:!0,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for the cloud user",title:"API secret key (SK)",required:!0,deprecated:!1},serviceKeys:{kind:"parameter",type:"object",description:"Configuration object for cloud service authentication",title:"Service Configuration",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"iec60870-client":{type:"object",title:"IEC 60870 Client",group:"iot",icon:"generic24.png",description:"IEC 60870 supervisory control and data acquisition (SCADA) client using NeoSCADA implementation.",properties:{uriPath:{kind:"path",type:"object",description:"The object information address",title:"Uri Path",required:!0,deprecated:!1},dataModuleOptions:{kind:"parameter",type:"object",description:"Data module options",title:"Data Module Options",required:!1,deprecated:!1},protocolOptions:{kind:"parameter",type:"object",description:"Protocol options",title:"Protocol Options",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},acknowledgeWindow:{kind:"parameter",type:"integer",defaultValue:"10",description:"Parameter W - Acknowledgment window.",title:"Acknowledge Window",required:!1,deprecated:!1},adsuAddressType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2"],description:"The common ASDU address size. May be either SIZE_1 or SIZE_2.",title:"Adsu Address Type",required:!1,deprecated:!1},causeOfTransmissionType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2"],description:"The cause of transmission type. May be either SIZE_1 or SIZE_2.",title:"Cause Of Transmission Type",required:!1,deprecated:!1},informationObjectAddressType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2","SIZE_3"],description:"The information address size. May be either SIZE_1, SIZE_2 or SIZE_3.",title:"Information Object Address Type",required:!1,deprecated:!1},maxUnacknowledged:{kind:"parameter",type:"integer",defaultValue:"15",description:"Parameter K - Maximum number of un-acknowledged messages.",title:"Max Unacknowledged",required:!1,deprecated:!1},timeout1:{kind:"parameter",type:"integer",defaultValue:"15000",description:"Timeout T1 in milliseconds.",title:"Timeout1",required:!1,deprecated:!1},timeout2:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout T2 in milliseconds.",title:"Timeout2",required:!1,deprecated:!1},timeout3:{kind:"parameter",type:"integer",defaultValue:"20000",description:"Timeout T3 in milliseconds.",title:"Timeout3",required:!1,deprecated:!1},causeSourceAddress:{kind:"parameter",type:"integer",description:"Whether to include the source address",title:"Cause Source Address",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout in millis to wait for client to establish a connected connection.",title:"Connection Timeout",required:!1,deprecated:!1},ignoreBackgroundScan:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether background scan transmissions should be ignored.",title:"Ignore Background Scan",required:!1,deprecated:!1},ignoreDaylightSavingTime:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore or respect DST",title:"Ignore Daylight Saving Time",required:!1,deprecated:!1},timeZone:{kind:"parameter",type:"object",defaultValue:"UTC",description:"The timezone to use. May be any Java time zone string",title:"Time Zone",required:!1,deprecated:!1},connectionId:{kind:"parameter",type:"string",description:"An identifier grouping connection instances",title:"Connection Id",required:!1,deprecated:!1}}},"iec60870-server":{type:"object",title:"IEC 60870 Server",group:"iot",icon:"generic24.png",description:"IEC 60870 supervisory control and data acquisition (SCADA) server using NeoSCADA implementation.",properties:{uriPath:{kind:"path",type:"object",description:"The object information address",title:"Uri Path",required:!0,deprecated:!1},dataModuleOptions:{kind:"parameter",type:"object",description:"Data module options",title:"Data Module Options",required:!1,deprecated:!1},filterNonExecute:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Filter out all requests which don't have the execute bit set",title:"Filter Non Execute",required:!1,deprecated:!1},protocolOptions:{kind:"parameter",type:"object",description:"Protocol options",title:"Protocol Options",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},acknowledgeWindow:{kind:"parameter",type:"integer",defaultValue:"10",description:"Parameter W - Acknowledgment window.",title:"Acknowledge Window",required:!1,deprecated:!1},adsuAddressType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2"],description:"The common ASDU address size. May be either SIZE_1 or SIZE_2.",title:"Adsu Address Type",required:!1,deprecated:!1},causeOfTransmissionType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2"],description:"The cause of transmission type. May be either SIZE_1 or SIZE_2.",title:"Cause Of Transmission Type",required:!1,deprecated:!1},informationObjectAddressType:{kind:"parameter",type:"object",enum:["SIZE_1","SIZE_2","SIZE_3"],description:"The information address size. May be either SIZE_1, SIZE_2 or SIZE_3.",title:"Information Object Address Type",required:!1,deprecated:!1},maxUnacknowledged:{kind:"parameter",type:"integer",defaultValue:"15",description:"Parameter K - Maximum number of un-acknowledged messages.",title:"Max Unacknowledged",required:!1,deprecated:!1},timeout1:{kind:"parameter",type:"integer",defaultValue:"15000",description:"Timeout T1 in milliseconds.",title:"Timeout1",required:!1,deprecated:!1},timeout2:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout T2 in milliseconds.",title:"Timeout2",required:!1,deprecated:!1},timeout3:{kind:"parameter",type:"integer",defaultValue:"20000",description:"Timeout T3 in milliseconds.",title:"Timeout3",required:!1,deprecated:!1},causeSourceAddress:{kind:"parameter",type:"integer",description:"Whether to include the source address",title:"Cause Source Address",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout in millis to wait for client to establish a connected connection.",title:"Connection Timeout",required:!1,deprecated:!1},ignoreBackgroundScan:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether background scan transmissions should be ignored.",title:"Ignore Background Scan",required:!1,deprecated:!1},ignoreDaylightSavingTime:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore or respect DST",title:"Ignore Daylight Saving Time",required:!1,deprecated:!1},timeZone:{kind:"parameter",type:"object",defaultValue:"UTC",description:"The timezone to use. May be any Java time zone string",title:"Time Zone",required:!1,deprecated:!1},connectionId:{kind:"parameter",type:"string",description:"An identifier grouping connection instances",title:"Connection Id",required:!1,deprecated:!1}}},"ignite-cache":{type:"object",title:"Ignite Cache",group:"cache,clustering",icon:"generic24.png",description:"Perform cache operations on an Ignite cache or consume changes from a continuous query.",properties:{cacheName:{kind:"path",type:"string",description:"The cache name.",title:"Cache Name",required:!0,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},autoUnsubscribe:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether auto unsubscribe is enabled in the Continuous Query Consumer. Default value notice: ContinuousQuery.DFLT_AUTO_UNSUBSCRIBE",title:"Auto Unsubscribe",required:!1,deprecated:!1},fireExistingQueryResults:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to process existing results that match the query. Used on initialization of the Continuous Query Consumer.",title:"Fire Existing Query Results",required:!1,deprecated:!1},oneExchangePerUpdate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to pack each update in an individual Exchange, even if multiple updates are received in one batch. Only used by the Continuous Query Consumer.",title:"One Exchange Per Update",required:!1,deprecated:!1},pageSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The page size. Only used by the Continuous Query Consumer. Default value notice: ContinuousQuery.DFLT_PAGE_SIZE",title:"Page Size",required:!1,deprecated:!1},query:{kind:"parameter",type:"object",description:"The Query to execute, only needed for operations that require it, and for the Continuous Query Consumer.",title:"Query",required:!1,deprecated:!1},remoteFilter:{kind:"parameter",type:"object",description:"The remote filter, only used by the Continuous Query Consumer.",title:"Remote Filter",required:!1,deprecated:!1},timeInterval:{kind:"parameter",type:"integer",defaultValue:"0",description:"The time interval for the Continuous Query Consumer. Default value notice: ContinuousQuery.DFLT_TIME_INTERVAL",title:"Time Interval",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},cachePeekMode:{kind:"parameter",type:"object",defaultValue:"ALL",enum:["ALL","NEAR","PRIMARY","BACKUP","ONHEAP","OFFHEAP"],description:"The CachePeekMode, only needed for operations that require it (IgniteCacheOperation#SIZE).",title:"Cache Peek Mode",required:!1,deprecated:!1},failIfInexistentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail the initialization if the cache doesn't exist.",title:"Fail If Inexistent Cache",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["GET","PUT","REMOVE","SIZE","REBALANCE","QUERY","CLEAR","REPLACE"],description:"The cache operation to invoke. Possible values: GET, PUT, REMOVE, SIZE, REBALANCE, QUERY, CLEAR.",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"ignite-compute":{type:"object",title:"Ignite Compute",group:"cache,clustering",icon:"generic24.png",description:"Run compute operations on an Ignite cluster.",properties:{endpointId:{kind:"path",type:"string",description:"The endpoint ID (not used).",title:"Endpoint Id",required:!0,deprecated:!1},clusterGroupExpression:{kind:"parameter",type:"object",description:"An expression that returns the Cluster Group for the IgniteCompute instance.",title:"Cluster Group Expression",required:!1,deprecated:!1},computeName:{kind:"parameter",type:"string",description:"The name of the compute job, which will be set via IgniteCompute#withName(String).",title:"Compute Name",required:!1,deprecated:!1},executionType:{kind:"parameter",type:"object",enum:["CALL","BROADCAST","APPLY","EXECUTE","RUN","AFFINITY_CALL","AFFINITY_RUN"],description:"The compute operation to perform. Possible values: CALL, BROADCAST, APPLY, EXECUTE, RUN, AFFINITY_CALL, AFFINITY_RUN. The component expects different payload types depending on the operation.",title:"Execution Type",required:!0,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},taskName:{kind:"parameter",type:"string",description:"The task name, only applicable if using the IgniteComputeExecutionType#EXECUTE execution type.",title:"Task Name",required:!1,deprecated:!1},timeoutMillis:{kind:"parameter",type:"integer",description:"The timeout interval for triggered jobs, in milliseconds, which will be set via IgniteCompute#withTimeout(long).",title:"Timeout Millis",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"ignite-events":{type:"object",title:"Ignite Events",group:"messaging,cache,clustering",icon:"generic24.png",description:"Receive events from an Ignite cluster by creating a local event listener.",properties:{endpointId:{kind:"path",type:"string",description:"The endpoint ID (not used).",title:"Endpoint Id",required:!1,deprecated:!1},clusterGroupExpression:{kind:"parameter",type:"object",description:"The cluster group expression.",title:"Cluster Group Expression",required:!1,deprecated:!1},events:{kind:"parameter",type:"string",defaultValue:"EVTS_ALL",description:"The event types to subscribe to as a comma-separated string of event constants as defined in EventType. For example: EVT_CACHE_ENTRY_CREATED,EVT_CACHE_OBJECT_REMOVED,EVT_IGFS_DIR_CREATED.",title:"Events",required:!1,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},"ignite-idgen":{type:"object",title:"Ignite ID Generator",group:"cache,clustering",icon:"generic24.png",description:"Interact with Ignite Atomic Sequences and ID Generators .",properties:{name:{kind:"path",type:"string",description:"The sequence name.",title:"Name",required:!0,deprecated:!1},batchSize:{kind:"parameter",type:"integer",description:"The batch size.",title:"Batch Size",required:!1,deprecated:!1},initialValue:{kind:"parameter",type:"integer",defaultValue:"0",description:"The initial value.",title:"Initial Value",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["ADD_AND_GET","GET","GET_AND_ADD","GET_AND_INCREMENT","INCREMENT_AND_GET"],description:"The operation to invoke on the Ignite ID Generator. Superseded by the IgniteConstants.IGNITE_IDGEN_OPERATION header in the IN message. Possible values: ADD_AND_GET, GET, GET_AND_ADD, GET_AND_INCREMENT, INCREMENT_AND_GET.",title:"Operation",required:!1,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"ignite-messaging":{type:"object",title:"Ignite Messaging",group:"messaging",icon:"generic24.png",description:"Send and receive messages from an Ignite topic.",properties:{topic:{kind:"path",type:"string",description:"The topic name.",title:"Topic",required:!0,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},clusterGroupExpression:{kind:"parameter",type:"object",description:"The cluster group expression.",title:"Cluster Group Expression",required:!1,deprecated:!1},sendMode:{kind:"parameter",type:"object",defaultValue:"UNORDERED",enum:["ORDERED","UNORDERED"],description:"The send mode to use. Possible values: UNORDERED, ORDERED.",title:"Send Mode",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",description:"The timeout for the send operation when using ordered messages.",title:"Timeout",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"ignite-queue":{type:"object",title:"Ignite Queues",group:"cache,clustering,messaging",icon:"generic24.png",description:"Interact with Ignite Queue data structures.",properties:{name:{kind:"path",type:"string",description:"The queue name.",title:"Name",required:!0,deprecated:!1},capacity:{kind:"parameter",type:"integer",description:"The queue capacity. Default: non-bounded.",title:"Capacity",required:!1,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options.",title:"Configuration",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["CONTAINS","ADD","SIZE","REMOVE","ITERATOR","CLEAR","RETAIN_ALL","ARRAY","DRAIN","ELEMENT","PEEK","OFFER","POLL","TAKE","PUT"],description:"The operation to invoke on the Ignite Queue. Superseded by the IgniteConstants.IGNITE_QUEUE_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY, DRAIN, ELEMENT, PEEK, OFFER, POLL, TAKE, PUT.",title:"Operation",required:!1,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},timeoutMillis:{kind:"parameter",type:"integer",description:"The queue timeout in milliseconds. Default: no timeout.",title:"Timeout Millis",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"ignite-set":{type:"object",title:"Ignite Sets",group:"cache,clustering",icon:"generic24.png",description:"Interact with Ignite Set data structures.",properties:{name:{kind:"path",type:"string",description:"The set name.",title:"Name",required:!0,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"The collection configuration. Default: empty configuration. You can also conveniently set inner properties by using configuration.xyz=123 options.",title:"Configuration",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["CONTAINS","ADD","SIZE","REMOVE","ITERATOR","CLEAR","RETAIN_ALL","ARRAY"],description:"The operation to invoke on the Ignite Set. Superseded by the IgniteConstants.IGNITE_SETS_OPERATION header in the IN message. Possible values: CONTAINS, ADD, SIZE, REMOVE, ITERATOR, CLEAR, RETAIN_ALL, ARRAY.The set operation to perform.",title:"Operation",required:!1,deprecated:!1},propagateIncomingBodyIfNoReturnValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void.",title:"Propagate Incoming Body If No Return Value",required:!1,deprecated:!1},treatCollectionsAsCacheObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc.",title:"Treat Collections As Cache Objects",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},imap:{type:"object",title:"IMAP",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},imaps:{type:"object",title:"IMAPS (Secure)",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},infinispan:{type:"object",title:"Infinispan",group:"cache,clustering",icon:"generic24.png",description:"Read and write from/to Infinispan distributed key/value store and data grid.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache to use. Use current to use the existing cache name from the currently configured cached manager. Or use default for the default cache manager name.",title:"Cache Name",required:!0,deprecated:!1},hosts:{kind:"parameter",type:"string",description:"Specifies the host of the cache on Infinispan instance",title:"Hosts",required:!1,deprecated:!1},queryBuilder:{kind:"parameter",type:"object",description:"Specifies the query builder.",title:"Query Builder",required:!1,deprecated:!1},secure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if we are connecting to a secured Infinispan instance",title:"Secure",required:!1,deprecated:!1},customListener:{kind:"parameter",type:"object",description:"Returns the custom listener in use, if provided",title:"Custom Listener",required:!1,deprecated:!1},eventTypes:{kind:"parameter",type:"string",description:"Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CLIENT_CACHE_ENTRY_CREATED, CLIENT_CACHE_ENTRY_MODIFIED, CLIENT_CACHE_ENTRY_REMOVED, CLIENT_CACHE_ENTRY_EXPIRED, CLIENT_CACHE_FAILOVER",title:"Event Types",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},defaultValue:{kind:"parameter",type:"object",description:"Set a specific default value for some producer operations",title:"Default Value",required:!1,deprecated:!1},key:{kind:"parameter",type:"object",description:"Set a specific key for producer operations",title:"Key",required:!1,deprecated:!1},oldValue:{kind:"parameter",type:"object",description:"Set a specific old value for some producer operations",title:"Old Value",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"PUT",enum:["PUT","PUTASYNC","PUTALL","PUTALLASYNC","PUTIFABSENT","PUTIFABSENTASYNC","GET","GETORDEFAULT","CONTAINSKEY","CONTAINSVALUE","REMOVE","REMOVEASYNC","REPLACE","REPLACEASYNC","SIZE","CLEAR","CLEARASYNC","QUERY","STATS","COMPUTE","COMPUTEASYNC"],description:"The operation to perform",title:"Operation",required:!1,deprecated:!1},value:{kind:"parameter",type:"object",description:"Set a specific value for producer operations",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cacheContainer:{kind:"parameter",type:"object",description:"Specifies the cache Container to connect",title:"Cache Container",required:!1,deprecated:!1},cacheContainerConfiguration:{kind:"parameter",type:"object",description:"The CacheContainer configuration. Used if the cacheContainer is not defined.",title:"Cache Container Configuration",required:!1,deprecated:!1},configurationProperties:{kind:"parameter",type:"object",description:"Implementation specific properties for the CacheManager",title:"Configuration Properties",required:!1,deprecated:!1},configurationUri:{kind:"parameter",type:"string",description:"An implementation specific URI for the CacheManager",title:"Configuration Uri",required:!1,deprecated:!1},flags:{kind:"parameter",type:"string",description:"A comma separated list of org.infinispan.client.hotrod.Flag to be applied by default on each cache invocation.",title:"Flags",required:!1,deprecated:!1},remappingFunction:{kind:"parameter",type:"object",description:"Set a specific remappingFunction to use in a compute operation.",title:"Remapping Function",required:!1,deprecated:!1},resultHeader:{kind:"parameter",type:"string",description:"Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader",title:"Result Header",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Define the password to access the infinispan instance",title:"Password",required:!1,deprecated:!1},saslMechanism:{kind:"parameter",type:"string",description:"Define the SASL Mechanism to access the infinispan instance",title:"Sasl Mechanism",required:!1,deprecated:!1},securityRealm:{kind:"parameter",type:"string",description:"Define the security realm to access the infinispan instance",title:"Security Realm",required:!1,deprecated:!1},securityServerName:{kind:"parameter",type:"string",description:"Define the security server name to access the infinispan instance",title:"Security Server Name",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Define the username to access the infinispan instance",title:"Username",required:!1,deprecated:!1}}},"infinispan-embedded":{type:"object",title:"Infinispan Embedded",group:"cache,clustering",icon:"generic24.png",description:"Read and write from/to Infinispan distributed key/value store and data grid.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache to use. Use current to use the existing cache name from the currently configured cached manager. Or use default for the default cache manager name.",title:"Cache Name",required:!0,deprecated:!1},queryBuilder:{kind:"parameter",type:"object",description:"Specifies the query builder.",title:"Query Builder",required:!1,deprecated:!1},clusteredListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the listener will be installed for the entire cluster",title:"Clustered Listener",required:!1,deprecated:!1},customListener:{kind:"parameter",type:"object",description:"Returns the custom listener in use, if provided",title:"Custom Listener",required:!1,deprecated:!1},eventTypes:{kind:"parameter",type:"string",description:"Specifies the set of event types to register by the consumer.Multiple event can be separated by comma. The possible event types are: CACHE_ENTRY_ACTIVATED, CACHE_ENTRY_PASSIVATED, CACHE_ENTRY_VISITED, CACHE_ENTRY_LOADED, CACHE_ENTRY_EVICTED, CACHE_ENTRY_CREATED, CACHE_ENTRY_REMOVED, CACHE_ENTRY_MODIFIED, TRANSACTION_COMPLETED, TRANSACTION_REGISTERED, CACHE_ENTRY_INVALIDATED, CACHE_ENTRY_EXPIRED, DATA_REHASHED, TOPOLOGY_CHANGED, PARTITION_STATUS_CHANGED, PERSISTENCE_AVAILABILITY_CHANGED",title:"Event Types",required:!1,deprecated:!1},sync:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, the consumer will receive notifications synchronously",title:"Sync",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},defaultValue:{kind:"parameter",type:"object",description:"Set a specific default value for some producer operations",title:"Default Value",required:!1,deprecated:!1},key:{kind:"parameter",type:"object",description:"Set a specific key for producer operations",title:"Key",required:!1,deprecated:!1},oldValue:{kind:"parameter",type:"object",description:"Set a specific old value for some producer operations",title:"Old Value",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"PUT",enum:["PUT","PUTASYNC","PUTALL","PUTALLASYNC","PUTIFABSENT","PUTIFABSENTASYNC","GET","GETORDEFAULT","CONTAINSKEY","CONTAINSVALUE","REMOVE","REMOVEASYNC","REPLACE","REPLACEASYNC","SIZE","CLEAR","CLEARASYNC","QUERY","STATS","COMPUTE","COMPUTEASYNC"],description:"The operation to perform",title:"Operation",required:!1,deprecated:!1},value:{kind:"parameter",type:"object",description:"Set a specific value for producer operations",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cacheContainer:{kind:"parameter",type:"object",description:"Specifies the cache Container to connect",title:"Cache Container",required:!1,deprecated:!1},cacheContainerConfiguration:{kind:"parameter",type:"object",description:"The CacheContainer configuration. Used if the cacheContainer is not defined.",title:"Cache Container Configuration",required:!1,deprecated:!1},configurationUri:{kind:"parameter",type:"string",description:"An implementation specific URI for the CacheManager",title:"Configuration Uri",required:!1,deprecated:!1},flags:{kind:"parameter",type:"string",description:"A comma separated list of org.infinispan.context.Flag to be applied by default on each cache invocation",title:"Flags",required:!1,deprecated:!1},remappingFunction:{kind:"parameter",type:"object",description:"Set a specific remappingFunction to use in a compute operation.",title:"Remapping Function",required:!1,deprecated:!1},resultHeader:{kind:"parameter",type:"string",description:"Store the operation result in a header instead of the message body. By default, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader",title:"Result Header",required:!1,deprecated:!1}}},influxdb:{type:"object",title:"InfluxDB",group:"database",icon:"generic24.png",description:"Interact with InfluxDB v1, a time series database.",properties:{connectionBean:{kind:"path",type:"string",description:"Connection to the influx database, of class InfluxDB.class",title:"Connection Bean",required:!0,deprecated:!1},autoCreateDatabase:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if we want to auto create the database if it's not present",title:"Auto Create Database",required:!1,deprecated:!1},batch:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if this operation is a batch operation or not",title:"Batch",required:!1,deprecated:!1},checkDatabaseExistence:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Define if we want to check the database existence while starting the endpoint",title:"Check Database Existence",required:!1,deprecated:!1},databaseName:{kind:"parameter",type:"string",description:"The name of the database where the time series will be stored",title:"Database Name",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",defaultValue:"insert",description:"Define if this operation is an insert or a query",title:"Operation",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"Define the query in case of operation query",title:"Query",required:!1,deprecated:!1},retentionPolicy:{kind:"parameter",type:"string",defaultValue:"default",description:"The string that defines the retention policy to the data created by the endpoint",title:"Retention Policy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},influxdb2:{type:"object",title:"InfluxDB2",group:"database",icon:"generic24.png",description:"Interact with InfluxDB v2, a time series database.",properties:{connectionBean:{kind:"path",type:"string",description:"Connection to the Influx database, of class com.influxdb.client.InfluxDBClient.class.",title:"Connection Bean",required:!0,deprecated:!1},autoCreateBucket:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Define if we want to auto create the bucket if it's not present.",title:"Auto Create Bucket",required:!1,deprecated:!1},autoCreateOrg:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Define if we want to auto create the organization if it's not present.",title:"Auto Create Org",required:!1,deprecated:!1},bucket:{kind:"parameter",type:"string",description:"The name of the bucket where the time series will be stored.",title:"Bucket",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"INSERT",enum:["INSERT","PING"],description:"Define if this operation is an insert of ping.",title:"Operation",required:!1,deprecated:!1},org:{kind:"parameter",type:"string",description:"The name of the organization where the time series will be stored.",title:"Org",required:!0,deprecated:!1},retentionPolicy:{kind:"parameter",type:"string",defaultValue:"default",description:"Define the retention policy to the data created by the endpoint.",title:"Retention Policy",required:!1,deprecated:!1},writePrecision:{kind:"parameter",type:"object",defaultValue:"ms",enum:["ms","s","us","ns"],description:"The format or precision of time series timestamps.",title:"Write Precision",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},irc:{type:"object",title:"IRC",group:"chat",icon:"generic24.png",description:"Send and receive messages to/from and IRC chat.",properties:{hostname:{kind:"path",type:"string",description:"Hostname for the IRC chat server",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number for the IRC chat server. If no port is configured then a default port of either 6667, 6668 or 6669 is used.",title:"Port",required:!1,deprecated:!1},autoRejoin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to auto re-join when being kicked",title:"Auto Rejoin",required:!1,deprecated:!1},channels:{kind:"parameter",type:"string",description:"Comma separated list of IRC channels.",title:"Channels",required:!1,deprecated:!1},commandTimeout:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Delay in milliseconds before sending commands after the connection is established.",title:"Command Timeout",required:!1,deprecated:!1},keys:{kind:"parameter",type:"string",description:"Comma separated list of keys for channels.",title:"Keys",required:!1,deprecated:!1},namesOnJoin:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sends NAMES command to channel after joining it. onReply has to be true in order to process the result which will have the header value irc.num = '353'.",title:"Names On Join",required:!1,deprecated:!1},nickname:{kind:"parameter",type:"string",description:"The nickname used in chat.",title:"Nickname",required:!1,deprecated:!1},persistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Use persistent messages.",title:"Persistent",required:!1,deprecated:!0},realname:{kind:"parameter",type:"string",description:"The IRC user's actual name.",title:"Realname",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},colors:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not the server supports color codes.",title:"Colors",required:!1,deprecated:!1},onJoin:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle user join events.",title:"On Join",required:!1,deprecated:!1},onKick:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle kick events.",title:"On Kick",required:!1,deprecated:!1},onMode:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle mode change events.",title:"On Mode",required:!1,deprecated:!1},onNick:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle nickname change events.",title:"On Nick",required:!1,deprecated:!1},onPart:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle user part events.",title:"On Part",required:!1,deprecated:!1},onPrivmsg:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle private message events.",title:"On Privmsg",required:!1,deprecated:!1},onQuit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle user quit events.",title:"On Quit",required:!1,deprecated:!1},onReply:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to handle general responses to commands or informational messages.",title:"On Reply",required:!1,deprecated:!1},onTopic:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Handle topic change events.",title:"On Topic",required:!1,deprecated:!1},nickPassword:{kind:"parameter",type:"string",description:"Your IRC server nickname password.",title:"Nick Password",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The IRC server password.",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"Used for configuring security using SSL. Reference to a org.apache.camel.support.jsse.SSLContextParameters in the Registry. This reference overrides any configured SSLContextParameters at the component level. Note that this setting overrides the trustManager option.",title:"Ssl Context Parameters",required:!1,deprecated:!1},trustManager:{kind:"parameter",type:"object",description:"The trust manager used to verify the SSL server's certificate.",title:"Trust Manager",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The IRC server user name.",title:"Username",required:!1,deprecated:!1}}},ironmq:{type:"object",title:"IronMQ",group:"cloud,messaging",icon:"generic24.png",description:"Send and receive messages to/from IronMQ an elastic and durable hosted message queue as a service.",properties:{queueName:{kind:"path",type:"string",description:"The name of the IronMQ queue",title:"Queue Name",required:!0,deprecated:!1},client:{kind:"parameter",type:"object",description:"Reference to a io.iron.ironmq.Client in the Registry.",title:"Client",required:!1,deprecated:!1},ironMQCloud:{kind:"parameter",type:"string",defaultValue:"https://mq-aws-us-east-1-1.iron.io",description:"IronMq Cloud url. Urls for public clusters: https://mq-aws-us-east-1-1.iron.io (US) and https://mq-aws-eu-west-1-1.iron.io (EU)",title:"Iron MQCloud",required:!1,deprecated:!1},preserveHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should message headers be preserved when publishing messages. This will add the Camel headers to the Iron MQ message as a json payload with a header list, and a message body. Useful when Camel is both consumer and producer.",title:"Preserve Headers",required:!1,deprecated:!1},projectId:{kind:"parameter",type:"string",description:"IronMQ projectId",title:"Project Id",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"IronMQ token",title:"Token",required:!1,deprecated:!1},batchDelete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should messages be deleted in one batch. This will limit the number of api requests since messages are deleted in one request, instead of one pr. exchange. If enabled care should be taken that the consumer is idempotent when processing exchanges.",title:"Batch Delete",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of concurrent consumers.",title:"Concurrent Consumers",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of messages to poll pr. call. Maximum is 100.",title:"Max Messages Per Poll",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"60",description:"After timeout (in seconds), item will be placed back onto the queue.",title:"Timeout",required:!1,deprecated:!1},wait:{kind:"parameter",type:"integer",description:"Time in seconds to wait for a message to become available. This enables long polling. Default is 0 (does not wait), maximum is 30.",title:"Wait",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},visibilityDelay:{kind:"parameter",type:"integer",description:"The item will not be available on the queue until this many seconds have passed. Default is 0 seconds.",title:"Visibility Delay",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},jcache:{type:"object",title:"JCache",group:"cache,clustering",icon:"generic24.png",description:"Perform caching operations against JSR107/JCache.",properties:{cacheName:{kind:"path",type:"string",description:"The name of the cache",title:"Cache Name",required:!0,deprecated:!1},cacheConfiguration:{kind:"parameter",type:"object",description:"A Configuration for the Cache",title:"Cache Configuration",required:!1,deprecated:!1},cacheConfigurationProperties:{kind:"parameter",type:"object",description:"The Properties for the javax.cache.spi.CachingProvider to create the CacheManager",title:"Cache Configuration Properties",required:!1,deprecated:!1},cachingProvider:{kind:"parameter",type:"string",description:"The fully qualified class name of the javax.cache.spi.CachingProvider",title:"Caching Provider",required:!1,deprecated:!1},configurationUri:{kind:"parameter",type:"string",description:"An implementation specific URI for the CacheManager",title:"Configuration Uri",required:!1,deprecated:!1},managementEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether management gathering is enabled",title:"Management Enabled",required:!1,deprecated:!1},readThrough:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If read-through caching should be used",title:"Read Through",required:!1,deprecated:!1},statisticsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether statistics gathering is enabled",title:"Statistics Enabled",required:!1,deprecated:!1},storeByValue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If cache should use store-by-value or store-by-reference semantics",title:"Store By Value",required:!1,deprecated:!1},writeThrough:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If write-through caching should be used",title:"Write Through",required:!1,deprecated:!1},filteredEvents:{kind:"parameter",type:"string",enum:["CREATED","UPDATED","REMOVED","EXPIRED"],description:"Events a consumer should filter (multiple events can be separated by comma). If using filteredEvents option, then eventFilters one will be ignored",title:"Filtered Events",required:!1,deprecated:!1},oldValueRequired:{kind:"parameter",type:"boolean",defaultValue:"false",description:"if the old value is required for events",title:"Old Value Required",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"if the event listener should block the thread causing the event",title:"Synchronous",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eventFilters:{kind:"parameter",type:"array",description:"The CacheEntryEventFilter. If using eventFilters option, then filteredEvents one will be ignored",title:"Event Filters",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},action:{kind:"parameter",type:"string",description:"To configure using a cache operation by default. If an operation in the message header, then the operation from the header takes precedence.",title:"Action",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},cacheLoaderFactory:{kind:"parameter",type:"object",description:"The CacheLoader factory",title:"Cache Loader Factory",required:!1,deprecated:!1},cacheWriterFactory:{kind:"parameter",type:"object",description:"The CacheWriter factory",title:"Cache Writer Factory",required:!1,deprecated:!1},createCacheIfNotExists:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Configure if a cache need to be created if it does exist or can't be pre-configured.",title:"Create Cache If Not Exists",required:!1,deprecated:!1},expiryPolicyFactory:{kind:"parameter",type:"object",description:"The ExpiryPolicy factory",title:"Expiry Policy Factory",required:!1,deprecated:!1},lookupProviders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configure if a camel-cache should try to find implementations of jcache api in runtimes like OSGi.",title:"Lookup Providers",required:!1,deprecated:!1}}},jcr:{type:"object",title:"JCR",group:"database,cms",icon:"generic24.png",description:"Read and write nodes to/from a JCR compliant content repository.",properties:{host:{kind:"path",type:"string",description:"Name of the javax.jcr.Repository to lookup from the Camel registry to be used.",title:"Host",required:!0,deprecated:!1},base:{kind:"path",type:"string",description:"Get the base node when accessing the repository",title:"Base",required:!1,deprecated:!1},deep:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When isDeep is true, events whose associated parent node is at absPath or within its subgraph are received.",title:"Deep",required:!1,deprecated:!1},eventTypes:{kind:"parameter",type:"integer",description:"eventTypes (a combination of one or more event types encoded as a bit mask value such as javax.jcr.observation.Event.NODE_ADDED, javax.jcr.observation.Event.NODE_REMOVED, etc.).",title:"Event Types",required:!1,deprecated:!1},nodeTypeNames:{kind:"parameter",type:"string",description:"When a comma separated nodeTypeName list string is set, only events whose associated parent node has one of the node types (or a subtype of one of the node types) in this list will be received.",title:"Node Type Names",required:!1,deprecated:!1},noLocal:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If noLocal is true, then events generated by the session through which the listener was registered are ignored. Otherwise, they are not ignored.",title:"No Local",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for login",title:"Password",required:!1,deprecated:!1},sessionLiveCheckInterval:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Interval in milliseconds to wait before each session live checking The default value is 60000 ms.",title:"Session Live Check Interval",required:!1,deprecated:!1},sessionLiveCheckIntervalOnStart:{kind:"parameter",type:"duration",defaultValue:"3000",description:"Interval in milliseconds to wait before the first session live checking. The default value is 3000 ms.",title:"Session Live Check Interval On Start",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for login",title:"Username",required:!1,deprecated:!1},uuids:{kind:"parameter",type:"string",description:"When a comma separated uuid list string is set, only events whose associated parent node has one of the identifiers in the comma separated uuid list will be received.",title:"Uuids",required:!1,deprecated:!1},workspaceName:{kind:"parameter",type:"string",description:"The workspace to access. If it's not specified then the default one will be used",title:"Workspace Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},jdbc:{type:"object",title:"JDBC",group:"database",icon:"generic24.png",description:"Access databases through SQL and JDBC.",properties:{dataSourceName:{kind:"path",type:"string",description:"Name of DataSource to lookup in the Registry. If the name is dataSource or default, then Camel will attempt to lookup a default DataSource from the registry, meaning if there is a only one instance of DataSource found, then this DataSource will be used.",title:"Data Source Name",required:!0,deprecated:!1},allowNamedParameters:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using named parameters in the queries.",title:"Allow Named Parameters",required:!1,deprecated:!1},outputClass:{kind:"parameter",type:"string",description:"Specify the full package and class name to use as conversion when outputType=SelectOne or SelectList.",title:"Output Class",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"SelectList",enum:["SelectOne","SelectList","StreamList"],description:"Determines the output the producer should use.",title:"Output Type",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Optional parameters to the java.sql.Statement. For example to set maxRows, fetchSize etc.",title:"Parameters",required:!1,deprecated:!1},readSize:{kind:"parameter",type:"integer",description:"The default maximum number of rows that can be read by a polling query. The default value is 0.",title:"Read Size",required:!1,deprecated:!1},resetAutoCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Camel will set the autoCommit on the JDBC connection to be false, commit the change after executed the statement and reset the autoCommit flag of the connection at the end, if the resetAutoCommit is true. If the JDBC connection doesn't support to reset the autoCommit flag, you can set the resetAutoCommit flag to be false, and Camel will not try to reset the autoCommit flag. When used with XA transactions you most likely need to set it to false so that the transaction manager is in charge of committing this tx.",title:"Reset Auto Commit",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether transactions are in use.",title:"Transacted",required:!1,deprecated:!1},useGetBytesForBlob:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To read BLOB columns as bytes instead of string data. This may be needed for certain databases such as Oracle where you must read BLOB columns as bytes.",title:"Use Get Bytes For Blob",required:!1,deprecated:!1},useHeadersAsParameters:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this option to true to use the prepareStatementStrategy with named parameters. This allows to define queries with named placeholders, and use headers with the dynamic values for the query placeholders.",title:"Use Headers As Parameters",required:!1,deprecated:!1},useJDBC4ColumnNameAndLabelSemantics:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to use JDBC 4 or JDBC 3.0 or older semantic when retrieving column name. JDBC 4.0 uses columnLabel to get the column name where as JDBC 3.0 uses both columnName or columnLabel. Unfortunately JDBC drivers behave differently so you can use this option to work out issues around your JDBC driver if you get problem using this component This option is default true.",title:"Use JDBC4 Column Name And Label Semantics",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},beanRowMapper:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.jdbc.BeanRowMapper when using outputClass. The default implementation will lower case the row names and skip underscores, and dashes. For example CUST_ID is mapped as custId.",title:"Bean Row Mapper",required:!1,deprecated:!1},connectionStrategy:{kind:"parameter",type:"object",description:"To use a custom strategy for working with connections. Do not use a custom strategy when using the spring-jdbc component because a special Spring ConnectionStrategy is used by default to support Spring Transactions.",title:"Connection Strategy",required:!1,deprecated:!1},prepareStatementStrategy:{kind:"parameter",type:"object",description:"Allows the plugin to use a custom org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy to control preparation of the query and prepared statement.",title:"Prepare Statement Strategy",required:!1,deprecated:!1}}},jetty:{type:"object",title:"Jetty",group:"http",icon:"generic24.png",description:"Expose HTTP endpoints using Jetty 12.",properties:{httpUri:{kind:"path",type:"string",description:"The url of the HTTP endpoint to call.",title:"Http Uri",required:!0,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},httpBinding:{kind:"parameter",type:"object",description:"To use a custom HttpBinding to control the mapping between Camel message and HttpClient.",title:"Http Binding",required:!1,deprecated:!1},chunked:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is false the Servlet will disable the HTTP streaming and set the content-length header on the response",title:"Chunked",required:!1,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",title:"Disable Stream Cache",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},async:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configure the consumer to work in async mode",title:"Async",required:!1,deprecated:!1},continuationTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Allows to set a timeout in millis when using Jetty as consumer (server). By default Jetty uses 30000. You can use a value of = 0 to never expire. If a timeout occurs then the request will be expired and Jetty will return back a http error 503 to the client. This option is only in use when using Jetty with the Asynchronous Routing Engine.",title:"Continuation Timeout",required:!1,deprecated:!1},enableCORS:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, Jetty server will setup the CrossOriginFilter which supports the CORS out of box.",title:"Enable CORS",required:!1,deprecated:!1},enableJmx:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is true, Jetty JMX support will be enabled for this endpoint. See Jetty JMX support for more details.",title:"Enable Jmx",required:!1,deprecated:!1},enableMultipartFilter:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether org.apache.camel.component.jetty.MultiPartFilter is enabled or not. You should set this value to false when bridging endpoints, to ensure multipart requests is proxied/bridged as well.",title:"Enable Multipart Filter",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple methods can be specified separated by comma.",title:"Http Method Restrict",required:!1,deprecated:!1},logException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the exception's stack trace will be logged when the exception stack trace is not sent in the response's body.",title:"Log Exception",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},responseBufferSize:{kind:"parameter",type:"integer",description:"To use a custom buffer size on the jakarta.servlet.ServletResponse.",title:"Response Buffer Size",required:!1,deprecated:!1},sendDateHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, jetty server will send the date header to the client which sends the request. NOTE please make sure there is no any other camel-jetty endpoint is share the same port, otherwise this option may not work as expected.",title:"Send Date Header",required:!1,deprecated:!1},sendServerVersion:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If the option is true, jetty will send the server header with the jetty version information to the client which sends the request. NOTE please make sure there is no any other camel-jetty endpoint is share the same port, otherwise this option may not work as expected.",title:"Send Server Version",required:!1,deprecated:!1},sessionSupport:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable the session manager on the server side of Jetty.",title:"Session Support",required:!1,deprecated:!1},useContinuation:{kind:"parameter",type:"boolean",description:"Whether or not to use Jetty continuations for the Jetty Server.",title:"Use Continuation",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eagerCheckContentAvailable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to eager check whether the HTTP requests has content if the content-length header is 0 or not present. This can be turned on in case HTTP clients do not send streamed data.",title:"Eager Check Content Available",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},fileSizeThreshold:{kind:"parameter",type:"integer",description:"The size threshold after which files will be written to disk for multipart/form-data requests. By default the files are not written to disk",title:"File Size Threshold",required:!1,deprecated:!1},filesLocation:{kind:"parameter",type:"string",description:"The directory location where files will be store for multipart/form-data requests. By default the files are written in the system temporary folder",title:"Files Location",required:!1,deprecated:!1},filterInitParameters:{kind:"parameter",type:"object",description:"Configuration of the filter init parameters. These parameters will be applied to the filter list before starting the jetty server.",title:"Filter Init Parameters",required:!1,deprecated:!1},filters:{kind:"parameter",type:"array",description:"Allows using a custom filters which is putted into a list and can be find in the Registry. Multiple values can be separated by comma.",title:"Filters",required:!1,deprecated:!1},handlers:{kind:"parameter",type:"array",description:"Specifies a comma-delimited set of Handler instances to lookup in your Registry. These handlers are added to the Jetty servlet context (for example, to add security). Important: You can not use different handlers with different Jetty endpoints using the same port number. The handlers is associated to the port number. If you need different handlers, then use different port numbers.",title:"Handlers",required:!1,deprecated:!1},idleTimeout:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The max idle time (in milli seconds) is applied to an HTTP request for IO operations and delayed dispatch. Idle time 0 implies an infinite timeout, -1 (default) implies no HTTP channel timeout and the connection timeout is used instead.",title:"Idle Timeout",required:!1,deprecated:!1},mapHttpMessageBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",title:"Map Http Message Body",required:!1,deprecated:!1},mapHttpMessageFormUrlEncodedBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.",title:"Map Http Message Form Url Encoded Body",required:!1,deprecated:!1},mapHttpMessageHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping.",title:"Map Http Message Headers",required:!1,deprecated:!1},maxFileSize:{kind:"parameter",type:"integer",description:"The maximum size allowed for uploaded files. -1 means no limit",title:"Max File Size",required:!1,deprecated:!1},maxRequestSize:{kind:"parameter",type:"integer",description:"The maximum size allowed for multipart/form-data requests. -1 means no limit",title:"Max Request Size",required:!1,deprecated:!1},multipartFilter:{kind:"parameter",type:"object",description:"Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true.",title:"Multipart Filter",required:!1,deprecated:!1},optionsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",title:"Options Enabled",required:!1,deprecated:!1},traceEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off.",title:"Trace Enabled",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},jgroups:{type:"object",title:"JGroups",group:"clustering,messaging",icon:"generic24.png",description:"Exchange messages with JGroups clusters.",properties:{clusterName:{kind:"path",type:"string",description:"The name of the JGroups cluster the component should connect to.",title:"Cluster Name",required:!0,deprecated:!1},channelProperties:{kind:"parameter",type:"string",description:"Specifies configuration properties of the JChannel used by the endpoint.",title:"Channel Properties",required:!1,deprecated:!1},enableViewMessages:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the consumer endpoint will receive org.jgroups.View messages as well (not only org.jgroups.Message instances). By default only regular messages are consumed by the endpoint.",title:"Enable View Messages",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"jgroups-raft":{type:"object",title:"JGroups raft",group:"clustering,messaging",icon:"generic24.png",description:"Exchange messages with JGroups-raft clusters.",properties:{clusterName:{kind:"path",type:"string",description:"The name of the JGroupsraft cluster the component should connect to.",title:"Cluster Name",required:!0,deprecated:!1},enableRoleChangeEvents:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the consumer endpoint will receive roleChange event as well (not just connecting and/or using the state machine). By default it is set to false.",title:"Enable Role Change Events",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},jira:{type:"object",title:"Jira",group:"document",icon:"generic24.png",description:"Interact with JIRA issue tracker.",properties:{type:{kind:"path",type:"object",enum:["ADDCOMMENT","ADDISSUE","ATTACH","DELETEISSUE","NEWISSUES","NEWCOMMENTS","WATCHUPDATES","UPDATEISSUE","TRANSITIONISSUE","WATCHERS","ADDISSUELINK","ADDWORKLOG","FETCHISSUE","FETCHCOMMENTS"],description:"Operation to perform. Consumers: NewIssues, NewComments. Producers: AddIssue, AttachFile, DeleteIssue, TransitionIssue, UpdateIssue, Watchers. See this class javadoc description for more information.",title:"Type",required:!0,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"6000",description:"Time in milliseconds to elapse for the next poll.",title:"Delay",required:!1,deprecated:!1},jiraUrl:{kind:"parameter",type:"string",description:"The Jira server url, example: http://my_jira.com:8081",title:"Jira Url",required:!0,deprecated:!1},jql:{kind:"parameter",type:"string",description:"JQL is the query language from JIRA which allows you to retrieve the data you want. For example jql=project=MyProject Where MyProject is the product key in Jira. It is important to use the RAW() and set the JQL inside it to prevent camel parsing it, example: RAW(project in (MYP, COM) AND resolution = Unresolved)",title:"Jql",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"integer",defaultValue:"50",description:"Max number of issues to search for",title:"Max Results",required:!1,deprecated:!1},sendOnlyUpdatedField:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Indicator for sending only changed fields in exchange body or issue object. By default consumer sends only changed fields.",title:"Send Only Updated Field",required:!1,deprecated:!1},watchedFields:{kind:"parameter",type:"string",defaultValue:"Status,Priority",description:"Comma separated list of fields to watch for changes. Status,Priority are the defaults.",title:"Watched Fields",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"(OAuth or Personal Access Token authentication) The access token generated by the Jira server.",title:"Access Token",required:!1,deprecated:!1},consumerKey:{kind:"parameter",type:"string",description:"(OAuth only) The consumer key from Jira settings.",title:"Consumer Key",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"(Basic authentication only) The password or the API Token to authenticate to the Jira server. Use only if username basic authentication is used.",title:"Password",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"string",description:"(OAuth only) The private key generated by the client to encrypt the conversation to the server.",title:"Private Key",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"(Basic authentication only) The username to authenticate to the Jira server. Use only if OAuth is not enabled on the Jira server. Do not set the username and OAuth token parameter, if they are both set, the username basic authentication takes precedence.",title:"Username",required:!1,deprecated:!1},verificationCode:{kind:"parameter",type:"string",description:"(OAuth only) The verification code from Jira generated in the first step of the authorization proccess.",title:"Verification Code",required:!1,deprecated:!1}}},jms:{type:"object",title:"JMS",group:"messaging",icon:"generic24.png",description:"Sent and receive messages to/from a JMS Queue or Topic.",properties:{destinationType:{kind:"path",type:"string",defaultValue:"queue",enum:["queue","topic","temp-queue","temp-topic"],description:"The kind of destination to use",title:"Destination Type",required:!1,deprecated:!1},destinationName:{kind:"path",type:"string",description:"Name of the queue or topic to use as destination",title:"Destination Name",required:!0,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions with JMS 1.1.",title:"Client Id",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},durableSubscriptionName:{kind:"parameter",type:"string",description:"The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",title:"Durable Subscription Name",required:!1,deprecated:!1},jmsMessageType:{kind:"parameter",type:"object",enum:["Bytes","Map","Object","Stream","Text"],description:"Allows you to force the use of a specific jakarta.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it.",title:"Jms Message Type",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",title:"Reply To",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},acknowledgementModeName:{kind:"parameter",type:"string",defaultValue:"AUTO_ACKNOWLEDGE",enum:["SESSION_TRANSACTED","CLIENT_ACKNOWLEDGE","AUTO_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"],description:"The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",title:"Acknowledgement Mode Name",required:!1,deprecated:!1},artemisConsumerPriority:{kind:"parameter",type:"integer",description:"Consumer priorities allow you to ensure that high priority consumers receive messages while they are active. Normally, active consumers connected to a queue receive messages from it in a round-robin fashion. When consumer priorities are in use, messages are delivered round-robin if multiple active consumers exist with the same high priority. Messages will only going to lower priority consumers when the high priority consumers do not have credit available to consume the message, or those high priority consumers have declined to accept the message (for instance because it does not meet the criteria of any selectors associated with the consumer).",title:"Artemis Consumer Priority",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",title:"Async Consumer",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},cacheLevel:{kind:"parameter",type:"integer",description:"Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details.",title:"Cache Level",required:!1,deprecated:!1},cacheLevelName:{kind:"parameter",type:"string",defaultValue:"CACHE_AUTO",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information.",title:"Cache Level Name",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Concurrent Consumers",required:!1,deprecated:!1},maxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Max Concurrent Consumers",required:!1,deprecated:!1},replyToDeliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to use persistent delivery by default for replies.",title:"Reply To Delivery Persistent",required:!1,deprecated:!1},selector:{kind:"parameter",type:"string",description:"Sets the JMS selector to use",title:"Selector",required:!1,deprecated:!1},subscriptionDurable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription durable. The durable subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a durable subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well.",title:"Subscription Durable",required:!1,deprecated:!1},subscriptionName:{kind:"parameter",type:"string",description:"Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2.0).",title:"Subscription Name",required:!1,deprecated:!1},subscriptionShared:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether to make the subscription shared. The shared subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a shared subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can (and often will) be combined with subscriptionDurable as well. Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomain flag as well. Requires a JMS 2.0 compatible message broker.",title:"Subscription Shared",required:!1,deprecated:!1},acceptMessagesWhileStopping:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the consumer accept messages while it is stopping. You may consider enabling this option, if you start and stop JMS routes at runtime, while there are still messages enqueued on the queue. If this option is false, and you stop the JMS route, then messages may be rejected, and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and eventually the message may be moved at a dead letter queue on the JMS broker. To avoid this its recommended to enable this option.",title:"Accept Messages While Stopping",required:!1,deprecated:!1},allowReplyManagerQuickStop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the DefaultMessageListenerContainer used in the reply managers for request-reply messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is currently being stopped. This quick stop ability is enabled by default in the regular JMS consumers but to enable for reply managers you must enable this flag.",title:"Allow Reply Manager Quick Stop",required:!1,deprecated:!1},consumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type to use, which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Consumer Type",required:!1,deprecated:!1},defaultTaskExecutorType:{kind:"parameter",type:"object",enum:["ThreadPool","SimpleAsync"],description:"Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's ThreadPoolTaskExecutor with optimal values - cached thread-pool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsync for reply consumers. The use of ThreadPool is recommended to reduce thread trash in elastic configurations with dynamically increasing and decreasing concurrent consumers.",title:"Default Task Executor Type",required:!1,deprecated:!1},eagerLoadingOfProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",title:"Eager Loading Of Properties",required:!1,deprecated:!1},eagerPoisonBody:{kind:"parameter",type:"string",defaultValue:"Poison JMS message due to ${exception.message}",description:"If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",title:"Eager Poison Body",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},exposeListenerSession:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether the listener session should be exposed when consuming messages.",title:"Expose Listener Session",required:!1,deprecated:!1},replyToConsumerType:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Simple","Default","Custom"],description:"The consumer type of the reply consumer (when doing request/reply), which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use.",title:"Reply To Consumer Type",required:!1,deprecated:!1},replyToSameDestinationAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",title:"Reply To Same Destination Allowed",required:!1,deprecated:!1},taskExecutor:{kind:"parameter",type:"object",description:"Allows you to specify a custom task executor for consuming messages.",title:"Task Executor",required:!1,deprecated:!1},deliveryDelay:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker.",title:"Delivery Delay",required:!1,deprecated:!1},deliveryMode:{kind:"parameter",type:"integer",enum:["1","2"],description:"Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",title:"Delivery Mode",required:!1,deprecated:!1},deliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether persistent delivery is used by default.",title:"Delivery Persistent",required:!1,deprecated:!1},explicitQosEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",title:"Explicit Qos Enabled",required:!1,deprecated:!1},formatDateHeadersToIso8601:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether JMS date properties should be formatted according to the ISO 8601 standard.",title:"Format Date Headers To Iso8601",required:!1,deprecated:!1},preserveMessageQos:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header.",title:"Preserve Message Qos",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",defaultValue:"4",enum:["1","2","3","4","5","6","7","8","9"],description:"Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",title:"Priority",required:!1,deprecated:!1},replyToConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Concurrent Consumers",required:!1,deprecated:!1},replyToMaxConcurrentConsumers:{kind:"parameter",type:"integer",description:"Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Max Concurrent Consumers",required:!1,deprecated:!1},replyToOnTimeoutMaxConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS.",title:"Reply To On Timeout Max Concurrent Consumers",required:!1,deprecated:!1},replyToOverride:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",title:"Reply To Override",required:!1,deprecated:!1},replyToType:{kind:"parameter",type:"object",enum:["Temporary","Shared","Exclusive"],description:"Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running in a clustered environment, and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive.",title:"Reply To Type",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"duration",defaultValue:"20000",description:"The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.",title:"Request Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"integer",defaultValue:"-1",description:"When sending messages, specifies the time-to-live of the message (in milliseconds).",title:"Time To Live",required:!1,deprecated:!1},allowAdditionalHeaders:{kind:"parameter",type:"string",description:"This option is used to allow additional headers which may have values that are invalid according to JMS specification. For example, some message systems, such as WMQ, do this with header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types. You can specify multiple header names separated by comma, and use as suffix for wildcard matching.",title:"Allow Additional Headers",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},alwaysCopyMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations, such as when a replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set)",title:"Always Copy Message",required:!1,deprecated:!1},correlationProperty:{kind:"parameter",type:"string",description:"When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS property to correlate messages. If set messages will be correlated solely on the value of this property JMSCorrelationID property will be ignored and not set by Camel.",title:"Correlation Property",required:!1,deprecated:!1},disableTimeToLive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expire on the receiver system. See below in section About time to live for more details.",title:"Disable Time To Live",required:!1,deprecated:!1},forceSendOriginalMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS destination if you touch the headers (get or set) during the route. Set this option to true to force Camel to send the original JMS message that was received.",title:"Force Send Original Message",required:!1,deprecated:!1},includeSentJMSMessageID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS client when the message was sent to the JMS destination.",title:"Include Sent JMSMessage ID",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},replyToCacheLevelName:{kind:"parameter",type:"string",enum:["CACHE_AUTO","CACHE_CONNECTION","CACHE_CONSUMER","CACHE_NONE","CACHE_SESSION"],description:"Sets the cache level by name for the reply consumer when doing request/reply over JMS. This option only applies when using fixed reply queues (not temporary). Camel will by default use: CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE_NONE is not allowed, and you must use a higher value such as CACHE_CONSUMER or CACHE_SESSION.",title:"Reply To Cache Level Name",required:!1,deprecated:!1},replyToDestinationSelectorName:{kind:"parameter",type:"string",description:"Sets the JMS Selector using the fixed name to be used so you can filter out your own replies from the others when using a shared queue (that is, if you are not using a temporary reply queue).",title:"Reply To Destination Selector Name",required:!1,deprecated:!1},streamMessageTypeEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls which kind will be used. By default BytesMessage is used which enforces the entire message payload to be read into memory. By enabling this option the message payload is read into memory in chunks and each chunk is then written to the StreamMessage until no more data.",title:"Stream Message Type Enabled",required:!1,deprecated:!1},allowSerializedHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Controls whether or not to include serialized headers. Applies only when transferExchange is true. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Allow Serialized Headers",required:!1,deprecated:!1},artemisStreamingEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether optimizing for Apache Artemis streaming mode. This can reduce memory overhead when using Artemis with JMS StreamMessage types. This option must only be enabled if Apache Artemis is being used.",title:"Artemis Streaming Enabled",required:!1,deprecated:!1},asyncStartListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or fail-over. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that if the connection could not be established, then an exception is logged at WARN level, and the consumer will not be able to receive messages; You can then restart the route to retry.",title:"Async Start Listener",required:!1,deprecated:!1},asyncStopListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to stop the JmsConsumer message listener asynchronously, when stopping a route.",title:"Async Stop Listener",required:!1,deprecated:!1},destinationResolver:{kind:"parameter",type:"object",description:"A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry).",title:"Destination Resolver",required:!1,deprecated:!1},errorHandler:{kind:"parameter",type:"object",description:"Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom errorHandler.",title:"Error Handler",required:!1,deprecated:!1},exceptionListener:{kind:"parameter",type:"object",description:"Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.",title:"Exception Listener",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},idleConsumerLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specify the limit for the number of consumers that are allowed to be idle at any given time.",title:"Idle Consumer Limit",required:!1,deprecated:!1},idleTaskExecutionLimit:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting). There is additional doc available from Spring.",title:"Idle Task Execution Limit",required:!1,deprecated:!1},includeAllJMSXProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include all JMSX prefixed properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",title:"Include All JMSXProperties",required:!1,deprecated:!1},jmsKeyFormatStrategy:{kind:"parameter",type:"object",enum:["default","passthrough"],description:"Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.",title:"Jms Key Format Strategy",required:!1,deprecated:!1},mapJmsMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc.",title:"Map Jms Message",required:!1,deprecated:!1},maxMessagesPerTask:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max), then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.",title:"Max Messages Per Task",required:!1,deprecated:!1},messageConverter:{kind:"parameter",type:"object",description:"To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a jakarta.jms.Message.",title:"Message Converter",required:!1,deprecated:!1},messageCreatedStrategy:{kind:"parameter",type:"object",description:"To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message.",title:"Message Created Strategy",required:!1,deprecated:!1},messageIdEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When sending, specifies whether message IDs should be added. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value.",title:"Message Id Enabled",required:!1,deprecated:!1},messageListenerContainerFactory:{kind:"parameter",type:"object",description:"Registry ID of the MessageListenerContainerFactory used to determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use to consume messages. Setting this will automatically set consumerType to Custom.",title:"Message Listener Container Factory",required:!1,deprecated:!1},messageTimestampEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether timestamps should be enabled by default on sending messages. This is just an hint to the JMS broker. If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal value.",title:"Message Timestamp Enabled",required:!1,deprecated:!1},pubSubNoLocal:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to inhibit the delivery of messages published by its own connection.",title:"Pub Sub No Local",required:!1,deprecated:!1},receiveTimeout:{kind:"parameter",type:"duration",defaultValue:"1000",description:"The timeout for receiving messages (in milliseconds).",title:"Receive Timeout",required:!1,deprecated:!1},recoveryInterval:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds.",title:"Recovery Interval",required:!1,deprecated:!1},requestTimeoutCheckerInterval:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout.",title:"Request Timeout Checker Interval",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The caught exception is required to be serializable. The original Exception on the consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException when returned to the producer. Use this with caution as the data is using Java Object serialization and requires the received to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumer!",title:"Transfer Exception",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the payloads is an Exchange and not a regular payload. Use this with caution as the data is using Java Object serialization and requires the receiver to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumers having to use compatible Camel versions!",title:"Transfer Exchange",required:!1,deprecated:!1},useMessageIDAsCorrelationID:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.",title:"Use Message IDAs Correlation ID",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedCounter:{kind:"parameter",type:"integer",defaultValue:"50",description:"Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled.",title:"Wait For Provision Correlation To Be Updated Counter",required:!1,deprecated:!1},waitForProvisionCorrelationToBeUpdatedThreadSleepingTime:{kind:"parameter",type:"duration",defaultValue:"100",description:"Interval in millis to sleep each time while waiting for provisional correlation id to be updated.",title:"Wait For Provision Correlation To Be Updated Thread Sleeping Time",required:!1,deprecated:!1},errorHandlerLoggingLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Allows to configure the default errorHandler logging level for logging uncaught exceptions.",title:"Error Handler Logging Level",required:!1,deprecated:!1},errorHandlerLogStackTrace:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows to control whether stack-traces should be logged or not, by the default errorHandler.",title:"Error Handler Log Stack Trace",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory.",title:"Username",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to use transacted mode",title:"Transacted",required:!1,deprecated:!1},transactedInOut:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether InOut operations (request reply) default to using transacted mode If this flag is set to true, then Spring JmsTemplate will have sessionTransacted set to true, and the acknowledgeMode as transacted on the JmsTemplate used for InOut operations. Note from Spring JMS: that within a JTA transaction, the parameters passed to createQueue, createTopic methods are not taken into account. Depending on the Java EE transaction context, the container makes its own decisions on these values. Analogously, these parameters are not taken into account within a locally managed transaction either, since Spring JMS operates on an existing JMS Session in this case. Setting this flag to true will use a short local JMS transaction when running outside of a managed transaction, and a synchronized local JMS transaction in case of a managed transaction (other than an XA transaction) being present. This has the effect of a local JMS transaction being managed alongside the main transaction (which might be a native JDBC transaction), with the JMS transaction committing right after the main transaction.",title:"Transacted In Out",required:!1,deprecated:!1},lazyCreateTransactionManager:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true.",title:"Lazy Create Transaction Manager",required:!1,deprecated:!1},transactionManager:{kind:"parameter",type:"object",description:"The Spring transaction manager to use.",title:"Transaction Manager",required:!1,deprecated:!1},transactionName:{kind:"parameter",type:"string",description:"The name of the transaction to use.",title:"Transaction Name",required:!1,deprecated:!1},transactionTimeout:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The timeout value of the transaction (in seconds), if using transacted mode.",title:"Transaction Timeout",required:!1,deprecated:!1}}},jmx:{type:"object",title:"JMX",group:"monitoring",icon:"generic24.png",description:"Receive JMX notifications.",properties:{serverURL:{kind:"path",type:"string",description:"Server url comes from the remaining endpoint. Use platform to connect to local JVM.",title:"Server URL",required:!1,deprecated:!1},format:{kind:"parameter",type:"string",defaultValue:"xml",enum:["xml","raw"],description:"Format for the message body. Either xml or raw. If xml, the notification is serialized to xml. If raw, then the raw java object is set as the body.",title:"Format",required:!1,deprecated:!1},granularityPeriod:{kind:"parameter",type:"duration",defaultValue:"10000",description:"The frequency to poll the bean to check the monitor (monitor types only).",title:"Granularity Period",required:!1,deprecated:!1},monitorType:{kind:"parameter",type:"string",enum:["counter","gauge","string"],description:"The type of monitor to create. One of string, gauge, counter (monitor types only).",title:"Monitor Type",required:!1,deprecated:!1},objectDomain:{kind:"parameter",type:"string",description:"The domain for the mbean you're connecting to",title:"Object Domain",required:!0,deprecated:!1},objectName:{kind:"parameter",type:"string",description:"The name key for the mbean you're connecting to. This value is mutually exclusive with the object properties that get passed.",title:"Object Name",required:!1,deprecated:!1},observedAttribute:{kind:"parameter",type:"string",description:"The attribute to observe for the monitor bean or consumer.",title:"Observed Attribute",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},executorService:{kind:"parameter",type:"object",description:"To use a custom shared thread pool for the consumers. By default each consume has their own thread-pool to process and route notifications.",title:"Executor Service",required:!1,deprecated:!1},handback:{kind:"parameter",type:"object",description:"Value to handback to the listener when a notification is received. This value will be put in the message header with the key JMXConstants#JMX_HANDBACK.",title:"Handback",required:!1,deprecated:!1},notificationFilter:{kind:"parameter",type:"object",description:"Reference to a bean that implements the NotificationFilter.",title:"Notification Filter",required:!1,deprecated:!1},objectProperties:{kind:"parameter",type:"object",description:"Properties for the object name. These values will be used if the objectName param is not set",title:"Object Properties",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"integer",defaultValue:"10",description:"The number of seconds to wait before attempting to retry establishment of the initial connection or attempt to reconnect a lost connection",title:"Reconnect Delay",required:!1,deprecated:!1},reconnectOnConnectionFailure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true the consumer will attempt to reconnect to the JMX server when any connection failure occurs. The consumer will attempt to re-establish the JMX connection every 'x' seconds until the connection is made-- where 'x' is the configured reconnectionDelay",title:"Reconnect On Connection Failure",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true the consumer will throw an exception if unable to establish the JMX connection upon startup. If false, the consumer will attempt to establish the JMX connection every 'x' seconds until the connection is made -- where 'x' is the configured reconnectionDelay",title:"Test Connection On Startup",required:!1,deprecated:!1},initThreshold:{kind:"parameter",type:"integer",description:"Initial threshold for the monitor. The value must exceed this before notifications are fired (counter monitor only).",title:"Init Threshold",required:!1,deprecated:!1},modulus:{kind:"parameter",type:"integer",description:"The value at which the counter is reset to zero (counter monitor only).",title:"Modulus",required:!1,deprecated:!1},offset:{kind:"parameter",type:"integer",description:"The amount to increment the threshold after it's been exceeded (counter monitor only).",title:"Offset",required:!1,deprecated:!1},differenceMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, then the value reported in the notification is the difference from the threshold as opposed to the value itself (counter and gauge monitor only).",title:"Difference Mode",required:!1,deprecated:!1},notifyHigh:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the gauge will fire a notification when the high threshold is exceeded (gauge monitor only).",title:"Notify High",required:!1,deprecated:!1},notifyLow:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the gauge will fire a notification when the low threshold is exceeded (gauge monitor only).",title:"Notify Low",required:!1,deprecated:!1},thresholdHigh:{kind:"parameter",type:"number",description:"Value for the gauge's high threshold (gauge monitor only).",title:"Threshold High",required:!1,deprecated:!1},thresholdLow:{kind:"parameter",type:"number",description:"Value for the gauge's low threshold (gauge monitor only).",title:"Threshold Low",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Credentials for making a remote connection",title:"Password",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"Credentials for making a remote connection",title:"User",required:!1,deprecated:!1},notifyDiffer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, will fire a notification when the string attribute differs from the string to compare (string monitor or consumer). By default the consumer will notify match if observed attribute and string to compare has been configured.",title:"Notify Differ",required:!1,deprecated:!1},notifyMatch:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, will fire a notification when the string attribute matches the string to compare (string monitor or consumer). By default the consumer will notify match if observed attribute and string to compare has been configured.",title:"Notify Match",required:!1,deprecated:!1},stringToCompare:{kind:"parameter",type:"string",description:"Value for attribute to compare (string monitor or consumer). By default the consumer will notify match if observed attribute and string to compare has been configured.",title:"String To Compare",required:!1,deprecated:!1}}},jolt:{type:"object",title:"JOLT",group:"transformation",icon:"generic24.png",description:"JSON to JSON transformation using JOLT.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},inputType:{kind:"parameter",type:"object",defaultValue:"Hydrated",enum:["Hydrated","JsonString"],description:"Specifies if the input is hydrated JSON or a JSON String.",title:"Input Type",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"Hydrated",enum:["Hydrated","JsonString"],description:"Specifies if the output should be hydrated JSON or a JSON String.",title:"Output Type",required:!1,deprecated:!1},transformDsl:{kind:"parameter",type:"object",defaultValue:"Chainr",enum:["Chainr","Shiftr","Defaultr","Removr","Sortr"],description:"Specifies the Transform DSL of the endpoint resource. If none is specified Chainr will be used.",title:"Transform Dsl",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},jooq:{type:"object",title:"JOOQ",group:"database",icon:"generic24.png",description:"Store and retrieve Java objects from an SQL database using JOOQ.",properties:{entityType:{kind:"path",type:"string",description:"JOOQ entity class",title:"Entity Type",required:!1,deprecated:!1},databaseConfiguration:{kind:"parameter",type:"object",description:"To use a specific database configuration",title:"Database Configuration",required:!1,deprecated:!1},consumeDelete:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Delete entity after it is consumed",title:"Consume Delete",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",defaultValue:"NONE",enum:["EXECUTE","FETCH","NONE"],description:"Type of operation to execute on query",title:"Operation",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"To execute plain SQL query",title:"Query",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},jpa:{type:"object",title:"JPA",group:"database",icon:"generic24.png",description:"Store and retrieve Java objects from databases using Java Persistence API (JPA).",properties:{entityType:{kind:"path",type:"string",description:"Entity class name",title:"Entity Type",required:!0,deprecated:!1},joinTransaction:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The camel-jpa component will join transaction by default. You can use this option to turn this off, for example if you use LOCAL_RESOURCE and join transaction doesn't work with your JPA provider. This option can also be set globally on the JpaComponent, instead of having to set it on all endpoints.",title:"Join Transaction",required:!1,deprecated:!1},maximumResults:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Set the maximum number of results to retrieve on the Query.",title:"Maximum Results",required:!1,deprecated:!1},namedQuery:{kind:"parameter",type:"string",description:"To use a named query.",title:"Named Query",required:!1,deprecated:!1},nativeQuery:{kind:"parameter",type:"string",description:"To use a custom native query. You may want to use the option resultClass also when using native queries.",title:"Native Query",required:!1,deprecated:!1},persistenceUnit:{kind:"parameter",type:"string",defaultValue:"camel",description:"The JPA persistence unit used by default.",title:"Persistence Unit",required:!0,deprecated:!1},query:{kind:"parameter",type:"string",description:"To use a custom query.",title:"Query",required:!1,deprecated:!1},resultClass:{kind:"parameter",type:"string",description:"Defines the type of the returned payload (we will call entityManager.createNativeQuery(nativeQuery, resultClass) instead of entityManager.createNativeQuery(nativeQuery)). Without this option, we will return an object array. Only has an affect when using in conjunction with native query when consuming data.",title:"Result Class",required:!1,deprecated:!1},consumeDelete:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, the entity is deleted after it is consumed; if false, the entity is not deleted.",title:"Consume Delete",required:!1,deprecated:!1},consumeLockEntity:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether or not to set an exclusive lock on each entity bean while processing the results from polling.",title:"Consume Lock Entity",required:!1,deprecated:!1},deleteHandler:{kind:"parameter",type:"object",description:"To use a custom DeleteHandler to delete the row after the consumer is done processing the exchange",title:"Delete Handler",required:!1,deprecated:!1},lockModeType:{kind:"parameter",type:"object",defaultValue:"PESSIMISTIC_WRITE",enum:["READ","WRITE","OPTIMISTIC","OPTIMISTIC_FORCE_INCREMENT","PESSIMISTIC_READ","PESSIMISTIC_WRITE","PESSIMISTIC_FORCE_INCREMENT","NONE"],description:"To configure the lock mode on the consumer.",title:"Lock Mode Type",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"An integer value to define the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to avoid polling many thousands of messages when starting up the server. Set a value of 0 or negative to disable.",title:"Max Messages Per Poll",required:!1,deprecated:!1},preDeleteHandler:{kind:"parameter",type:"object",description:"To use a custom Pre-DeleteHandler to delete the row after the consumer has read the entity.",title:"Pre Delete Handler",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipLockedEntity:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To configure whether to use NOWAIT on lock and silently skip the entity.",title:"Skip Locked Entity",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to run the consumer in transacted mode, by which all messages will either commit or rollback, when the entire batch has been processed. The default behavior (false) is to commit all the previously successfully processed messages, and only rollback the last failed message.",title:"Transacted",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"This key/value mapping is used for building the query parameters. It is expected to be of the generic type java.util.Map where the keys are the named parameters of a given JPA query and the values are their corresponding effective values you want to select for. When it's used for producer, Simple expression can be used as a parameter value. It allows you to retrieve parameter values from the message body, header and etc.",title:"Parameters",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},findEntity:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled then the producer will find a single entity by using the message body as key and entityType as the class type. This can be used instead of a query to find a single entity.",title:"Find Entity",required:!1,deprecated:!1},firstResult:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Set the position of the first result to retrieve.",title:"First Result",required:!1,deprecated:!1},flushOnSend:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Flushes the EntityManager after the entity bean has been persisted.",title:"Flush On Send",required:!1,deprecated:!1},outputTarget:{kind:"parameter",type:"string",description:"To put the query (or find) result in a header or property instead of the body. If the value starts with the prefix property:, put the result into the so named property, otherwise into the header.",title:"Output Target",required:!1,deprecated:!1},remove:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicates to use entityManager.remove(entity).",title:"Remove",required:!1,deprecated:!1},singleResult:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled, a query or a find which would return no results or more than one result, will throw an exception instead.",title:"Single Result",required:!1,deprecated:!1},useExecuteUpdate:{kind:"parameter",type:"boolean",description:"To configure whether to use executeUpdate() when producer executes a query. When you use INSERT, UPDATE or DELETE statement as a named query, you need to specify this option to 'true'.",title:"Use Execute Update",required:!1,deprecated:!1},usePersist:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicates to use entityManager.persist(entity) instead of entityManager.merge(entity). Note: entityManager.persist(entity) doesn't work for detached entities (where the EntityManager has to execute an UPDATE instead of an INSERT query)!",title:"Use Persist",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},usePassedInEntityManager:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, then Camel will use the EntityManager from the header JpaConstants.ENTITY_MANAGER instead of the configured entity manager on the component/endpoint. This allows end users to control which entity manager will be in use.",title:"Use Passed In Entity Manager",required:!1,deprecated:!1},entityManagerProperties:{kind:"parameter",type:"object",description:"Additional properties for the entity manager to use.",title:"Entity Manager Properties",required:!1,deprecated:!1},sharedEntityManager:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use Spring's SharedEntityManager for the consumer/producer. Note in most cases joinTransaction should be set to false as this is not an EXTENDED EntityManager.",title:"Shared Entity Manager",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},jslt:{type:"object",title:"JSLT",group:"transformation",icon:"generic24.png",description:"Query or transform JSON payloads using an JSLT.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},mapBigDecimalAsFloats:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the mapper will use the USE_BIG_DECIMAL_FOR_FLOATS in serialization features",title:"Map Big Decimal As Floats",required:!1,deprecated:!1},objectMapper:{kind:"parameter",type:"object",description:"Setting a custom JSON Object Mapper to be used",title:"Object Mapper",required:!1,deprecated:!1},prettyPrint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, JSON in output message is pretty printed.",title:"Pretty Print",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"json-patch":{type:"object",title:"JsonPatch",group:"transformation",icon:"generic24.png",description:"Transforms JSON using JSON patch (RFC 6902).",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"json-validator":{type:"object",title:"JSON Schema Validator",group:"validation",icon:"generic24.png",description:"Validate JSON payloads using NetworkNT JSON Schema.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},failOnNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to fail if no body exists.",title:"Fail On Null Body",required:!1,deprecated:!1},failOnNullHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to fail if no header exists when validating against a header.",title:"Fail On Null Header",required:!1,deprecated:!1},headerName:{kind:"parameter",type:"string",description:"To validate against a header instead of the message body.",title:"Header Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},disabledDeserializationFeatures:{kind:"parameter",type:"string",description:"Comma-separated list of Jackson DeserializationFeature enum values which will be disabled for parsing exchange body",title:"Disabled Deserialization Features",required:!1,deprecated:!1},enabledDeserializationFeatures:{kind:"parameter",type:"string",description:"Comma-separated list of Jackson DeserializationFeature enum values which will be enabled for parsing exchange body",title:"Enabled Deserialization Features",required:!1,deprecated:!1},errorHandler:{kind:"parameter",type:"object",description:"To use a custom ValidatorErrorHandler. The default error handler captures the errors and throws an exception.",title:"Error Handler",required:!1,deprecated:!1},uriSchemaLoader:{kind:"parameter",type:"object",description:"To use a custom schema loader allowing for adding custom format validation. The default implementation will create a schema loader that tries to determine the schema version from the $schema property of the specified schema.",title:"Uri Schema Loader",required:!1,deprecated:!1}}},jsonata:{type:"object",title:"JSONata",group:"transformation",icon:"generic24.png",description:"Transforms JSON payload using JSONata transformation.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},inputType:{kind:"parameter",type:"object",defaultValue:"Jackson",enum:["Jackson","JsonString"],description:"Specifies if the input should be Jackson JsonNode or a JSON String.",title:"Input Type",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"Jackson",enum:["Jackson","JsonString"],description:"Specifies if the output should be Jackson JsonNode or a JSON String.",title:"Output Type",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},jt400:{type:"object",title:"JT400",group:"messaging",icon:"generic24.png",description:"Exchanges messages with an IBM i system using data queues, message queues, or program call. IBM i is the replacement for AS/400 and iSeries servers.",properties:{userID:{kind:"path",type:"string",description:"Returns the ID of the IBM i user.",title:"User ID",required:!0,deprecated:!1},password:{kind:"path",type:"string",description:"Returns the password of the IBM i user.",title:"Password",required:!0,deprecated:!1},systemName:{kind:"path",type:"string",description:"Returns the name of the IBM i system.",title:"System Name",required:!0,deprecated:!1},objectPath:{kind:"path",type:"string",description:"Returns the fully qualified integrated file system path name of the target object of this endpoint.",title:"Object Path",required:!0,deprecated:!1},type:{kind:"path",type:"object",enum:["DTAQ","PGM","SRVPGM","MSGQ"],description:"Whether to work with data queues or remote program call",title:"Type",required:!0,deprecated:!1},ccsid:{kind:"parameter",type:"integer",description:"Sets the CCSID to use for the connection with the IBM i system.",title:"Ccsid",required:!1,deprecated:!1},format:{kind:"parameter",type:"object",defaultValue:"text",enum:["text","binary"],description:"Sets the data format for sending messages.",title:"Format",required:!1,deprecated:!1},guiAvailable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether IBM i prompting is enabled in the environment running Camel.",title:"Gui Available",required:!1,deprecated:!1},keyed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use keyed or non-keyed data queues.",title:"Keyed",required:!1,deprecated:!1},searchKey:{kind:"parameter",type:"string",description:"Search key for keyed data queues.",title:"Search Key",required:!1,deprecated:!1},messageAction:{kind:"parameter",type:"object",defaultValue:"OLD",enum:["OLD","REMOVE","SAME"],description:"Action to be taken on messages when read from a message queue. Messages can be marked as old (OLD), removed from the queue (REMOVE), or neither (SAME).",title:"Message Action",required:!1,deprecated:!1},readTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Timeout in millis the consumer will wait while trying to read a new message of the data queue.",title:"Read Timeout",required:!1,deprecated:!1},searchType:{kind:"parameter",type:"object",defaultValue:"EQ",enum:["EQ","NE","LT","LE","GT","GE"],description:"Search type such as EQ for equal etc.",title:"Search Type",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},sendingReply:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, the consumer endpoint will set the Jt400Constants.MESSAGE_REPLYTO_KEY header of the camel message for any IBM i inquiry messages received. If that message is then routed to a producer endpoint, the action will not be processed as sending a message to the queue, but rather a reply to the specific inquiry message.",title:"Sending Reply",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},outputFieldsIdxArray:{kind:"parameter",type:"object",description:"Specifies which fields (program parameters) are output parameters.",title:"Output Fields Idx Array",required:!1,deprecated:!1},outputFieldsLengthArray:{kind:"parameter",type:"object",description:"Specifies the fields (program parameters) length as in the IBM i program definition.",title:"Output Fields Length Array",required:!1,deprecated:!1},procedureName:{kind:"parameter",type:"string",description:"Procedure name from a service program to call",title:"Procedure Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},secured:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether connections to IBM i are secured with SSL.",title:"Secured",required:!1,deprecated:!1}}},jte:{type:"object",title:"JTE",group:"transformation",icon:"generic24.png",description:"Transform messages using a Java based template engine (JTE).",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},kafka:{type:"object",title:"Kafka",group:"messaging",icon:"generic24.png",description:"Sent and receive messages to/from an Apache Kafka broker.",properties:{topic:{kind:"path",type:"string",description:"Name of the topic to use. On the consumer you can use comma to separate multiple topics. A producer can only send a message to a single topic.",title:"Topic",required:!0,deprecated:!1},additionalProperties:{kind:"parameter",type:"object",description:"Sets additional properties for either kafka consumer or kafka producer in case they can't be set directly on the camel configurations (e.g.: new Kafka properties that are not reflected yet in Camel configurations), the properties have to be prefixed with additionalProperties.., e.g.: additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro",title:"Additional Properties",required:!1,deprecated:!1},brokers:{kind:"parameter",type:"string",description:"URL of the Kafka brokers to use. The format is host1:port1,host2:port2, and the list can be a subset of brokers or a VIP pointing to a subset of brokers. This option is known as bootstrap.servers in the Kafka documentation.",title:"Brokers",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"The client id is a user-specified string sent in each request to help trace calls. It should logically identify the application making the request.",title:"Client Id",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},reconnectBackoffMaxMs:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms.",title:"Reconnect Backoff Max Ms",required:!1,deprecated:!1},shutdownTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Timeout in milliseconds to wait gracefully for the consumer or producer to shut down and terminate its worker threads.",title:"Shutdown Timeout",required:!1,deprecated:!1},allowManualCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow doing manual commits via KafkaManualCommit. If this option is enabled then an instance of KafkaManualCommit is stored on the Exchange message header, which allows end users to access this API and perform manual offset commits via the Kafka consumer.",title:"Allow Manual Commit",required:!1,deprecated:!1},autoCommitEnable:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer. This committed offset will be used when the process fails as the position from which the new consumer will begin.",title:"Auto Commit Enable",required:!1,deprecated:!1},autoCommitIntervalMs:{kind:"parameter",type:"integer",defaultValue:"5000",description:"The frequency in ms that the consumer offsets are committed to zookeeper.",title:"Auto Commit Interval Ms",required:!1,deprecated:!1},autoOffsetReset:{kind:"parameter",type:"string",defaultValue:"latest",enum:["latest","earliest","none"],description:"What to do when there is no initial offset in ZooKeeper or if an offset is out of range: earliest : automatically reset the offset to the earliest offset latest: automatically reset the offset to the latest offset fail: throw exception to the consumer",title:"Auto Offset Reset",required:!1,deprecated:!1},batching:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use batching for processing or streaming. The default is false, which uses streaming",title:"Batching",required:!1,deprecated:!1},breakOnFirstError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This options controls what happens when a consumer is processing an exchange and it fails. If the option is false then the consumer continues to the next message and processes it. If the option is true then the consumer breaks out. Using the default NoopCommitManager will cause the consumer to not commit the offset so that the message is re-attempted. The consumer should use the KafkaManualCommit to determine the best way to handle the message. Using either the SyncCommitManager or the AsyncCommitManager, the consumer will seek back to the offset of the message that caused a failure, and then re-attempt to process this message. However, this can lead to endless processing of the same message if it's bound to fail every time, e.g., a poison message. Therefore, it's recommended to deal with that, for example, by using Camel's error handler.",title:"Break On First Error",required:!1,deprecated:!1},checkCrcs:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically check the CRC32 of the records consumed. This ensures no on-the-wire or on-disk corruption to the messages occurred. This check adds some overhead, so it may be disabled in cases seeking extreme performance.",title:"Check Crcs",required:!1,deprecated:!1},commitTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"The maximum time, in milliseconds, that the code will wait for a synchronous commit to complete",title:"Commit Timeout Ms",required:!1,deprecated:!1},consumerRequestTimeoutMs:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The configuration controls the maximum amount of time the client will wait for the response of a request. If the response is not received before the timeout elapsed, the client will resend the request if necessary or fail the request if retries are exhausted.",title:"Consumer Request Timeout Ms",required:!1,deprecated:!1},consumersCount:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of consumers that connect to kafka server. Each consumer is run on a separate thread that retrieves and process the incoming data.",title:"Consumers Count",required:!1,deprecated:!1},fetchMaxBytes:{kind:"parameter",type:"integer",defaultValue:"52428800",description:"The maximum amount of data the server should return for a fetch request This is not an absolute maximum, if the first message in the first non-empty partition of the fetch is larger than this value, the message will still be returned to ensure that the consumer can make progress. The maximum message size accepted by the broker is defined via message.max.bytes (broker config) or max.message.bytes (topic config). Note that the consumer performs multiple fetches in parallel.",title:"Fetch Max Bytes",required:!1,deprecated:!1},fetchMinBytes:{kind:"parameter",type:"integer",defaultValue:"1",description:"The minimum amount of data the server should return for a fetch request. If insufficient data is available, the request will wait for that much data to accumulate before answering the request.",title:"Fetch Min Bytes",required:!1,deprecated:!1},fetchWaitMaxMs:{kind:"parameter",type:"integer",defaultValue:"500",description:"The maximum amount of time the server will block before answering the fetch request if there isn't sufficient data to immediately satisfy fetch.min.bytes",title:"Fetch Wait Max Ms",required:!1,deprecated:!1},groupId:{kind:"parameter",type:"string",description:"A string that uniquely identifies the group of consumer processes to which this consumer belongs. By setting the same group id, multiple processes can indicate that they are all part of the same consumer group. This option is required for consumers.",title:"Group Id",required:!1,deprecated:!1},groupInstanceId:{kind:"parameter",type:"string",description:"A unique identifier of the consumer instance provided by the end user. Only non-empty strings are permitted. If set, the consumer is treated as a static member, which means that only one instance with this ID is allowed in the consumer group at any time. This can be used in combination with a larger session timeout to avoid group rebalances caused by transient unavailability (e.g., process restarts). If not set, the consumer will join the group as a dynamic member, which is the traditional behavior.",title:"Group Instance Id",required:!1,deprecated:!1},headerDeserializer:{kind:"parameter",type:"object",description:"To use a custom KafkaHeaderDeserializer to deserialize kafka headers values",title:"Header Deserializer",required:!1,deprecated:!1},heartbeatIntervalMs:{kind:"parameter",type:"integer",defaultValue:"3000",description:"The expected time between heartbeats to the consumer coordinator when using Kafka's group management facilities. Heartbeats are used to ensure that the consumer's session stays active and to facilitate rebalancing when new consumers join or leave the group. The value must be set lower than session.timeout.ms, but typically should be set no higher than 1/3 of that value. It can be adjusted even lower to control the expected time for normal rebalances.",title:"Heartbeat Interval Ms",required:!1,deprecated:!1},keyDeserializer:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.common.serialization.StringDeserializer",description:"Deserializer class for the key that implements the Deserializer interface.",title:"Key Deserializer",required:!1,deprecated:!1},maxPartitionFetchBytes:{kind:"parameter",type:"integer",defaultValue:"1048576",description:"The maximum amount of data per-partition the server will return. The maximum total memory used for a request will be #partitions max.partition.fetch.bytes. This size must be at least as large as the maximum message size the server allows or else it is possible for the producer to send messages larger than the consumer can fetch. If that happens, the consumer can get stuck trying to fetch a large message on a certain partition.",title:"Max Partition Fetch Bytes",required:!1,deprecated:!1},maxPollIntervalMs:{kind:"parameter",type:"duration",description:"The maximum delay between invocations of poll() when using consumer group management. This places an upper bound on the amount of time that the consumer can be idle before fetching more records. If poll() is not called before expiration of this timeout, then the consumer is considered failed, and the group will re-balance to reassign the partitions to another member.",title:"Max Poll Interval Ms",required:!1,deprecated:!1},maxPollRecords:{kind:"parameter",type:"integer",defaultValue:"500",description:"The maximum number of records returned in a single call to poll()",title:"Max Poll Records",required:!1,deprecated:!1},offsetRepository:{kind:"parameter",type:"object",description:"The offset repository to use to locally store the offset of each partition of the topic. Defining one will disable the autocommit.",title:"Offset Repository",required:!1,deprecated:!1},partitionAssignor:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.clients.consumer.RangeAssignor",description:"The class name of the partition assignment strategy that the client will use to distribute partition ownership amongst consumer instances when group management is used",title:"Partition Assignor",required:!1,deprecated:!1},pollOnError:{kind:"parameter",type:"object",defaultValue:"ERROR_HANDLER",enum:["DISCARD","ERROR_HANDLER","RECONNECT","RETRY","STOP"],description:"What to do if kafka threw an exception while polling for new messages. Will by default use the value from the component configuration unless an explicit value has been configured on the endpoint level. DISCARD will discard the message and continue to poll the next message. ERROR_HANDLER will use Camel's error handler to process the exception, and afterwards continue to poll the next message. RECONNECT will re-connect the consumer and try polling the message again. RETRY will let the consumer retry poll the same message again. STOP will stop the consumer (it has to be manually started/restarted if the consumer should be able to consume messages again)",title:"Poll On Error",required:!1,deprecated:!1},pollTimeoutMs:{kind:"parameter",type:"duration",defaultValue:"5000",description:"The timeout used when polling the KafkaConsumer.",title:"Poll Timeout Ms",required:!1,deprecated:!1},preValidateHostAndPort:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to eager validate that broker host:port is valid and can be DNS resolved to known host during starting this consumer. If the validation fails, then an exception is thrown, which makes Camel fail fast. Disabling this will postpone the validation after the consumer is started, and Camel will keep re-connecting in case of validation or DNS resolution error.",title:"Pre Validate Host And Port",required:!1,deprecated:!1},seekTo:{kind:"parameter",type:"object",enum:["BEGINNING","END"],description:"Set if KafkaConsumer should read from the beginning or the end on startup: SeekPolicy.BEGINNING: read from the beginning. SeekPolicy.END: read from the end.",title:"Seek To",required:!1,deprecated:!1},sessionTimeoutMs:{kind:"parameter",type:"integer",defaultValue:"45000",description:"The timeout used to detect failures when using Kafka's group management facilities.",title:"Session Timeout Ms",required:!1,deprecated:!1},specificAvroReader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This enables the use of a specific Avro reader for use with the in multiple Schema registries documentation with Avro Deserializers implementation. This option is only available externally (not standard Apache Kafka)",title:"Specific Avro Reader",required:!1,deprecated:!1},topicIsPattern:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern.",title:"Topic Is Pattern",required:!1,deprecated:!1},valueDeserializer:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.common.serialization.StringDeserializer",description:"Deserializer class for value that implements the Deserializer interface.",title:"Value Deserializer",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},isolationLevel:{kind:"parameter",type:"string",defaultValue:"read_uncommitted",enum:["read_uncommitted","read_committed"],description:"Controls how to read messages written transactionally. If set to read_committed, consumer.poll() will only return transactional messages which have been committed. If set to read_uncommitted (the default), consumer.poll() will return all messages, even transactional messages which have been aborted. Non-transactional messages will be returned unconditionally in either mode. Messages will always be returned in offset order. Hence, in read_committed mode, consumer.poll() will only return messages up to the last stable offset (LSO), which is the one less than the offset of the first open transaction. In particular, any messages appearing after messages belonging to ongoing transactions will be withheld until the relevant transaction has been completed. As a result, read_committed consumers will not be able to read up to the high watermark when there are in flight transactions. Further, when in read_committed the seekToEnd method will return the LSO",title:"Isolation Level",required:!1,deprecated:!1},kafkaManualCommitFactory:{kind:"parameter",type:"object",description:"Factory to use for creating KafkaManualCommit instances. This allows to plugin a custom factory to create custom KafkaManualCommit instances in case special logic is needed when doing manual commits that deviates from the default implementation that comes out of the box.",title:"Kafka Manual Commit Factory",required:!1,deprecated:!1},batchWithIndividualHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this feature is enabled and a single element of a batch is an Exchange or Message, the producer will generate individual kafka header values for it by using the batch Message to determine the values. Normal behavior consists of always using the same header values (which are determined by the parent Exchange which contains the Iterable or Iterator).",title:"Batch With Individual Headers",required:!1,deprecated:!1},bufferMemorySize:{kind:"parameter",type:"integer",defaultValue:"33554432",description:"The total bytes of memory the producer can use to buffer records waiting to be sent to the server. If records are sent faster than they can be delivered to the server, the producer will either block or throw an exception based on the preference specified by block.on.buffer.full.This setting should correspond roughly to the total memory the producer will use, but is not a hard bound since not all memory the producer uses is used for buffering. Some additional memory will be used for compression (if compression is enabled) as well as for maintaining in-flight requests.",title:"Buffer Memory Size",required:!1,deprecated:!1},compressionCodec:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","gzip","snappy","lz4","zstd"],description:"This parameter allows you to specify the compression codec for all data generated by this producer. Valid values are none, gzip, snappy, lz4 and zstd.",title:"Compression Codec",required:!1,deprecated:!1},connectionMaxIdleMs:{kind:"parameter",type:"integer",defaultValue:"540000",description:"Close idle connections after the number of milliseconds specified by this config.",title:"Connection Max Idle Ms",required:!1,deprecated:!1},deliveryTimeoutMs:{kind:"parameter",type:"integer",defaultValue:"120000",description:"An upper bound on the time to report success or failure after a call to send() returns. This limits the total time that a record will be delayed prior to sending, the time to await acknowledgement from the broker (if expected), and the time allowed for retriable send failures.",title:"Delivery Timeout Ms",required:!1,deprecated:!1},enableIdempotence:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When set to 'true', the producer will ensure that exactly one copy of each message is written in the stream. If 'false', producer retries due to broker failures, etc., may write duplicates of the retried message in the stream. Note that enabling idempotence requires max.in.flight.requests.per.connection to be less than or equal to 5 (with message ordering preserved for any allowable value), retries to be greater than 0, and acks must be 'all'. Idempotence is enabled by default if no conflicting configurations are set. If conflicting configurations are set and idempotence is not explicitly enabled, idempotence is disabled. If idempotence is explicitly enabled and conflicting configurations are set, a ConfigException is thrown.",title:"Enable Idempotence",required:!1,deprecated:!1},headerSerializer:{kind:"parameter",type:"object",description:"To use a custom KafkaHeaderSerializer to serialize kafka headers values",title:"Header Serializer",required:!1,deprecated:!1},key:{kind:"parameter",type:"string",description:"The record key (or null if no key is specified). If this option has been configured then it take precedence over header KafkaConstants#KEY",title:"Key",required:!1,deprecated:!1},keySerializer:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.common.serialization.StringSerializer",description:"The serializer class for keys (defaults to the same as for messages if nothing is given).",title:"Key Serializer",required:!1,deprecated:!1},lingerMs:{kind:"parameter",type:"integer",defaultValue:"0",description:"The producer groups together any records that arrive in between request transmissions into a single, batched, request. Normally, this occurs only under load when records arrive faster than they can be sent out. However, in some circumstances, the client may want to reduce the number of requests even under a moderate load. This setting accomplishes this by adding a small amount of artificial delay. That is, rather than immediately sending out a record, the producer will wait for up to the given delay to allow other records to be sent so that they can be batched together. This can be thought of as analogous to Nagle's algorithm in TCP. This setting gives the upper bound on the delay for batching: once we get batch.size worth of records for a partition, it will be sent immediately regardless of this setting, however, if we have fewer than this many bytes accumulated for this partition, we will 'linger' for the specified time waiting for more records to show up. This setting defaults to 0 (i.e., no delay). Setting linger.ms=5, for example, would have the effect of reducing the number of requests sent but would add up to 5ms of latency to records sent in the absence of load.",title:"Linger Ms",required:!1,deprecated:!1},maxBlockMs:{kind:"parameter",type:"integer",defaultValue:"60000",description:"The configuration controls how long the KafkaProducer's send(), partitionsFor(), initTransactions(), sendOffsetsToTransaction(), commitTransaction() and abortTransaction() methods will block. For send() this timeout bounds the total time waiting for both metadata fetch and buffer allocation (blocking in the user-supplied serializers or partitioner is not counted against this timeout). For partitionsFor() this time out bounds the time spent waiting for metadata if it is unavailable. The transaction-related methods always block, but may time out if the transaction coordinator could not be discovered or did not respond within the timeout.",title:"Max Block Ms",required:!1,deprecated:!1},maxInFlightRequest:{kind:"parameter",type:"integer",defaultValue:"5",description:"The maximum number of unacknowledged requests the client will send on a single connection before blocking. Note that if this setting is set to be greater than 1 and there are failed sends, there is a risk of message re-ordering due to retries (i.e., if retries are enabled).",title:"Max In Flight Request",required:!1,deprecated:!1},maxRequestSize:{kind:"parameter",type:"integer",defaultValue:"1048576",description:"The maximum size of a request. This is also effectively a cap on the maximum record size. Note that the server has its own cap on record size which may be different from this. This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests.",title:"Max Request Size",required:!1,deprecated:!1},metadataMaxAgeMs:{kind:"parameter",type:"integer",defaultValue:"300000",description:"The period of time in milliseconds after which we force a refresh of metadata even if we haven't seen any partition leadership changes to proactively discover any new brokers or partitions.",title:"Metadata Max Age Ms",required:!1,deprecated:!1},metricReporters:{kind:"parameter",type:"string",description:"A list of classes to use as metrics reporters. Implementing the MetricReporter interface allows plugging in classes that will be notified of new metric creation. The JmxReporter is always included to register JMX statistics.",title:"Metric Reporters",required:!1,deprecated:!1},metricsSampleWindowMs:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The window of time a metrics sample is computed over.",title:"Metrics Sample Window Ms",required:!1,deprecated:!1},noOfMetricsSample:{kind:"parameter",type:"integer",defaultValue:"2",description:"The number of samples maintained to compute metrics.",title:"No Of Metrics Sample",required:!1,deprecated:!1},partitioner:{kind:"parameter",type:"string",description:"The partitioner class for partitioning messages amongst sub-topics. The default partitioner is based on the hash of the key.",title:"Partitioner",required:!1,deprecated:!1},partitionerIgnoreKeys:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the message keys should be ignored when computing the partition. This setting has effect only when partitioner is not set",title:"Partitioner Ignore Keys",required:!1,deprecated:!1},partitionKey:{kind:"parameter",type:"integer",description:"The partition to which the record will be sent (or null if no partition was specified). If this option has been configured then it take precedence over header KafkaConstants#PARTITION_KEY",title:"Partition Key",required:!1,deprecated:!1},producerBatchSize:{kind:"parameter",type:"integer",defaultValue:"16384",description:"The producer will attempt to batch records together into fewer requests whenever multiple records are being sent to the same partition. This helps performance on both the client and the server. This configuration controls the default batch size in bytes. No attempt will be made to batch records larger than this size. Requests sent to brokers will contain multiple batches, one for each partition with data available to be sent. A small batch size will make batching less common and may reduce throughput (a batch size of zero will disable batching entirely). A very large batch size may use memory a bit more wastefully as we will always allocate a buffer of the specified batch size in anticipation of additional records.",title:"Producer Batch Size",required:!1,deprecated:!1},queueBufferingMaxMessages:{kind:"parameter",type:"integer",defaultValue:"10000",description:"The maximum number of unsent messages that can be queued up the producer when using async mode before either the producer must be blocked or data must be dropped.",title:"Queue Buffering Max Messages",required:!1,deprecated:!1},receiveBufferBytes:{kind:"parameter",type:"integer",defaultValue:"65536",description:"The size of the TCP receive buffer (SO_RCVBUF) to use when reading data.",title:"Receive Buffer Bytes",required:!1,deprecated:!1},reconnectBackoffMs:{kind:"parameter",type:"integer",defaultValue:"50",description:"The amount of time to wait before attempting to reconnect to a given host. This avoids repeatedly connecting to a host in a tight loop. This backoff applies to all requests sent by the consumer to the broker.",title:"Reconnect Backoff Ms",required:!1,deprecated:!1},recordMetadata:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the producer should store the RecordMetadata results from sending to Kafka. The results are stored in a List containing the RecordMetadata metadata's. The list is stored on a header with the key KafkaConstants#KAFKA_RECORDMETA",title:"Record Metadata",required:!1,deprecated:!1},requestRequiredAcks:{kind:"parameter",type:"string",defaultValue:"all",enum:["all","-1","0","1"],description:"The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. The following settings are allowed: acks=0 If set to zero, then the producer will not wait for any acknowledgment from the server at all. The record will be immediately added to the socket buffer and considered sent. No guarantee can be made that the server has received the record in this case, and the retry configuration will not take effect (as the client won't generally know of any failures). The offset given back for each record will always be set to -1. acks=1 This will mean the leader will write the record to its local log but will respond without awaiting full acknowledgment from all followers. In this case should the leader fail immediately after acknowledging the record, but before the followers have replicated it, then the record will be lost. acks=all This means the leader will wait for the full set of in-sync replicas to acknowledge the record. This guarantees that the record will not be lost as long as at least one in-sync replica remains alive. This is the strongest available guarantee. This is equivalent to the acks=-1 setting. Note that enabling idempotence requires this config value to be 'all'. If conflicting configurations are set and idempotence is not explicitly enabled, idempotence is disabled.",title:"Request Required Acks",required:!1,deprecated:!1},requestTimeoutMs:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The amount of time the broker will wait trying to meet the request.required.acks requirement before sending back an error to the client.",title:"Request Timeout Ms",required:!1,deprecated:!1},retries:{kind:"parameter",type:"integer",description:"Setting a value greater than zero will cause the client to resend any record that has failed to be sent due to a potentially transient error. Note that this retry is no different from if the client re-sending the record upon receiving the error. Produce requests will be failed before the number of retries has been exhausted if the timeout configured by delivery.timeout.ms expires first before successful acknowledgement. Users should generally prefer to leave this config unset and instead use delivery.timeout.ms to control retry behavior. Enabling idempotence requires this config value to be greater than 0. If conflicting configurations are set and idempotence is not explicitly enabled, idempotence is disabled. Allowing retries while setting enable.idempotence to false and max.in.flight.requests.per.connection to 1 will potentially change the ordering of records because if two batches are sent to a single partition, and the first fails and is retried but the second succeeds, then the records in the second batch may appear first.",title:"Retries",required:!1,deprecated:!1},retryBackoffMs:{kind:"parameter",type:"integer",defaultValue:"100",description:"Before each retry, the producer refreshes the metadata of relevant topics to see if a new leader has been elected. Since the leader election takes a bit of time, this property specifies the amount of time that the producer waits before refreshing the metadata.",title:"Retry Backoff Ms",required:!1,deprecated:!1},sendBufferBytes:{kind:"parameter",type:"integer",defaultValue:"131072",description:"Socket write buffer size",title:"Send Buffer Bytes",required:!1,deprecated:!1},valueSerializer:{kind:"parameter",type:"string",defaultValue:"org.apache.kafka.common.serialization.StringSerializer",description:"The serializer class for messages.",title:"Value Serializer",required:!1,deprecated:!1},workerPool:{kind:"parameter",type:"object",description:"To use a custom worker pool for continue routing Exchange after kafka server has acknowledged the message that was sent to it from KafkaProducer using asynchronous non-blocking processing. If using this option, then you must handle the lifecycle of the thread pool to shut the pool down when no longer needed.",title:"Worker Pool",required:!1,deprecated:!1},workerPoolCoreSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"Number of core threads for the worker pool for continue routing Exchange after kafka server has acknowledged the message that was sent to it from KafkaProducer using asynchronous non-blocking processing.",title:"Worker Pool Core Size",required:!1,deprecated:!1},workerPoolMaxSize:{kind:"parameter",type:"integer",defaultValue:"20",description:"Maximum number of threads for the worker pool for continue routing Exchange after kafka server has acknowledged the message that was sent to it from KafkaProducer using asynchronous non-blocking processing.",title:"Worker Pool Max Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},kafkaClientFactory:{kind:"parameter",type:"object",description:"Factory to use for creating org.apache.kafka.clients.consumer.KafkaConsumer and org.apache.kafka.clients.producer.KafkaProducer instances. This allows to configure a custom factory to create instances with logic that extends the vanilla Kafka clients.",title:"Kafka Client Factory",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},interceptorClasses:{kind:"parameter",type:"string",description:"Sets interceptors for producer or consumers. Producer interceptors have to be classes implementing org.apache.kafka.clients.producer.ProducerInterceptor Consumer interceptors have to be classes implementing org.apache.kafka.clients.consumer.ConsumerInterceptor Note that if you use Producer interceptor on a consumer it will throw a class cast exception in runtime",title:"Interceptor Classes",required:!1,deprecated:!1},schemaRegistryURL:{kind:"parameter",type:"string",description:"URL of the schema registry servers to use. The format is host1:port1,host2:port2. This is known as schema.registry.url in multiple Schema registries documentation. This option is only available externally (not standard Apache Kafka)",title:"Schema Registry URL",required:!1,deprecated:!1},kerberosBeforeReloginMinTime:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Login thread sleep time between refresh attempts.",title:"Kerberos Before Relogin Min Time",required:!1,deprecated:!1},kerberosConfigLocation:{kind:"parameter",type:"string",description:"Location of the kerberos config file.",title:"Kerberos Config Location",required:!1,deprecated:!1},kerberosInitCmd:{kind:"parameter",type:"string",defaultValue:"/usr/bin/kinit",description:"Kerberos kinit command path. Default is /usr/bin/kinit",title:"Kerberos Init Cmd",required:!1,deprecated:!1},kerberosPrincipalToLocalRules:{kind:"parameter",type:"string",defaultValue:"DEFAULT",description:"A list of rules for mapping from principal names to short names (typically operating system usernames). The rules are evaluated in order, and the first rule that matches a principal name is used to map it to a short name. Any later rules in the list are ignored. By default, principal names of the form {username}/{hostname}{REALM} are mapped to {username}. For more details on the format, please see the Security Authorization and ACLs documentation (at the Apache Kafka project website). Multiple values can be separated by comma",title:"Kerberos Principal To Local Rules",required:!1,deprecated:!1},kerberosRenewJitter:{kind:"parameter",type:"number",defaultValue:"0.05",description:"Percentage of random jitter added to the renewal time.",title:"Kerberos Renew Jitter",required:!1,deprecated:!1},kerberosRenewWindowFactor:{kind:"parameter",type:"number",defaultValue:"0.8",description:"Login thread will sleep until the specified window factor of time from last refresh to ticket's expiry has been reached, at which time it will try to renew the ticket.",title:"Kerberos Renew Window Factor",required:!1,deprecated:!1},saslJaasConfig:{kind:"parameter",type:"string",description:"Expose the kafka sasl.jaas.config parameter Example: org.apache.kafka.common.security.plain.PlainLoginModule required username=USERNAME password=PASSWORD;",title:"Sasl Jaas Config",required:!1,deprecated:!1},saslKerberosServiceName:{kind:"parameter",type:"string",description:"The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config.",title:"Sasl Kerberos Service Name",required:!1,deprecated:!1},saslMechanism:{kind:"parameter",type:"string",defaultValue:"GSSAPI",description:"The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml",title:"Sasl Mechanism",required:!1,deprecated:!1},securityProtocol:{kind:"parameter",type:"string",defaultValue:"PLAINTEXT",description:"Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported",title:"Security Protocol",required:!1,deprecated:!1},sslCipherSuites:{kind:"parameter",type:"string",description:"A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol. By default, all the available cipher suites are supported.",title:"Ssl Cipher Suites",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"SSL configuration using a Camel SSLContextParameters object. If configured, it's applied before the other SSL endpoint parameters. NOTE: Kafka only supports loading keystore from file locations, so prefix the location with file: in the KeyStoreParameters.resource option.",title:"Ssl Context Parameters",required:!1,deprecated:!1},sslEnabledProtocols:{kind:"parameter",type:"string",description:"The list of protocols enabled for SSL connections. The default is TLSv1.2,TLSv1.3 when running with Java 11 or newer, TLSv1.2 otherwise. With the default value for Java 11, clients and servers will prefer TLSv1.3 if both support it and fallback to TLSv1.2 otherwise (assuming both support at least TLSv1.2). This default should be fine for most cases. Also see the config documentation for SslProtocol.",title:"Ssl Enabled Protocols",required:!1,deprecated:!1},sslEndpointAlgorithm:{kind:"parameter",type:"string",defaultValue:"https",description:"The endpoint identification algorithm to validate server hostname using server certificate. Use none or false to disable server hostname verification.",title:"Ssl Endpoint Algorithm",required:!1,deprecated:!1},sslKeymanagerAlgorithm:{kind:"parameter",type:"string",defaultValue:"SunX509",description:"The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine.",title:"Ssl Keymanager Algorithm",required:!1,deprecated:!1},sslKeyPassword:{kind:"parameter",type:"string",description:"The password of the private key in the key store file or the PEM key specified in sslKeystoreKey. This is required for clients only if two-way authentication is configured.",title:"Ssl Key Password",required:!1,deprecated:!1},sslKeystoreLocation:{kind:"parameter",type:"string",description:"The location of the key store file. This is optional for the client and can be used for two-way authentication for the client.",title:"Ssl Keystore Location",required:!1,deprecated:!1},sslKeystorePassword:{kind:"parameter",type:"string",description:"The store password for the key store file. This is optional for the client and only needed if sslKeystoreLocation is configured. Key store password is not supported for PEM format.",title:"Ssl Keystore Password",required:!1,deprecated:!1},sslKeystoreType:{kind:"parameter",type:"string",defaultValue:"JKS",description:"The file format of the key store file. This is optional for the client. The default value is JKS",title:"Ssl Keystore Type",required:!1,deprecated:!1},sslProtocol:{kind:"parameter",type:"string",description:"The SSL protocol used to generate the SSLContext. The default is TLSv1.3 when running with Java 11 or newer, TLSv1.2 otherwise. This value should be fine for most use cases. Allowed values in recent JVMs are TLSv1.2 and TLSv1.3. TLS, TLSv1.1, SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. With the default value for this config and sslEnabledProtocols, clients will downgrade to TLSv1.2 if the server does not support TLSv1.3. If this config is set to TLSv1.2, clients will not use TLSv1.3 even if it is one of the values in sslEnabledProtocols and the server only supports TLSv1.3.",title:"Ssl Protocol",required:!1,deprecated:!1},sslProvider:{kind:"parameter",type:"string",description:"The name of the security provider used for SSL connections. Default value is the default security provider of the JVM.",title:"Ssl Provider",required:!1,deprecated:!1},sslTrustmanagerAlgorithm:{kind:"parameter",type:"string",defaultValue:"PKIX",description:"The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine.",title:"Ssl Trustmanager Algorithm",required:!1,deprecated:!1},sslTruststoreLocation:{kind:"parameter",type:"string",description:"The location of the trust store file.",title:"Ssl Truststore Location",required:!1,deprecated:!1},sslTruststorePassword:{kind:"parameter",type:"string",description:"The password for the trust store file. If a password is not set, trust store file configured will still be used, but integrity checking is disabled. Trust store password is not supported for PEM format.",title:"Ssl Truststore Password",required:!1,deprecated:!1},sslTruststoreType:{kind:"parameter",type:"string",defaultValue:"JKS",description:"The file format of the trust store file. The default value is JKS.",title:"Ssl Truststore Type",required:!1,deprecated:!1}}},kamelet:{type:"object",title:"Kamelet",group:"core",icon:"generic24.png",description:"To call Kamelets",properties:{templateId:{kind:"path",type:"string",description:"The Route Template ID",title:"Template Id",required:!0,deprecated:!1},routeId:{kind:"path",type:"string",description:"The Route ID. Default value notice: The ID will be auto-generated if not provided",title:"Route Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},block:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If sending a message to a direct endpoint which has no active consumer, then we can tell the producer to block and wait for the consumer to become active.",title:"Block",required:!1,deprecated:!1},failIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the producer should fail by throwing an exception, when sending to a kamelet endpoint with no active consumers.",title:"Fail If No Consumers",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The timeout value to use if block is enabled.",title:"Timeout",required:!1,deprecated:!1},location:{kind:"parameter",type:"string",description:"Location of the Kamelet to use which can be specified as a resource from file system, classpath etc. The location cannot use wildcards, and must refer to a file including extension, for example file:/etc/foo-kamelet.xml",title:"Location",required:!1,deprecated:!1},noErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Kamelets, by default, will not do fine-grained error handling, but works in no-error-handler mode. This can be turned off, to use old behaviour in earlier versions of Camel.",title:"No Error Handler",required:!1,deprecated:!1}}},knative:{type:"object",title:"Knative",group:"cloud",icon:"generic24.png",description:"Send and receive events from Knative.",properties:{type:{kind:"path",type:"object",enum:["endpoint","channel","event"],description:"The Knative resource type",title:"Type",required:!1,deprecated:!1},typeId:{kind:"path",type:"string",description:"The identifier of the Knative resource",title:"Type Id",required:!1,deprecated:!1},ceOverride:{kind:"parameter",type:"object",description:"CloudEvent headers to override",title:"Ce Override",required:!1,deprecated:!1},cloudEventsSpecVersion:{kind:"parameter",type:"string",defaultValue:"1.0",enum:["1.0","1.0.1"],description:"Set the version of the cloudevents spec.",title:"Cloud Events Spec Version",required:!1,deprecated:!1},cloudEventsType:{kind:"parameter",type:"string",defaultValue:"org.apache.camel.event",description:"Set the event-type information of the produced events.",title:"Cloud Events Type",required:!1,deprecated:!1},environment:{kind:"parameter",type:"object",description:"The environment",title:"Environment",required:!1,deprecated:!1},filters:{kind:"parameter",type:"object",description:"Set the filters.",title:"Filters",required:!1,deprecated:!1},sinkBinding:{kind:"parameter",type:"object",description:"The SinkBinding configuration.",title:"Sink Binding",required:!1,deprecated:!1},transportOptions:{kind:"parameter",type:"object",description:"Set the transport options.",title:"Transport Options",required:!1,deprecated:!1},replyWithCloudEvent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Transforms the reply into a cloud event that will be processed by the caller. When listening to events from a Knative Broker, if this flag is enabled, replies will be published to the same Broker where the request comes from (beware that if you don't change the type of the received message, you may create a loop and receive your same reply). When this flag is disabled, CloudEvent headers are removed from the reply.",title:"Reply With Cloud Event",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},reply:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If the consumer should construct a full reply to knative request.",title:"Reply",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The version of the k8s resource referenced by the endpoint.",title:"Api Version",required:!1,deprecated:!1},kind:{kind:"parameter",type:"string",description:"The type of the k8s resource referenced by the endpoint.",title:"Kind",required:!1,deprecated:!1},name:{kind:"parameter",type:"string",description:"The name of the k8s resource referenced by the endpoint.",title:"Name",required:!1,deprecated:!1}}},"kubernetes-config-maps":{type:"object",title:"Kubernetes ConfigMap",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes ConfigMaps and get notified on ConfigMaps changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-cronjob":{type:"object",title:"Kubernetes Cronjob",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes CronJob.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-custom-resources":{type:"object",title:"Kubernetes Custom Resources",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Custom Resources and get notified on Deployment changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-deployments":{type:"object",title:"Kubernetes Deployments",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Deployments and get notified on Deployment changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-events":{type:"object",title:"Kubernetes Event",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Events and get notified on Events changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-hpa":{type:"object",title:"Kubernetes HPA",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Horizontal Pod Autoscalers (HPA) and get notified on HPA changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-job":{type:"object",title:"Kubernetes Job",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Jobs.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-namespaces":{type:"object",title:"Kubernetes Namespaces",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Namespaces and get notified on Namespace changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-nodes":{type:"object",title:"Kubernetes Nodes",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Nodes and get notified on Node changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-persistent-volumes":{type:"object",title:"Kubernetes Persistent Volume",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Persistent Volumes and get notified on Persistent Volume changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-persistent-volumes-claims":{type:"object",title:"Kubernetes Persistent Volume Claim",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Persistent Volumes Claims and get notified on Persistent Volumes Claim changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-pods":{type:"object",title:"Kubernetes Pods",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Pods and get notified on Pod changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-replication-controllers":{type:"object",title:"Kubernetes Replication Controller",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Replication Controllers and get notified on Replication Controllers changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-resources-quota":{type:"object",title:"Kubernetes Resources Quota",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Resources Quotas.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-secrets":{type:"object",title:"Kubernetes Secrets",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Secrets.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-service-accounts":{type:"object",title:"Kubernetes Service Account",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Service Accounts.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"kubernetes-services":{type:"object",title:"Kubernetes Services",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Kubernetes Services and get notified on Service changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},kudu:{type:"object",title:"Kudu",group:"database,iot,cloud",icon:"generic24.png",description:"Interact with Apache Kudu, a free and open source column-oriented data store of the Apache Hadoop ecosystem.",properties:{host:{kind:"path",type:"string",description:"Host of the server to connect to",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"string",description:"Port of the server to connect to",title:"Port",required:!1,deprecated:!1},tableName:{kind:"path",type:"string",description:"Table to connect to",title:"Table Name",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["INSERT","DELETE","UPDATE","UPSERT","CREATE_TABLE","SCAN"],description:"Operation to perform",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},language:{type:"object",title:"Language",group:"core,script",icon:"generic24.png",description:"Execute scripts in any of the languages supported by Camel.",properties:{languageName:{kind:"path",type:"string",enum:["bean","constant","csimple","datasonnet","exchangeProperty","file","groovy","header","hl7terser","java","joor","jq","jsonpath","mvel","ognl","ref","simple","spel","sql","tokenize","xpath","xquery","xtokenize"],description:"Sets the name of the language to use",title:"Language Name",required:!0,deprecated:!1},resourceUri:{kind:"path",type:"string",description:"Path to the resource, or a reference to lookup a bean in the Registry to use as the resource",title:"Resource Uri",required:!1,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},binary:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the script is binary content or text content. By default the script is read as text content (eg java.lang.String)",title:"Binary",required:!1,deprecated:!1},cacheScript:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to cache the compiled script and reuse Notice reusing the script can cause side effects from processing one Camel org.apache.camel.Exchange to the next org.apache.camel.Exchange.",title:"Cache Script",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},resultType:{kind:"parameter",type:"string",description:"Sets the class of the result type (type from output)",title:"Result Type",required:!1,deprecated:!1},script:{kind:"parameter",type:"string",description:"Sets the script to execute",title:"Script",required:!1,deprecated:!1},transform:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not the result of the script should be used as message body. This options is default true.",title:"Transform",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},ldap:{type:"object",title:"LDAP",group:"database,security",icon:"generic24.png",description:"Perform searches on LDAP servers.",properties:{dirContextName:{kind:"path",type:"string",description:"Name of either a javax.naming.directory.DirContext, or java.util.Hashtable, or Map bean to lookup in the registry. If the bean is either a Hashtable or Map then a new javax.naming.directory.DirContext instance is created for each use. If the bean is a javax.naming.directory.DirContext then the bean is used as given. The latter may not be possible in all situations where the javax.naming.directory.DirContext must not be shared, and in those situations it can be better to use java.util.Hashtable or Map instead.",title:"Dir Context Name",required:!0,deprecated:!1},base:{kind:"parameter",type:"string",defaultValue:"ou=system",description:"The base DN for searches.",title:"Base",required:!1,deprecated:!1},pageSize:{kind:"parameter",type:"integer",description:"When specified the ldap module uses paging to retrieve all results (most LDAP Servers throw an exception when trying to retrieve more than 1000 entries in one query). To be able to use this a LdapContext (subclass of DirContext) has to be passed in as ldapServerBean (otherwise an exception is thrown)",title:"Page Size",required:!1,deprecated:!1},returnedAttributes:{kind:"parameter",type:"string",description:"Comma-separated list of attributes that should be set in each entry of the result",title:"Returned Attributes",required:!1,deprecated:!1},scope:{kind:"parameter",type:"string",defaultValue:"subtree",enum:["object","onelevel","subtree"],description:"Specifies how deeply to search the tree of entries, starting at the base DN.",title:"Scope",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},ldif:{type:"object",title:"LDIF",group:"database,security",icon:"generic24.png",description:"Perform updates on an LDAP server from an LDIF body content.",properties:{ldapConnectionName:{kind:"path",type:"string",description:"The name of the LdapConnection bean to pull from the registry. Note that this must be of scope prototype to avoid it being shared among threads or using a connection that has timed out.",title:"Ldap Connection Name",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},log:{type:"object",title:"Log",group:"core,monitoring",icon:"log24.png",description:"Log messages to the underlying logging mechanism.",properties:{loggerName:{kind:"path",type:"string",description:"Name of the logging category to use",title:"Logger Name",required:!0,deprecated:!1},groupActiveOnly:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If true, will hide stats when no new messages have been received for a time interval, if false, show stats regardless of message traffic.",title:"Group Active Only",required:!1,deprecated:!1},groupDelay:{kind:"parameter",type:"integer",description:"Set the initial delay for stats (in millis)",title:"Group Delay",required:!1,deprecated:!1},groupInterval:{kind:"parameter",type:"integer",description:"If specified will group message stats by this time interval (in millis)",title:"Group Interval",required:!1,deprecated:!1},groupSize:{kind:"parameter",type:"integer",description:"An integer that specifies a group size for throughput logging.",title:"Group Size",required:!1,deprecated:!1},level:{kind:"parameter",type:"string",defaultValue:"INFO",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level to use. The default value is INFO.",title:"Level",required:!1,deprecated:!1},logMask:{kind:"parameter",type:"boolean",description:"If true, mask sensitive information like password or passphrase in the log.",title:"Log Mask",required:!1,deprecated:!1},marker:{kind:"parameter",type:"string",description:"An optional Marker name to use.",title:"Marker",required:!1,deprecated:!1},plain:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled only the body will be printed out",title:"Plain",required:!1,deprecated:!1},sourceLocationLoggerName:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled then the source location of where the log endpoint is used in Camel routes, would be used as logger name, instead of the given name. However, if the source location is disabled or not possible to resolve then the existing logger name will be used.",title:"Source Location Logger Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},exchangeFormatter:{kind:"parameter",type:"object",description:"To use a custom exchange formatter",title:"Exchange Formatter",required:!1,deprecated:!1},maxChars:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Limits the number of characters logged per line.",title:"Max Chars",required:!1,deprecated:!1},multiline:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled then each information is outputted on a newline.",title:"Multiline",required:!1,deprecated:!1},showAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Quick option for turning all options on. (multiline, maxChars has to be manually set if to be used)",title:"Show All",required:!1,deprecated:!1},showAllProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show all of the exchange properties (both internal and custom).",title:"Show All Properties",required:!1,deprecated:!1},showBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Show the message body.",title:"Show Body",required:!1,deprecated:!1},showBodyType:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Show the body Java type.",title:"Show Body Type",required:!1,deprecated:!1},showCachedStreams:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether Camel should show cached stream bodies or not (org.apache.camel.StreamCache).",title:"Show Cached Streams",required:!1,deprecated:!1},showCaughtException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the exchange has a caught exception, show the exception message (no stack trace). A caught exception is stored as a property on the exchange (using the key org.apache.camel.Exchange#EXCEPTION_CAUGHT) and for instance a doCatch can catch exceptions.",title:"Show Caught Exception",required:!1,deprecated:!1},showException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the exchange has an exception, show the exception message (no stacktrace)",title:"Show Exception",required:!1,deprecated:!1},showExchangeId:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show the unique exchange ID.",title:"Show Exchange Id",required:!1,deprecated:!1},showExchangePattern:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Shows the Message Exchange Pattern (or MEP for short).",title:"Show Exchange Pattern",required:!1,deprecated:!1},showFiles:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled Camel will output files",title:"Show Files",required:!1,deprecated:!1},showFuture:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled Camel will on Future objects wait for it to complete to obtain the payload to be logged.",title:"Show Future",required:!1,deprecated:!1},showHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show the message headers.",title:"Show Headers",required:!1,deprecated:!1},showProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show the exchange properties (only custom). Use showAllProperties to show both internal and custom properties.",title:"Show Properties",required:!1,deprecated:!1},showRouteGroup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show route Group.",title:"Show Route Group",required:!1,deprecated:!1},showRouteId:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show route ID.",title:"Show Route Id",required:!1,deprecated:!1},showStackTrace:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show the stack trace, if an exchange has an exception. Only effective if one of showAll, showException or showCaughtException are enabled.",title:"Show Stack Trace",required:!1,deprecated:!1},showStreams:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether Camel should show stream bodies or not (eg such as java.io.InputStream). Beware if you enable this option then you may not be able later to access the message body as the stream have already been read by this logger. To remedy this you will have to use Stream Caching.",title:"Show Streams",required:!1,deprecated:!1},showVariables:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show the variables.",title:"Show Variables",required:!1,deprecated:!1},skipBodyLineSeparator:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to skip line separators when logging the message body. This allows to log the message body in one line, setting this option to false will preserve any line separators from the body, which then will log the body as is.",title:"Skip Body Line Separator",required:!1,deprecated:!1},style:{kind:"parameter",type:"object",defaultValue:"Default",enum:["Default","Tab","Fixed"],description:"Sets the outputs style to use.",title:"Style",required:!1,deprecated:!1}}},lpr:{type:"object",title:"Printer",group:"document",icon:"generic24.png",description:"Send print jobs to printers.",properties:{hostname:{kind:"path",type:"string",description:"Hostname of the printer",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number of the printer",title:"Port",required:!1,deprecated:!1},printername:{kind:"path",type:"string",description:"Name of the printer",title:"Printername",required:!1,deprecated:!1},copies:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of copies to print",title:"Copies",required:!1,deprecated:!1},docFlavor:{kind:"parameter",type:"object",description:"Sets DocFlavor to use.",title:"Doc Flavor",required:!1,deprecated:!1},flavor:{kind:"parameter",type:"string",description:"Sets DocFlavor to use.",title:"Flavor",required:!1,deprecated:!1},mediaSize:{kind:"parameter",type:"string",defaultValue:"na-letter",description:"Sets the stationary as defined by enumeration names in the javax.print.attribute.standard.MediaSizeName API. The default setting is to use North American Letter sized stationary. The value's case is ignored, e.g. values of iso_a4 and ISO_A4 may be used.",title:"Media Size",required:!1,deprecated:!1},mediaTray:{kind:"parameter",type:"string",description:"Sets MediaTray supported by the javax.print.DocFlavor API, for example upper,middle etc.",title:"Media Tray",required:!1,deprecated:!1},mimeType:{kind:"parameter",type:"string",description:"Sets mimeTypes supported by the javax.print.DocFlavor API",title:"Mime Type",required:!1,deprecated:!1},orientation:{kind:"parameter",type:"string",defaultValue:"portrait",enum:["portrait","landscape","reverse-portrait","reverse-landscape"],description:"Sets the page orientation.",title:"Orientation",required:!1,deprecated:!1},printerPrefix:{kind:"parameter",type:"string",description:"Sets the prefix name of the printer, it is useful when the printer name does not start with //hostname/printer",title:"Printer Prefix",required:!1,deprecated:!1},sendToPrinter:{kind:"parameter",type:"boolean",defaultValue:"true",description:"etting this option to false prevents sending of the print data to the printer",title:"Send To Printer",required:!1,deprecated:!1},sides:{kind:"parameter",type:"string",defaultValue:"one-sided",enum:["one-sided","duplex","tumble","two-sided-short-edge","two-sided-long-edge"],description:"Sets one sided or two sided printing based on the javax.print.attribute.standard.Sides API",title:"Sides",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},lucene:{type:"object",title:"Lucene",group:"database,search",icon:"generic24.png",description:"Perform inserts or queries against Apache Lucene databases.",properties:{host:{kind:"path",type:"string",description:"The URL to the lucene server",title:"Host",required:!0,deprecated:!1},operation:{kind:"path",type:"object",enum:["insert","query"],description:"Operation to do such as insert or query.",title:"Operation",required:!0,deprecated:!1},analyzer:{kind:"parameter",type:"object",description:"An Analyzer builds TokenStreams, which analyze text. It thus represents a policy for extracting index terms from text. The value for analyzer can be any class that extends the abstract class org.apache.lucene.analysis.Analyzer. Lucene also offers a rich set of analyzers out of the box",title:"Analyzer",required:!1,deprecated:!1},indexDir:{kind:"parameter",type:"string",description:"A file system directory in which index files are created upon analysis of the document by the specified analyzer",title:"Index Dir",required:!1,deprecated:!1},maxHits:{kind:"parameter",type:"integer",description:"An integer value that limits the result set of the search operation",title:"Max Hits",required:!1,deprecated:!1},srcDir:{kind:"parameter",type:"string",description:"An optional directory containing files to be used to be analyzed and added to the index at producer startup.",title:"Src Dir",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},lumberjack:{type:"object",title:"Lumberjack",group:"monitoring",icon:"generic24.png",description:"Receive logs messages using the Lumberjack protocol.",properties:{host:{kind:"path",type:"string",description:"Network interface on which to listen for Lumberjack",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"5044",description:"Network port on which to listen for Lumberjack",title:"Port",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"SSL configuration",title:"Ssl Context Parameters",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},mapstruct:{type:"object",title:"MapStruct",group:"transformation",icon:"generic24.png",description:"Type Conversion using Mapstruct",properties:{className:{kind:"path",type:"string",description:"The fully qualified class name of the POJO that mapstruct should convert to (target)",title:"Class Name",required:!0,deprecated:!1},mandatory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether there must exist a mapstruct converter to convert to the POJO.",title:"Mandatory",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},master:{type:"object",title:"Master",group:"clustering",icon:"generic24.png",description:"Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.",properties:{namespace:{kind:"path",type:"string",description:"The name of the cluster namespace to use",title:"Namespace",required:!0,deprecated:!1},delegateUri:{kind:"path",type:"string",description:"The endpoint uri to use in master/slave mode",title:"Delegate Uri",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},metrics:{type:"object",title:"Metrics",group:"monitoring",icon:"generic24.png",description:"Collect various metrics directly from Camel routes using the DropWizard metrics library.",properties:{metricsType:{kind:"path",type:"object",enum:["gauge","counter","histogram","meter","timer"],description:"Type of metrics",title:"Metrics Type",required:!0,deprecated:!1},metricsName:{kind:"path",type:"string",description:"Name of metrics",title:"Metrics Name",required:!0,deprecated:!1},action:{kind:"parameter",type:"object",enum:["start","stop"],description:"Action when using timer type",title:"Action",required:!1,deprecated:!1},decrement:{kind:"parameter",type:"integer",description:"Decrement value when using counter type",title:"Decrement",required:!1,deprecated:!1},increment:{kind:"parameter",type:"integer",description:"Increment value when using counter type",title:"Increment",required:!1,deprecated:!1},mark:{kind:"parameter",type:"integer",description:"Mark when using meter type",title:"Mark",required:!1,deprecated:!1},subject:{kind:"parameter",type:"object",description:"Subject value when using gauge type",title:"Subject",required:!1,deprecated:!1},value:{kind:"parameter",type:"integer",description:"Value value when using histogram type",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},micrometer:{type:"object",title:"Micrometer",group:"monitoring",icon:"generic24.png",description:"Collect various metrics directly from Camel routes using the Micrometer library.",properties:{metricsType:{kind:"path",type:"object",enum:["counter","summary","timer"],description:"Type of metrics",title:"Metrics Type",required:!0,deprecated:!1},metricsName:{kind:"path",type:"string",description:"Name of metrics",title:"Metrics Name",required:!0,deprecated:!1},tags:{kind:"path",type:"object",description:"Tags of metrics",title:"Tags",required:!1,deprecated:!1},action:{kind:"parameter",type:"string",enum:["start","stop"],description:"Action expression when using timer type",title:"Action",required:!1,deprecated:!1},decrement:{kind:"parameter",type:"string",description:"Decrement value expression when using counter type",title:"Decrement",required:!1,deprecated:!1},increment:{kind:"parameter",type:"string",description:"Increment value expression when using counter type",title:"Increment",required:!1,deprecated:!1},metricsDescription:{kind:"parameter",type:"string",description:"Description of metrics",title:"Metrics Description",required:!1,deprecated:!1},value:{kind:"parameter",type:"string",description:"Value expression when using histogram type",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},mina:{type:"object",title:"Mina",group:"networking",icon:"generic24.png",description:"Socket level networking using TCP or UDP with Apache Mina 2.x.",properties:{protocol:{kind:"path",type:"string",description:"Protocol to use",title:"Protocol",required:!0,deprecated:!1},host:{kind:"path",type:"string",description:"Hostname to use. Use localhost or 0.0.0.0 for local server as consumer. For producer use the hostname or ip address of the remote server.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number",title:"Port",required:!0,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to disconnect(close) from Mina session right after use. Can be used for both consumer and producer.",title:"Disconnect",required:!1,deprecated:!1},minaLogger:{kind:"parameter",type:"boolean",defaultValue:"false",description:"You can enable the Apache MINA logging filter. Apache MINA uses slf4j logging at INFO level to log all input and output.",title:"Mina Logger",required:!1,deprecated:!1},sync:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to set endpoint as one-way or request-response.",title:"Sync",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"You can configure the timeout that specifies how long to wait for a response from a remote server. The timeout unit is in milliseconds, so 60000 is 60 seconds.",title:"Timeout",required:!1,deprecated:!1},writeTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Maximum amount of time it should take to send data to the MINA session. Default is 10000 milliseconds.",title:"Write Timeout",required:!1,deprecated:!1},clientMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the clientMode is true, mina consumer will connect the address as a TCP client.",title:"Client Mode",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},noReplyLogLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If sync is enabled this option dictates MinaConsumer which logging level to use when logging a there is no reply to send back.",title:"No Reply Log Level",required:!1,deprecated:!1},cachedAddress:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to create the InetAddress once and reuse. Setting this to false allows to pickup DNS changes in the network.",title:"Cached Address",required:!1,deprecated:!1},lazySessionCreation:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sessions can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started.",title:"Lazy Session Creation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},disconnectOnNoReply:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If sync is enabled then this option dictates MinaConsumer if it should disconnect where there is no reply to send back.",title:"Disconnect On No Reply",required:!1,deprecated:!1},maximumPoolSize:{kind:"parameter",type:"integer",defaultValue:"16",description:"Number of worker threads in the worker pool for TCP and UDP",title:"Maximum Pool Size",required:!1,deprecated:!1},orderedThreadPoolExecutor:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use ordered thread pool, to ensure events are processed orderly on the same channel.",title:"Ordered Thread Pool Executor",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP. You can transfer the exchange over the wire instead of just the body. The following fields are transferred: In body, Out body, fault body, In headers, Out headers, fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Transfer Exchange",required:!1,deprecated:!1},allowDefaultCodec:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The mina component installs a default codec if both, codec is null and textline is false. Setting allowDefaultCodec to false prevents the mina component from installing a default codec as the first element in the filter chain. This is useful in scenarios where another filter must be the first in the filter chain, like the SSL filter.",title:"Allow Default Codec",required:!1,deprecated:!1},codec:{kind:"parameter",type:"object",description:"To use a custom minda codec implementation.",title:"Codec",required:!1,deprecated:!1},decoderMaxLineLength:{kind:"parameter",type:"integer",defaultValue:"1024",description:"To set the textline protocol decoder max line length. By default the default value of Mina itself is used which are 1024.",title:"Decoder Max Line Length",required:!1,deprecated:!1},encoderMaxLineLength:{kind:"parameter",type:"integer",defaultValue:"-1",description:"To set the textline protocol encoder max line length. By default the default value of Mina itself is used which are Integer.MAX_VALUE.",title:"Encoder Max Line Length",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided, Camel will use the JVM default Charset",title:"Encoding",required:!1,deprecated:!1},filters:{kind:"parameter",type:"array",description:"You can set a list of Mina IoFilters to use.",title:"Filters",required:!1,deprecated:!1},textline:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; if not specified or the value is false, then Object Serialization is assumed over TCP.",title:"Textline",required:!1,deprecated:!1},textlineDelimiter:{kind:"parameter",type:"object",enum:["DEFAULT","AUTO","UNIX","WINDOWS","MAC"],description:"Only used for TCP and if textline=true. Sets the text line delimiter to use. If none provided, Camel will use DEFAULT. This delimiter is used to mark the end of text.",title:"Textline Delimiter",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure SSL security.",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},minio:{type:"object",title:"Minio",group:"cloud,file",icon:"generic24.png",description:"Store and retrieve objects from Minio Storage Service using Minio SDK.",properties:{bucketName:{kind:"path",type:"string",description:"Bucket name",title:"Bucket Name",required:!0,deprecated:!1},autoCreateBucket:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting the autocreation of the bucket if bucket name not exist.",title:"Auto Create Bucket",required:!1,deprecated:!1},customHttpClient:{kind:"parameter",type:"object",description:"Set custom HTTP client for authenticated access.",title:"Custom Http Client",required:!1,deprecated:!1},endpoint:{kind:"parameter",type:"string",description:"Endpoint can be an URL, domain name, IPv4 address or IPv6 address.",title:"Endpoint",required:!1,deprecated:!1},minioClient:{kind:"parameter",type:"object",description:"Reference to a Minio Client object in the registry.",title:"Minio Client",required:!1,deprecated:!1},objectLock:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set when creating new bucket.",title:"Object Lock",required:!1,deprecated:!1},policy:{kind:"parameter",type:"string",description:"The policy for this queue to set in the method.",title:"Policy",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"TCP/IP port number. 80 and 443 are used as defaults for HTTP and HTTPS.",title:"Proxy Port",required:!1,deprecated:!1},region:{kind:"parameter",type:"string",description:"The region in which Minio client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1). You'll need to use the name Region.EU_WEST_1.id()",title:"Region",required:!1,deprecated:!1},secure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flag to indicate to use secure connection to minio service or not.",title:"Secure",required:!1,deprecated:!1},serverSideEncryption:{kind:"parameter",type:"object",description:"Server-side encryption.",title:"Server Side Encryption",required:!1,deprecated:!1},serverSideEncryptionCustomerKey:{kind:"parameter",type:"object",description:"Server-side encryption for source object while copy/move objects.",title:"Server Side Encryption Customer Key",required:!1,deprecated:!1},autoCloseBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true and includeBody is true, then the MinioObject.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the MinioObject stream. Setting autocloseBody to true, will close the MinioObject stream automatically.",title:"Auto Close Body",required:!1,deprecated:!1},bypassGovernanceMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this flag if you want to bypassGovernanceMode when deleting a particular object.",title:"Bypass Governance Mode",required:!1,deprecated:!1},deleteAfterRead:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Delete objects from Minio after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. Therefore you need to use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the MinioConstants#BUCKET_NAME and MinioConstants#OBJECT_NAME headers, or only the MinioConstants#OBJECT_NAME header.",title:"Delete After Read",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"string",description:"The delimiter which is used in the ListObjectsRequest to only consume objects we are interested in.",title:"Delimiter",required:!1,deprecated:!1},destinationBucketName:{kind:"parameter",type:"string",description:"Destination bucket name.",title:"Destination Bucket Name",required:!1,deprecated:!1},destinationObjectName:{kind:"parameter",type:"string",description:"Destination object name.",title:"Destination Object Name",required:!1,deprecated:!1},includeBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If it is true, the exchange body will be set to a stream to the contents of the file. If false, the headers will be set with the Minio object metadata, but the body will be null. This option is strongly related to autocloseBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the MinioObject stream. Setting autocloseBody to true, will close the MinioObject stream automatically.",title:"Include Body",required:!1,deprecated:!1},includeFolders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"The flag which is used in the ListObjectsRequest to set include folders.",title:"Include Folders",required:!1,deprecated:!1},includeUserMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"The flag which is used in the ListObjectsRequest to get objects with user meta data.",title:"Include User Metadata",required:!1,deprecated:!1},includeVersions:{kind:"parameter",type:"boolean",defaultValue:"false",description:"The flag which is used in the ListObjectsRequest to get objects with versioning.",title:"Include Versions",required:!1,deprecated:!1},length:{kind:"parameter",type:"integer",description:"Number of bytes of object data from offset.",title:"Length",required:!1,deprecated:!1},matchETag:{kind:"parameter",type:"string",description:"Set match ETag parameter for get object(s).",title:"Match ETag",required:!1,deprecated:!1},maxConnections:{kind:"parameter",type:"integer",defaultValue:"60",description:"Set the maxConnections parameter in the minio client configuration",title:"Max Connections",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"10",description:"Gets the maximum number of messages as a limit to poll at each polling. Gets the maximum number of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative number to set it as unlimited.",title:"Max Messages Per Poll",required:!1,deprecated:!1},modifiedSince:{kind:"parameter",type:"object",description:"Set modified since parameter for get object(s).",title:"Modified Since",required:!1,deprecated:!1},moveAfterRead:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Move objects from bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved.",title:"Move After Read",required:!1,deprecated:!1},notMatchETag:{kind:"parameter",type:"string",description:"Set not match ETag parameter for get object(s).",title:"Not Match ETag",required:!1,deprecated:!1},objectName:{kind:"parameter",type:"string",description:"To get the object from the bucket with the given object name.",title:"Object Name",required:!1,deprecated:!1},offset:{kind:"parameter",type:"integer",description:"Start byte position of object data.",title:"Offset",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"string",description:"Object name starts with prefix.",title:"Prefix",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"List recursively than directory structure emulation.",title:"Recursive",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},startAfter:{kind:"parameter",type:"string",description:"list objects in bucket after this object name.",title:"Start After",required:!1,deprecated:!1},unModifiedSince:{kind:"parameter",type:"object",description:"Set un modified since parameter for get object(s).",title:"Un Modified Since",required:!1,deprecated:!1},useVersion1:{kind:"parameter",type:"boolean",defaultValue:"false",description:"when true, version 1 of REST API is used.",title:"Use Version1",required:!1,deprecated:!1},versionId:{kind:"parameter",type:"string",description:"Set specific version_ID of a object when deleting the object.",title:"Version Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},deleteAfterWrite:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Delete file object after the Minio file has been uploaded.",title:"Delete After Write",required:!1,deprecated:!1},keyName:{kind:"parameter",type:"string",description:"Setting the key name for an element in the bucket through endpoint parameter.",title:"Key Name",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["copyObject","listObjects","deleteObject","deleteObjects","deleteBucket","listBuckets","getObject","getObjectRange","createDownloadLink","createUploadLink"],description:"The operation to do in case the user don't want to do only an upload.",title:"Operation",required:!1,deprecated:!1},pojoRequest:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If we want to use a POJO request as body or not.",title:"Pojo Request",required:!1,deprecated:!1},storageClass:{kind:"parameter",type:"string",description:"The storage class to set in the request.",title:"Storage Class",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Amazon AWS Secret Access Key or Minio Access Key. If not set camel will connect to service for anonymous access.",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Amazon AWS Access Key Id or Minio Secret Key. If not set camel will connect to service for anonymous access.",title:"Secret Key",required:!1,deprecated:!1}}},mllp:{type:"object",title:"MLLP",group:"HEALTH",icon:"generic24.png",description:"Communicate with external systems using the MLLP protocol.",properties:{hostname:{kind:"path",type:"string",description:"Hostname or IP for connection for the TCP connection. The default value is null, which means any local IP address",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number for the TCP connection",title:"Port",required:!0,deprecated:!1},autoAck:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/Disable the automatic generation of a MLLP Acknowledgement MLLP Consumers only",title:"Auto Ack",required:!1,deprecated:!1},charsetName:{kind:"parameter",type:"string",description:"Sets the default charset to use",title:"Charset Name",required:!1,deprecated:!1},hl7Headers:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/Disable the automatic generation of message headers from the HL7 Message MLLP Consumers only",title:"Hl7 Headers",required:!1,deprecated:!1},requireEndOfData:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/Disable strict compliance to the MLLP standard. The MLLP standard specifies START_OF_BLOCKhl7 payloadEND_OF_BLOCKEND_OF_DATA, however, some systems do not send the final END_OF_DATA byte. This setting controls whether or not the final END_OF_DATA byte is required or optional.",title:"Require End Of Data",required:!1,deprecated:!1},stringPayload:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/Disable converting the payload to a String. If enabled, HL7 Payloads received from external systems will be validated converted to a String. If the charsetName property is set, that character set will be used for the conversion. If the charsetName property is not set, the value of MSH-18 will be used to determine th appropriate character set. If MSH-18 is not set, then the default ISO-8859-1 character set will be use.",title:"String Payload",required:!1,deprecated:!1},validatePayload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable/Disable the validation of HL7 Payloads If enabled, HL7 Payloads received from external systems will be validated (see Hl7Util.generateInvalidPayloadExceptionMessage for details on the validation). If and invalid payload is detected, a MllpInvalidMessageException (for consumers) or a MllpInvalidAcknowledgementException will be thrown.",title:"Validate Payload",required:!1,deprecated:!1},acceptTimeout:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Timeout (in milliseconds) while waiting for a TCP connection TCP Server Only",title:"Accept Timeout",required:!1,deprecated:!1},backlog:{kind:"parameter",type:"integer",defaultValue:"5",description:"The maximum queue length for incoming connection indications (a request to connect) is set to the backlog parameter. If a connection indication arrives when the queue is full, the connection is refused.",title:"Backlog",required:!1,deprecated:!1},bindRetryInterval:{kind:"parameter",type:"integer",defaultValue:"5000",description:"TCP Server Only - The number of milliseconds to wait between bind attempts",title:"Bind Retry Interval",required:!1,deprecated:!1},bindTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"TCP Server Only - The number of milliseconds to retry binding to a server port",title:"Bind Timeout",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to receive incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. If disabled, the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions by logging them at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},lenientBind:{kind:"parameter",type:"boolean",defaultValue:"false",description:"TCP Server Only - Allow the endpoint to start before the TCP ServerSocket is bound. In some environments, it may be desirable to allow the endpoint to start before the TCP ServerSocket is bound.",title:"Lenient Bind",required:!1,deprecated:!1},maxConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"5",description:"The maximum number of concurrent MLLP Consumer connections that will be allowed. If a new connection is received and the maximum is number are already established, the new connection will be reset immediately.",title:"Max Concurrent Consumers",required:!1,deprecated:!1},reuseAddress:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable/disable the SO_REUSEADDR socket option.",title:"Reuse Address",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",defaultValue:"InOut",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Timeout (in milliseconds) for establishing for a TCP connection TCP Client only",title:"Connect Timeout",required:!1,deprecated:!1},idleTimeoutStrategy:{kind:"parameter",type:"object",defaultValue:"RESET",enum:["RESET","CLOSE"],description:"decide what action to take when idle timeout occurs. Possible values are : RESET: set SO_LINGER to 0 and reset the socket CLOSE: close the socket gracefully default is RESET.",title:"Idle Timeout Strategy",required:!1,deprecated:!1},keepAlive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/disable the SO_KEEPALIVE socket option.",title:"Keep Alive",required:!1,deprecated:!1},tcpNoDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enable/disable the TCP_NODELAY socket option.",title:"Tcp No Delay",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},maxBufferSize:{kind:"parameter",type:"integer",defaultValue:"1073741824",description:"Maximum buffer size used when receiving or sending data over the wire.",title:"Max Buffer Size",required:!1,deprecated:!1},minBufferSize:{kind:"parameter",type:"integer",defaultValue:"2048",description:"Minimum buffer size used when receiving or sending data over the wire.",title:"Min Buffer Size",required:!1,deprecated:!1},readTimeout:{kind:"parameter",type:"integer",defaultValue:"5000",description:"The SO_TIMEOUT value (in milliseconds) used after the start of an MLLP frame has been received",title:"Read Timeout",required:!1,deprecated:!1},receiveBufferSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Sets the SO_RCVBUF option to the specified value (in bytes)",title:"Receive Buffer Size",required:!1,deprecated:!1},receiveTimeout:{kind:"parameter",type:"integer",defaultValue:"15000",description:"The SO_TIMEOUT value (in milliseconds) used when waiting for the start of an MLLP frame",title:"Receive Timeout",required:!1,deprecated:!1},sendBufferSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"Sets the SO_SNDBUF option to the specified value (in bytes)",title:"Send Buffer Size",required:!1,deprecated:!1},idleTimeout:{kind:"parameter",type:"integer",description:"The approximate idle time allowed before the Client TCP Connection will be reset. A null value or a value less than or equal to zero will disable the idle timeout.",title:"Idle Timeout",required:!1,deprecated:!1}}},mock:{type:"object",title:"Mock",group:"core,testing",icon:"generic24.png",description:"Test routes and mediation rules using mocks.",properties:{name:{kind:"path",type:"string",description:"Name of mock endpoint",title:"Name",required:!0,deprecated:!1},assertPeriod:{kind:"parameter",type:"duration",description:"Sets a grace period after which the mock endpoint will re-assert to ensure the preliminary assertion is still valid. This is used for example to assert that exactly a number of messages arrives. For example if expected count was set to 5, then the assertion is satisfied when 5 or more message arrives. To ensure that exactly 5 messages arrives, then you would need to wait a little period to ensure no further message arrives. This is what you can use this method for. By default this period is disabled.",title:"Assert Period",required:!1,deprecated:!1},expectedCount:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages, then take extra care, as 0 matches when the tests starts, so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use setAssertPeriod(long). An alternative is to use NotifyBuilder, and use the notifier to know when Camel is done routing some messages, before you call the assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period, to speedup testing times. If you want to assert that exactly nth message arrives to this mock endpoint, then see also the setAssertPeriod(long) method for further details.",title:"Expected Count",required:!1,deprecated:!1},failFast:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether assertIsSatisfied() should fail fast at the first detected failed expectation while it may otherwise wait for all expected messages to arrive before performing expectations verifications. Is by default true. Set to false to use behavior as in Camel 2.x.",title:"Fail Fast",required:!1,deprecated:!1},log:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To turn on logging when the mock receives an incoming message. This will log only one time at INFO level for the incoming message. For more detailed logging then set the logger to DEBUG level for the org.apache.camel.component.mock.MockEndpoint class.",title:"Log",required:!1,deprecated:!1},reportGroup:{kind:"parameter",type:"integer",description:"A number that is used to turn on throughput logging based on groups of the size.",title:"Report Group",required:!1,deprecated:!1},resultMinimumWaitTime:{kind:"parameter",type:"duration",description:"Sets the minimum expected amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Minimum Wait Time",required:!1,deprecated:!1},resultWaitTime:{kind:"parameter",type:"duration",description:"Sets the maximum amount of time (in millis) the assertIsSatisfied() will wait on a latch until it is satisfied",title:"Result Wait Time",required:!1,deprecated:!1},retainFirst:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the first nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the first 10 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain First",required:!1,deprecated:!1},retainLast:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies to only retain the last nth number of received Exchanges. This is used when testing with big data, to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation, then the getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges, and have configured to only retain the last 20 Exchanges, then the getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the getExchanges() and getReceivedExchanges() methods. When using this method, then some of the other expectation methods is not supported, for example the expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both setRetainFirst(int) and setRetainLast(int) methods, to limit both the first and last received.",title:"Retain Last",required:!1,deprecated:!1},sleepForEmptyTest:{kind:"parameter",type:"duration",description:"Allows a sleep to be specified to wait to check that this endpoint really is empty when expectedMessageCount(int) is called with zero",title:"Sleep For Empty Test",required:!1,deprecated:!1},copyOnExchange:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to make a deep copy of the incoming Exchange when received at this mock endpoint. Is by default true.",title:"Copy On Exchange",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},mongodb:{type:"object",title:"MongoDB",group:"database",icon:"generic24.png",description:"Perform operations on MongoDB documents and collections.",properties:{connectionBean:{kind:"path",type:"string",description:"Sets the connection bean reference used to lookup a client for connecting to a database if no hosts parameter is present.",title:"Connection Bean",required:!0,deprecated:!1},collection:{kind:"parameter",type:"string",description:"Sets the name of the MongoDB collection to bind to this endpoint",title:"Collection",required:!1,deprecated:!1},collectionIndex:{kind:"parameter",type:"string",description:"Sets the collection index (JSON FORMAT : { field1 : order1, field2 : order2})",title:"Collection Index",required:!1,deprecated:!1},createCollection:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Create collection during initialisation if it doesn't exist. Default is true.",title:"Create Collection",required:!1,deprecated:!1},database:{kind:"parameter",type:"string",description:"Sets the name of the MongoDB database to target",title:"Database",required:!1,deprecated:!1},hosts:{kind:"parameter",type:"string",description:"Host address of mongodb server in host:port format. It's possible also use more than one address, as comma separated list of hosts: host1:port1,host2:port2. If the hosts parameter is specified, the provided connectionBean is ignored.",title:"Hosts",required:!1,deprecated:!1},mongoConnection:{kind:"parameter",type:"object",description:"Sets the connection bean used as a client for connecting to a database.",title:"Mongo Connection",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["findById","findOneByQuery","findAll","findDistinct","insert","save","update","remove","bulkWrite","aggregate","getDbStats","getColStats","count","command"],description:"Sets the operation this endpoint will execute against MongoDB.",title:"Operation",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",enum:["DocumentList","Document","MongoIterable"],description:"Convert the output of the producer to the selected type : DocumentList Document or MongoIterable. DocumentList or MongoIterable applies to findAll and aggregate. Document applies to all other operations.",title:"Output Type",required:!1,deprecated:!1},consumerType:{kind:"parameter",type:"string",description:"Consumer type.",title:"Consumer Type",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionUriString:{kind:"parameter",type:"string",description:"Set the whole Connection String/Uri for mongodb endpoint.",title:"Connection Uri String",required:!1,deprecated:!1},appName:{kind:"parameter",type:"string",description:"Sets the logical name of the application. The application name may be used by the client to identify the application to the server, for use in server logs, slow query logs, and profile collection. Default: null",title:"App Name",required:!1,deprecated:!1},compressors:{kind:"parameter",type:"string",description:"Specifies one or more compression algorithms that the driver will attempt to use to compress requests sent to the connected MongoDB instance. Possible values include: zlib, snappy, and zstd. Default: null",title:"Compressors",required:!1,deprecated:!1},connectTimeoutMS:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Specifies the maximum amount of time, in milliseconds, the Java driver waits for a connection to open before timing out. A value of 0 instructs the driver to never time out while waiting for a connection to open. Default: 10000 (10 seconds)",title:"Connect Timeout MS",required:!1,deprecated:!1},cursorRegenerationDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"MongoDB tailable cursors will block until new data arrives. If no new data is inserted, after some time the cursor will be automatically freed and closed by the MongoDB server. The client is expected to regenerate the cursor if needed. This value specifies the time to wait before attempting to fetch a new cursor, and if the attempt fails, how long before the next attempt is made. Default value is 1000ms.",title:"Cursor Regeneration Delay",required:!1,deprecated:!1},directConnection:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies that the driver must connect to the host directly. Default: false",title:"Direct Connection",required:!1,deprecated:!1},dynamicity:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether this endpoint will attempt to dynamically resolve the target database and collection from the incoming Exchange properties. Can be used to override at runtime the database and collection specified on the otherwise static endpoint URI. It is disabled by default to boost performance. Enabling it will take a minimal performance hit.",title:"Dynamicity",required:!1,deprecated:!1},heartbeatFrequencyMS:{kind:"parameter",type:"integer",description:"heartbeatFrequencyMS controls when the driver checks the state of the MongoDB deployment. Specify the interval (in milliseconds) between checks, counted from the end of the previous check until the beginning of the next one. Default: Single-threaded drivers: 60 seconds. Multi-threaded drivers: 10 seconds.",title:"Heartbeat Frequency MS",required:!1,deprecated:!1},loadBalanced:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true the driver will assume that it's connecting to MongoDB through a load balancer.",title:"Load Balanced",required:!1,deprecated:!1},localThresholdMS:{kind:"parameter",type:"integer",defaultValue:"15",description:"The size (in milliseconds) of the latency window for selecting among multiple suitable MongoDB instances. Default: 15 milliseconds.",title:"Local Threshold MS",required:!1,deprecated:!1},maxConnecting:{kind:"parameter",type:"integer",defaultValue:"2",description:"Specifies the maximum number of connections a pool may be establishing concurrently. Default: 2",title:"Max Connecting",required:!1,deprecated:!1},maxIdleTimeMS:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies the maximum amount of time, in milliseconds, the Java driver will allow a pooled connection to idle before closing the connection. A value of 0 indicates that there is no upper bound on how long the driver can allow a pooled collection to be idle. Default: 0",title:"Max Idle Time MS",required:!1,deprecated:!1},maxLifeTimeMS:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies the maximum amount of time, in milliseconds, the Java driver will continue to use a pooled connection before closing the connection. A value of 0 indicates that there is no upper bound on how long the driver can keep a pooled connection open. Default: 0",title:"Max Life Time MS",required:!1,deprecated:!1},maxPoolSize:{kind:"parameter",type:"integer",defaultValue:"100",description:"The maximum number of connections in the connection pool. The default value is 100.",title:"Max Pool Size",required:!1,deprecated:!1},maxStalenessSeconds:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Specifies, in seconds, how stale a secondary can be before the driver stops communicating with that secondary. The minimum value is either 90 seconds or the heartbeat frequency plus 10 seconds, whichever is greater. For more information, see the server documentation for the maxStalenessSeconds option. Not providing a parameter or explicitly specifying -1 indicates that there should be no staleness check for secondaries. Default: -1",title:"Max Staleness Seconds",required:!1,deprecated:!1},minPoolSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies the minimum number of connections that must exist at any moment in a single connection pool. Default: 0",title:"Min Pool Size",required:!1,deprecated:!1},readPreference:{kind:"parameter",type:"string",defaultValue:"PRIMARY",enum:["PRIMARY","PRIMARY_PREFERRED","SECONDARY","SECONDARY_PREFERRED","NEAREST"],description:"Configure how MongoDB clients route read operations to the members of a replica set. Possible values are PRIMARY, PRIMARY_PREFERRED, SECONDARY, SECONDARY_PREFERRED or NEAREST",title:"Read Preference",required:!1,deprecated:!1},readPreferenceTags:{kind:"parameter",type:"string",description:"A representation of a tag set as a comma-separated list of colon-separated key-value pairs, e.g. dc:ny,rack:1. Spaces are stripped from beginning and end of all keys and values. To specify a list of tag sets, using multiple readPreferenceTags, e.g. readPreferenceTags=dc:ny,rack:1;readPreferenceTags=dc:ny;readPreferenceTags= Note the empty value for the last one, which means match any secondary as a last resort. Order matters when using multiple readPreferenceTags.",title:"Read Preference Tags",required:!1,deprecated:!1},replicaSet:{kind:"parameter",type:"string",description:"Specifies that the connection string provided includes multiple hosts. When specified, the driver attempts to find all members of that set.",title:"Replica Set",required:!1,deprecated:!1},retryReads:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies that the driver must retry supported read operations if they fail due to a network error. Default: true",title:"Retry Reads",required:!1,deprecated:!1},retryWrites:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies that the driver must retry supported write operations if they fail due to a network error. Default: true",title:"Retry Writes",required:!1,deprecated:!1},serverSelectionTimeoutMS:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Specifies how long (in milliseconds) to block for server selection before throwing an exception. Default: 30,000 milliseconds.",title:"Server Selection Timeout MS",required:!1,deprecated:!1},socketTimeoutMS:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies the maximum amount of time, in milliseconds, the Java driver will wait to send or receive a request before timing out. A value of 0 instructs the driver to never time out while waiting to send or receive a request. Default: 0",title:"Socket Timeout MS",required:!1,deprecated:!1},srvMaxHosts:{kind:"parameter",type:"integer",description:"The maximum number of hosts from the SRV record to connect to.",title:"Srv Max Hosts",required:!1,deprecated:!1},srvServiceName:{kind:"parameter",type:"string",defaultValue:"mongodb",description:"Specifies the service name of the SRV resource recordsthe driver retrieves to construct your seed list. You must use the DNS Seed List Connection Format in your connection URI to use this option. Default: mongodb",title:"Srv Service Name",required:!1,deprecated:!1},tls:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies that all communication with MongoDB instances should use TLS. Supersedes the ssl option. Default: false",title:"Tls",required:!1,deprecated:!1},tlsAllowInvalidHostnames:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies that the driver should allow invalid hostnames in the certificate for TLS connections. Supersedes sslInvalidHostNameAllowed. Has the same effect as tlsInsecure by setting tlsAllowInvalidHostnames to true. Default: false",title:"Tls Allow Invalid Hostnames",required:!1,deprecated:!1},waitQueueTimeoutMS:{kind:"parameter",type:"integer",defaultValue:"120000",description:"Specifies the maximum amount of time, in milliseconds that a thread may wait for a connection to become available. Default: 120000 (120 seconds)",title:"Wait Queue Timeout MS",required:!1,deprecated:!1},writeConcern:{kind:"parameter",type:"string",defaultValue:"ACKNOWLEDGED",enum:["ACKNOWLEDGED","W1","W2","W3","UNACKNOWLEDGED","JOURNALED","MAJORITY"],description:"Configure the connection bean with the level of acknowledgment requested from MongoDB for write operations to a standalone mongod, replicaset or cluster. Possible values are ACKNOWLEDGED, W1, W2, W3, UNACKNOWLEDGED, JOURNALED or MAJORITY.",title:"Write Concern",required:!1,deprecated:!1},writeResultAsHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"In write operations, it determines whether instead of returning WriteResult as the body of the OUT message, we transfer the IN message to the OUT and attach the WriteResult as a header.",title:"Write Result As Header",required:!1,deprecated:!1},zlibCompressionLevel:{kind:"parameter",type:"integer",description:"Specifies the degree of compression that Zlib should use to decrease the size of requests to the connected MongoDB instance. The level can range from -1 to 9, with lower values compressing faster (but resulting in larger requests) and larger values compressing slower (but resulting in smaller requests). Default: null",title:"Zlib Compression Level",required:!1,deprecated:!1},fullDocument:{kind:"parameter",type:"object",defaultValue:"default",enum:["default","updateLookup","required","whenAvailable"],description:"Specifies whether changeStream consumer include a copy of the full document when modified by update operations. Possible values are default, updateLookup, required and whenAvailable.",title:"Full Document",required:!1,deprecated:!1},streamFilter:{kind:"parameter",type:"string",description:"Filter condition for change streams consumer.",title:"Stream Filter",required:!1,deprecated:!1},authSource:{kind:"parameter",type:"string",description:"The database name associated with the user's credentials.",title:"Auth Source",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"User password for mongodb connection",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for mongodb connection",title:"Username",required:!1,deprecated:!1},persistentId:{kind:"parameter",type:"string",description:"One tail tracking collection can host many trackers for several tailable consumers. To keep them separate, each tracker should have its own unique persistentId.",title:"Persistent Id",required:!1,deprecated:!1},persistentTailTracking:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable persistent tail tracking, which is a mechanism to keep track of the last consumed message across system restarts. The next time the system is up, the endpoint will recover the cursor from the point where it last stopped slurping records.",title:"Persistent Tail Tracking",required:!1,deprecated:!1},tailTrackCollection:{kind:"parameter",type:"string",description:"Collection where tail tracking information will be persisted. If not specified, MongoDbTailTrackingConfig#DEFAULT_COLLECTION will be used by default.",title:"Tail Track Collection",required:!1,deprecated:!1},tailTrackDb:{kind:"parameter",type:"string",description:"Indicates what database the tail tracking mechanism will persist to. If not specified, the current database will be picked by default. Dynamicity will not be taken into account even if enabled, i.e. the tail tracking database will not vary past endpoint initialisation.",title:"Tail Track Db",required:!1,deprecated:!1},tailTrackField:{kind:"parameter",type:"string",description:"Field where the last tracked value will be placed. If not specified, MongoDbTailTrackingConfig#DEFAULT_FIELD will be used by default.",title:"Tail Track Field",required:!1,deprecated:!1},tailTrackIncreasingField:{kind:"parameter",type:"string",description:"Correlation field in the incoming record which is of increasing nature and will be used to position the tailing cursor every time it is generated. The cursor will be (re)created with a query of type: tailTrackIncreasingField greater than lastValue (possibly recovered from persistent tail tracking). Can be of type Integer, Date, String, etc. NOTE: No support for dot notation at the current time, so the field should be at the top level of the document.",title:"Tail Track Increasing Field",required:!1,deprecated:!1}}},"mongodb-gridfs":{type:"object",title:"MongoDB GridFS",group:"database,file",icon:"generic24.png",description:"Interact with MongoDB GridFS.",properties:{connectionBean:{kind:"path",type:"string",description:"Name of com.mongodb.client.MongoClient to use.",title:"Connection Bean",required:!0,deprecated:!1},bucket:{kind:"parameter",type:"string",defaultValue:"fs",description:"Sets the name of the GridFS bucket within the database. Default is fs.",title:"Bucket",required:!1,deprecated:!1},database:{kind:"parameter",type:"string",description:"Sets the name of the MongoDB database to target",title:"Database",required:!0,deprecated:!1},readPreference:{kind:"parameter",type:"object",description:"Sets a MongoDB ReadPreference on the Mongo connection. Read preferences set directly on the connection will be overridden by this setting. The com.mongodb.ReadPreference#valueOf(String) utility method is used to resolve the passed readPreference value. Some examples for the possible values are nearest, primary or secondary etc.",title:"Read Preference",required:!1,deprecated:!1},writeConcern:{kind:"parameter",type:"object",enum:["ACKNOWLEDGED","W1","W2","W3","UNACKNOWLEDGED","JOURNALED","MAJORITY"],description:"Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method.",title:"Write Concern",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"500",description:"Sets the delay between polls within the Consumer. Default is 500ms",title:"Delay",required:!1,deprecated:!1},fileAttributeName:{kind:"parameter",type:"string",defaultValue:"camel-processed",description:"If the QueryType uses a FileAttribute, this sets the name of the attribute that is used. Default is camel-processed.",title:"File Attribute Name",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Sets the initialDelay before the consumer will start polling. Default is 1000ms",title:"Initial Delay",required:!1,deprecated:!1},persistentTSCollection:{kind:"parameter",type:"string",defaultValue:"camel-timestamps",description:"If the QueryType uses a persistent timestamp, this sets the name of the collection within the DB to store the timestamp.",title:"Persistent TSCollection",required:!1,deprecated:!1},persistentTSObject:{kind:"parameter",type:"string",defaultValue:"camel-timestamp",description:"If the QueryType uses a persistent timestamp, this is the ID of the object in the collection to store the timestamp.",title:"Persistent TSObject",required:!1,deprecated:!1},query:{kind:"parameter",type:"string",description:"Additional query parameters (in JSON) that are used to configure the query used for finding files in the GridFsConsumer",title:"Query",required:!1,deprecated:!1},queryStrategy:{kind:"parameter",type:"object",defaultValue:"TimeStamp",enum:["TimeStamp","PersistentTimestamp","FileAttribute","TimeStampAndFileAttribute","PersistentTimestampAndFileAttribute"],description:"Sets the QueryStrategy that is used for polling for new files. Default is Timestamp",title:"Query Strategy",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Sets the operation this endpoint will execute against GridFs.",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},mustache:{type:"object",title:"Mustache",group:"transformation",icon:"generic24.png",description:"Transform messages using a Mustache template.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"Character encoding of the resource content.",title:"Encoding",required:!1,deprecated:!1},endDelimiter:{kind:"parameter",type:"string",defaultValue:"}}",description:"Characters used to mark template code end.",title:"End Delimiter",required:!1,deprecated:!1},startDelimiter:{kind:"parameter",type:"string",defaultValue:"{{",description:"Characters used to mark template code beginning.",title:"Start Delimiter",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},mvel:{type:"object",title:"MVEL",group:"transformation,script",icon:"generic24.png",description:"Transform messages using an MVEL template.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"Character encoding of the resource content.",title:"Encoding",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},mybatis:{type:"object",title:"MyBatis",group:"database",icon:"generic24.png",description:"Performs a query, poll, insert, update or delete in a relational database using MyBatis.",properties:{statement:{kind:"path",type:"string",description:"The statement name in the MyBatis XML mapping file which maps to the query, insert, update or delete operation you wish to evaluate.",title:"Statement",required:!0,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is intended to split results returned by the database pool into the batches and deliver them in multiple exchanges. This integer defines the maximum messages to deliver in single exchange. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disable it.",title:"Max Messages Per Poll",required:!1,deprecated:!1},onConsume:{kind:"parameter",type:"string",description:"Statement to run after data has been processed in the route",title:"On Consume",required:!1,deprecated:!1},routeEmptyResultSet:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether allow empty resultset to be routed to the next hop",title:"Route Empty Result Set",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables or disables transaction. If enabled then if processing an exchange failed then the consumer breaks out processing any further exchanges to cause a rollback eager.",title:"Transacted",required:!1,deprecated:!1},useIterator:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Process resultset individually or as a list",title:"Use Iterator",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processingStrategy:{kind:"parameter",type:"object",description:"To use a custom MyBatisProcessingStrategy",title:"Processing Strategy",required:!1,deprecated:!1},executorType:{kind:"parameter",type:"object",defaultValue:"SIMPLE",enum:["SIMPLE","REUSE","BATCH"],description:"The executor type to be used while executing statements. simple - executor does nothing special. reuse - executor reuses prepared statements. batch - executor reuses statements and batches updates.",title:"Executor Type",required:!1,deprecated:!1},inputHeader:{kind:"parameter",type:"string",description:"User the header value for input parameters instead of the message body. By default, inputHeader == null and the input parameters are taken from the message body. If outputHeader is set, the value is used and query parameters will be taken from the header instead of the body.",title:"Input Header",required:!1,deprecated:!1},outputHeader:{kind:"parameter",type:"string",description:"Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. Setting outputHeader will also omit populating the default CamelMyBatisResult header since it would be the same as outputHeader all the time.",title:"Output Header",required:!1,deprecated:!1},statementType:{kind:"parameter",type:"object",enum:["SelectOne","SelectList","Insert","InsertList","Update","UpdateList","Delete","DeleteList"],description:"Mandatory to specify for the producer to control which kind of operation to invoke.",title:"Statement Type",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},"mybatis-bean":{type:"object",title:"MyBatis Bean",group:"database",icon:"generic24.png",description:"Perform queries, inserts, updates or deletes in a relational database using MyBatis.",properties:{beanName:{kind:"path",type:"string",description:"Name of the bean with the MyBatis annotations. This can either by a type alias or a FQN class name.",title:"Bean Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"Name of the method on the bean that has the SQL query to be executed.",title:"Method Name",required:!0,deprecated:!1},executorType:{kind:"parameter",type:"object",defaultValue:"SIMPLE",enum:["SIMPLE","REUSE","BATCH"],description:"The executor type to be used while executing statements. simple - executor does nothing special. reuse - executor reuses prepared statements. batch - executor reuses statements and batches updates.",title:"Executor Type",required:!1,deprecated:!1},inputHeader:{kind:"parameter",type:"string",description:"User the header value for input parameters instead of the message body. By default, inputHeader == null and the input parameters are taken from the message body. If outputHeader is set, the value is used and query parameters will be taken from the header instead of the body.",title:"Input Header",required:!1,deprecated:!1},outputHeader:{kind:"parameter",type:"string",description:"Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. Setting outputHeader will also omit populating the default CamelMyBatisResult header since it would be the same as outputHeader all the time.",title:"Output Header",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},nats:{type:"object",title:"Nats",group:"messaging",icon:"generic24.png",description:"Send and receive messages from NATS messaging system.",properties:{topic:{kind:"path",type:"string",description:"The name of topic we want to use",title:"Topic",required:!0,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"2000",description:"Timeout for connection attempts. (in milliseconds)",title:"Connection Timeout",required:!1,deprecated:!1},flushConnection:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Define if we want to flush connection when stopping or not",title:"Flush Connection",required:!1,deprecated:!1},flushTimeout:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Set the flush timeout (in milliseconds)",title:"Flush Timeout",required:!1,deprecated:!1},maxPingsOut:{kind:"parameter",type:"integer",defaultValue:"2",description:"maximum number of pings have not received a response allowed by the client",title:"Max Pings Out",required:!1,deprecated:!1},maxReconnectAttempts:{kind:"parameter",type:"integer",defaultValue:"60",description:"Max reconnection attempts",title:"Max Reconnect Attempts",required:!1,deprecated:!1},noEcho:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Turn off echo. If supported by the gnatsd version you are connecting to this flag will prevent the server from echoing messages back to the connection if it has subscriptions on the subject being published to.",title:"No Echo",required:!1,deprecated:!1},noRandomizeServers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not randomizing the order of servers for the connection attempts",title:"No Randomize Servers",required:!1,deprecated:!1},pedantic:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not running in pedantic mode (this affects performance)",title:"Pedantic",required:!1,deprecated:!1},pingInterval:{kind:"parameter",type:"integer",defaultValue:"120000",description:"Ping interval to be aware if connection is still alive (in milliseconds)",title:"Ping Interval",required:!1,deprecated:!1},reconnect:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not using reconnection feature",title:"Reconnect",required:!1,deprecated:!1},reconnectTimeWait:{kind:"parameter",type:"integer",defaultValue:"2000",description:"Waiting time before attempts reconnection (in milliseconds)",title:"Reconnect Time Wait",required:!1,deprecated:!1},requestCleanupInterval:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Interval to clean up cancelled/timed out requests.",title:"Request Cleanup Interval",required:!1,deprecated:!1},servers:{kind:"parameter",type:"string",description:"URLs to one or more NAT servers. Use comma to separate URLs when specifying multiple servers.",title:"Servers",required:!1,deprecated:!1},verbose:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not running in verbose mode",title:"Verbose",required:!1,deprecated:!1},maxMessages:{kind:"parameter",type:"string",description:"Stop receiving messages from a topic we are subscribing to after maxMessages",title:"Max Messages",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"Consumer thread pool size (default is 10)",title:"Pool Size",required:!1,deprecated:!1},queueName:{kind:"parameter",type:"string",description:"The Queue name if we are using nats for a queue configuration",title:"Queue Name",required:!1,deprecated:!1},replyToDisabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Can be used to turn off sending back reply message in the consumer.",title:"Reply To Disabled",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},replySubject:{kind:"parameter",type:"string",description:"the subject to which subscribers should send response",title:"Reply Subject",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"integer",defaultValue:"20000",description:"Request timeout in milliseconds",title:"Request Timeout",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connection:{kind:"parameter",type:"object",description:"Reference an already instantiated connection to Nats server",title:"Connection",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"Define the header filtering strategy",title:"Header Filter Strategy",required:!1,deprecated:!1},traceConnection:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not connection trace messages should be printed to standard out for fine grained debugging of connection issues.",title:"Trace Connection",required:!1,deprecated:!1},secure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set secure option indicating TLS is required",title:"Secure",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},netty:{type:"object",title:"Netty",group:"networking",icon:"generic24.png",description:"Socket level networking using TCP or UDP with Netty 4.x.",properties:{protocol:{kind:"path",type:"string",enum:["tcp","udp"],description:"The protocol to use which can be tcp or udp.",title:"Protocol",required:!0,deprecated:!1},host:{kind:"path",type:"string",description:"The hostname. For the consumer the hostname is localhost or 0.0.0.0. For the producer the hostname is the remote host to connect to",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The host port number",title:"Port",required:!0,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect(close) from Netty Channel right after use. Can be used for both consumer and producer.",title:"Disconnect",required:!1,deprecated:!1},keepAlive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to ensure socket is not closed due to inactivity",title:"Keep Alive",required:!1,deprecated:!1},reuseAddress:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to facilitate socket multiplexing",title:"Reuse Address",required:!1,deprecated:!1},reuseChannel:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option allows producers and consumers (in client mode) to reuse the same Netty Channel for the lifecycle of processing the Exchange. This is useful if you need to call a server multiple times in a Camel route and want to use the same network connection. When using this, the channel is not returned to the connection pool until the Exchange is done; or disconnected if the disconnect option is set to true. The reused Channel is stored on the Exchange as an exchange property with the key NettyConstants#NETTY_CHANNEL which allows you to obtain the channel during routing and use it as well.",title:"Reuse Channel",required:!1,deprecated:!1},sync:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to set endpoint as one-way or request-response",title:"Sync",required:!1,deprecated:!1},tcpNoDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to improve TCP protocol performance",title:"Tcp No Delay",required:!1,deprecated:!1},broadcast:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting to choose Multicast over UDP",title:"Broadcast",required:!1,deprecated:!1},clientMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the clientMode is true, netty consumer will connect the address as a TCP client.",title:"Client Mode",required:!1,deprecated:!1},reconnect:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used only in clientMode in consumer, the consumer will attempt to reconnect on disconnection if this is enabled",title:"Reconnect",required:!1,deprecated:!1},reconnectInterval:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Used if reconnect and clientMode is enabled. The interval in milli seconds to attempt reconnection",title:"Reconnect Interval",required:!1,deprecated:!1},backlog:{kind:"parameter",type:"integer",description:"Allows to configure a backlog for netty consumer (server). Note the backlog is just a best effort depending on the OS. Setting this option to a value such as 200, 500 or 1000, tells the TCP stack how long the accept queue can be If this option is not configured, then the backlog depends on OS setting.",title:"Backlog",required:!1,deprecated:!1},bossCount:{kind:"parameter",type:"integer",defaultValue:"1",description:"When netty works on nio mode, it uses default bossCount parameter from Netty, which is 1. User can use this option to override the default bossCount from Netty",title:"Boss Count",required:!1,deprecated:!1},bossGroup:{kind:"parameter",type:"object",description:"Set the BossGroup which could be used for handling the new connection of the server side across the NettyEndpoint",title:"Boss Group",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},disconnectOnNoReply:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If sync is enabled then this option dictates NettyConsumer if it should disconnect where there is no reply to send back.",title:"Disconnect On No Reply",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},nettyServerBootstrapFactory:{kind:"parameter",type:"object",description:"To use a custom NettyServerBootstrapFactory",title:"Netty Server Bootstrap Factory",required:!1,deprecated:!1},networkInterface:{kind:"parameter",type:"string",description:"When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group.",title:"Network Interface",required:!1,deprecated:!1},noReplyLogLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back.",title:"No Reply Log Level",required:!1,deprecated:!1},serverClosedChannelExceptionCaughtLogLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server.",title:"Server Closed Channel Exception Caught Log Level",required:!1,deprecated:!1},serverExceptionCaughtLogLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If the server (NettyConsumer) catches an exception then its logged using this logging level.",title:"Server Exception Caught Log Level",required:!1,deprecated:!1},serverInitializerFactory:{kind:"parameter",type:"object",description:"To use a custom ServerInitializerFactory",title:"Server Initializer Factory",required:!1,deprecated:!1},usingExecutorService:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use ordered thread pool, to ensure events are processed orderly on the same channel.",title:"Using Executor Service",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Time to wait for a socket connection to be available. Value is in milliseconds.",title:"Connect Timeout",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"integer",description:"Allows to use a timeout for the Netty producer when calling a remote server. By default no timeout is in use. The value is in milli seconds, so eg 30000 is 30 seconds. The requestTimeout is using Netty's ReadTimeoutHandler to trigger the timeout.",title:"Request Timeout",required:!1,deprecated:!1},clientInitializerFactory:{kind:"parameter",type:"object",description:"To use a custom ClientInitializerFactory",title:"Client Initializer Factory",required:!1,deprecated:!1},correlationManager:{kind:"parameter",type:"object",description:"To use a custom correlation manager to manage how request and reply messages are mapped when using request/reply with the netty producer. This should only be used if you have a way to map requests together with replies such as if there is correlation ids in both the request and reply messages. This can be used if you want to multiplex concurrent messages on the same channel (aka connection) in netty. When doing this you must have a way to correlate the request and reply messages so you can store the right reply on the inflight Camel Exchange before its continued routed. We recommend extending the TimeoutCorrelationManagerSupport when you build custom correlation managers. This provides support for timeout and other complexities you otherwise would need to implement as well. See also the producerPoolEnabled option for more details.",title:"Correlation Manager",required:!1,deprecated:!1},lazyChannelCreation:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Channels can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started.",title:"Lazy Channel Creation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},producerPoolBlockWhenExhausted:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets the value for the blockWhenExhausted configuration attribute. It determines whether to block when the borrowObject() method is invoked when the pool is exhausted (the maximum number of active objects has been reached).",title:"Producer Pool Block When Exhausted",required:!1,deprecated:!1},producerPoolEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether producer pool is enabled or not. Important: If you turn this off then a single shared connection is used for the producer, also if you are doing request/reply. That means there is a potential issue with interleaved responses if replies comes back out-of-order. Therefore you need to have a correlation id in both the request and reply messages so you can properly correlate the replies to the Camel callback that is responsible for continue processing the message in Camel. To do this you need to implement NettyCamelStateCorrelationManager as correlation manager and configure it via the correlationManager option. See also the correlationManager option for more details.",title:"Producer Pool Enabled",required:!1,deprecated:!1},producerPoolMaxIdle:{kind:"parameter",type:"integer",defaultValue:"100",description:"Sets the cap on the number of idle instances in the pool.",title:"Producer Pool Max Idle",required:!1,deprecated:!1},producerPoolMaxTotal:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the cap on the number of objects that can be allocated by the pool (checked out to clients, or idle awaiting checkout) at a given time. Use a negative value for no limit.",title:"Producer Pool Max Total",required:!1,deprecated:!1},producerPoolMaxWait:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum duration (value in millis) the borrowObject() method should block before throwing an exception when the pool is exhausted and producerPoolBlockWhenExhausted is true. When less than 0, the borrowObject() method may block indefinitely.",title:"Producer Pool Max Wait",required:!1,deprecated:!1},producerPoolMinEvictableIdle:{kind:"parameter",type:"integer",defaultValue:"300000",description:"Sets the minimum amount of time (value in millis) an object may sit idle in the pool before it is eligible for eviction by the idle object evictor.",title:"Producer Pool Min Evictable Idle",required:!1,deprecated:!1},producerPoolMinIdle:{kind:"parameter",type:"integer",description:"Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects.",title:"Producer Pool Min Idle",required:!1,deprecated:!1},udpConnectionlessSending:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option supports connection less udp sending which is a real fire and forget. A connected udp send receive the PortUnreachableException if no one is listen on the receiving port.",title:"Udp Connectionless Sending",required:!1,deprecated:!1},useByteBuf:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the useByteBuf is true, netty producer will turn the message body into ByteBuf before sending it out.",title:"Use Byte Buf",required:!1,deprecated:!1},hostnameVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable/disable hostname verification on SSLEngine",title:"Hostname Verification",required:!1,deprecated:!1},allowSerializedHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP when transferExchange is true. When set to true, serializable objects in headers and properties will be added to the exchange. Otherwise Camel will exclude any non-serializable objects and log it at WARN level.",title:"Allow Serialized Headers",required:!1,deprecated:!1},channelGroup:{kind:"parameter",type:"object",description:"To use a explicit ChannelGroup.",title:"Channel Group",required:!1,deprecated:!1},nativeTransport:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html",title:"Native Transport",required:!1,deprecated:!1},options:{kind:"parameter",type:"object",description:"Allows to configure additional netty options using option. as prefix. For example option.child.keepAlive=false to set the netty option child.keepAlive=false. See the Netty documentation for possible options that can be used.",title:"Options",required:!1,deprecated:!1},receiveBufferSize:{kind:"parameter",type:"integer",defaultValue:"65536",description:"The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes.",title:"Receive Buffer Size",required:!1,deprecated:!1},receiveBufferSizePredictor:{kind:"parameter",type:"integer",description:"Configures the buffer size predictor. See details at Jetty documentation and this mail thread.",title:"Receive Buffer Size Predictor",required:!1,deprecated:!1},sendBufferSize:{kind:"parameter",type:"integer",defaultValue:"65536",description:"The TCP/UDP buffer sizes to be used during outbound communication. Size is bytes.",title:"Send Buffer Size",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP. You can transfer the exchange over the wire instead of just the body. The following fields are transferred: In body, Out body, fault body, In headers, Out headers, fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Transfer Exchange",required:!1,deprecated:!1},udpByteArrayCodec:{kind:"parameter",type:"boolean",defaultValue:"false",description:"For UDP only. If enabled the using byte array codec instead of Java serialization protocol.",title:"Udp Byte Array Codec",required:!1,deprecated:!1},unixDomainSocketPath:{kind:"parameter",type:"string",description:"Path to unix domain socket to use instead of inet socket. Host and port parameters will not be used, however required. It is ok to set dummy values for them. Must be used with nativeTransport=true and clientMode=false.",title:"Unix Domain Socket Path",required:!1,deprecated:!1},workerCount:{kind:"parameter",type:"integer",description:"When netty works on nio mode, it uses default workerCount parameter from Netty (which is cpu_core_threads x 2). User can use this option to override the default workerCount from Netty.",title:"Worker Count",required:!1,deprecated:!1},workerGroup:{kind:"parameter",type:"object",description:"To use a explicit EventLoopGroup as the boss thread pool. For example to share a thread pool with multiple consumers or producers. By default each consumer or producer has their own worker pool with 2 x cpu count core threads.",title:"Worker Group",required:!1,deprecated:!1},allowDefaultCodec:{kind:"parameter",type:"boolean",defaultValue:"true",description:"The netty component installs a default codec if both, encoder/decoder is null and textline is false. Setting allowDefaultCodec to false prevents the netty component from installing a default codec as the first element in the filter chain.",title:"Allow Default Codec",required:!1,deprecated:!1},autoAppendDelimiter:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to auto append missing end delimiter when sending using the textline codec.",title:"Auto Append Delimiter",required:!1,deprecated:!1},decoderMaxLineLength:{kind:"parameter",type:"integer",defaultValue:"1024",description:"The max line length to use for the textline codec.",title:"Decoder Max Line Length",required:!1,deprecated:!1},decoders:{kind:"parameter",type:"string",description:"A list of decoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup.",title:"Decoders",required:!1,deprecated:!1},delimiter:{kind:"parameter",type:"object",defaultValue:"LINE",enum:["LINE","NULL"],description:"The delimiter to use for the textline codec. Possible values are LINE and NULL.",title:"Delimiter",required:!1,deprecated:!1},encoders:{kind:"parameter",type:"string",description:"A list of encoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup.",title:"Encoders",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"The encoding (a charset name) to use for the textline codec. If not provided, Camel will use the JVM default Charset.",title:"Encoding",required:!1,deprecated:!1},textline:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP. If no codec is specified, you can use this flag to indicate a text line based codec; if not specified or the value is false, then Object Serialization is assumed over TCP - however only Strings are allowed to be serialized by default.",title:"Textline",required:!1,deprecated:!1},enabledProtocols:{kind:"parameter",type:"string",defaultValue:"TLSv1.2,TLSv1.3",description:"Which protocols to enable when using SSL",title:"Enabled Protocols",required:!1,deprecated:!1},keyStoreFile:{kind:"parameter",type:"string",description:"Client side certificate keystore to be used for encryption",title:"Key Store File",required:!1,deprecated:!1},keyStoreFormat:{kind:"parameter",type:"string",description:"Keystore format to be used for payload encryption. Defaults to JKS if not set",title:"Key Store Format",required:!1,deprecated:!1},keyStoreResource:{kind:"parameter",type:"string",description:"Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Key Store Resource",required:!1,deprecated:!1},needClientAuth:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether the server needs client authentication when using SSL.",title:"Need Client Auth",required:!1,deprecated:!1},passphrase:{kind:"parameter",type:"string",description:"Password setting to use in order to encrypt/decrypt payloads sent using SSH",title:"Passphrase",required:!1,deprecated:!1},securityProvider:{kind:"parameter",type:"string",description:"Security provider to be used for payload encryption. Defaults to SunX509 if not set.",title:"Security Provider",required:!1,deprecated:!1},ssl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting to specify whether SSL encryption is applied to this endpoint",title:"Ssl",required:!1,deprecated:!1},sslClientCertHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When enabled and in SSL mode, then the Netty consumer will enrich the Camel Message with headers having information about the client certificate such as subject name, issuer name, serial number, and the valid date range.",title:"Ssl Client Cert Headers",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1},sslHandler:{kind:"parameter",type:"object",description:"Reference to a class that could be used to return an SSL Handler",title:"Ssl Handler",required:!1,deprecated:!1},trustStoreFile:{kind:"parameter",type:"string",description:"Server side certificate keystore to be used for encryption",title:"Trust Store File",required:!1,deprecated:!1},trustStoreResource:{kind:"parameter",type:"string",description:"Server side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Trust Store Resource",required:!1,deprecated:!1}}},"netty-http":{type:"object",title:"Netty HTTP",group:"networking,http",icon:"generic24.png",description:"Netty HTTP server and client using the Netty 4.x.",properties:{protocol:{kind:"path",type:"string",enum:["http","https"],description:"The protocol to use which is either http, https or proxy - a consumer only option.",title:"Protocol",required:!0,deprecated:!1},host:{kind:"path",type:"string",description:"The local hostname such as localhost, or 0.0.0.0 when being a consumer. The remote HTTP server hostname when using producer.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The host port number",title:"Port",required:!1,deprecated:!1},path:{kind:"path",type:"string",description:"Resource path",title:"Path",required:!1,deprecated:!1},bridgeEndpoint:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the option is true, the producer will ignore the NettyHttpConstants.HTTP_URI header, and use the endpoint's URI for request. You may also set the throwExceptionOnFailure to be false to let the producer send all the fault response back. The consumer working in the bridge mode will skip the gzip compression and WWW URL form encoding (by adding the Exchange.SKIP_GZIP_ENCODING and Exchange.SKIP_WWW_FORM_URLENCODED headers to the consumed exchange).",title:"Bridge Endpoint",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect(close) from Netty Channel right after use. Can be used for both consumer and producer.",title:"Disconnect",required:!1,deprecated:!1},keepAlive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to ensure socket is not closed due to inactivity",title:"Keep Alive",required:!1,deprecated:!1},reuseAddress:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to facilitate socket multiplexing",title:"Reuse Address",required:!1,deprecated:!1},reuseChannel:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option allows producers and consumers (in client mode) to reuse the same Netty Channel for the lifecycle of processing the Exchange. This is useful if you need to call a server multiple times in a Camel route and want to use the same network connection. When using this, the channel is not returned to the connection pool until the Exchange is done; or disconnected if the disconnect option is set to true. The reused Channel is stored on the Exchange as an exchange property with the key NettyConstants#NETTY_CHANNEL which allows you to obtain the channel during routing and use it as well.",title:"Reuse Channel",required:!1,deprecated:!1},sync:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to set endpoint as one-way or request-response",title:"Sync",required:!1,deprecated:!1},tcpNoDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to improve TCP protocol performance",title:"Tcp No Delay",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not Camel should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},send503whenSuspended:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to send back HTTP status code 503 when the consumer has been suspended. If the option is false then the Netty Acceptor is unbound when the consumer is suspended, so clients cannot connect anymore.",title:"Send503when Suspended",required:!1,deprecated:!1},backlog:{kind:"parameter",type:"integer",description:"Allows to configure a backlog for netty consumer (server). Note the backlog is just a best effort depending on the OS. Setting this option to a value such as 200, 500 or 1000, tells the TCP stack how long the accept queue can be If this option is not configured, then the backlog depends on OS setting.",title:"Backlog",required:!1,deprecated:!1},bossCount:{kind:"parameter",type:"integer",defaultValue:"1",description:"When netty works on nio mode, it uses default bossCount parameter from Netty, which is 1. User can use this option to override the default bossCount from Netty",title:"Boss Count",required:!1,deprecated:!1},bossGroup:{kind:"parameter",type:"object",description:"Set the BossGroup which could be used for handling the new connection of the server side across the NettyEndpoint",title:"Boss Group",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},chunkedMaxContentLength:{kind:"parameter",type:"integer",defaultValue:"1048576",description:"Value in bytes the max content length per chunked frame received on the Netty HTTP server.",title:"Chunked Max Content Length",required:!1,deprecated:!1},compression:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allow using gzip/deflate for compression on the Netty HTTP server if the client supports it from the HTTP headers.",title:"Compression",required:!1,deprecated:!1},disconnectOnNoReply:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If sync is enabled then this option dictates NettyConsumer if it should disconnect where there is no reply to send back.",title:"Disconnect On No Reply",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"To disable HTTP methods on the Netty HTTP consumer. You can specify multiple separated by comma.",title:"Http Method Restrict",required:!1,deprecated:!1},logWarnOnBadRequest:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether Netty HTTP server should log a WARN if decoding the HTTP request failed and a HTTP Status 400 (bad request) is returned.",title:"Log Warn On Bad Request",required:!1,deprecated:!1},mapHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is enabled, then during binding from Netty to Camel Message then the headers will be mapped as well (eg added as header to the Camel Message as well). You can turn off this option to disable this. The headers can still be accessed from the org.apache.camel.component.netty.http.NettyHttpMessage message with the method getHttpRequest() that returns the Netty HTTP request io.netty.handler.codec.http.HttpRequest instance.",title:"Map Headers",required:!1,deprecated:!1},maxChunkSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"The maximum length of the content or each chunk. If the content length (or the length of each chunk) exceeds this value, the content or chunk will be split into multiple io.netty.handler.codec.http.HttpContents whose length is maxChunkSize at maximum. See io.netty.handler.codec.http.HttpObjectDecoder",title:"Max Chunk Size",required:!1,deprecated:!1},maxHeaderSize:{kind:"parameter",type:"integer",defaultValue:"8192",description:"The maximum length of all headers. If the sum of the length of each header exceeds this value, a io.netty.handler.codec.TooLongFrameException will be raised.",title:"Max Header Size",required:!1,deprecated:!1},maxInitialLineLength:{kind:"parameter",type:"integer",defaultValue:"4096",description:"The maximum length of the initial line (e.g. {code GET / HTTP/1.0} or {code HTTP/1.0 200 OK}) If the length of the initial line exceeds this value, a TooLongFrameException will be raised. See io.netty.handler.codec.http.HttpObjectDecoder",title:"Max Initial Line Length",required:!1,deprecated:!1},nettyServerBootstrapFactory:{kind:"parameter",type:"object",description:"To use a custom NettyServerBootstrapFactory",title:"Netty Server Bootstrap Factory",required:!1,deprecated:!1},nettySharedHttpServer:{kind:"parameter",type:"object",description:"To use a shared Netty HTTP server. See Netty HTTP Server Example for more details.",title:"Netty Shared Http Server",required:!1,deprecated:!1},noReplyLogLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back.",title:"No Reply Log Level",required:!1,deprecated:!1},serverClosedChannelExceptionCaughtLogLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions, as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server.",title:"Server Closed Channel Exception Caught Log Level",required:!1,deprecated:!1},serverExceptionCaughtLogLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"If the server (NettyConsumer) catches an exception then its logged using this logging level.",title:"Server Exception Caught Log Level",required:!1,deprecated:!1},serverInitializerFactory:{kind:"parameter",type:"object",description:"To use a custom ServerInitializerFactory",title:"Server Initializer Factory",required:!1,deprecated:!1},traceEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP TRACE for this Netty HTTP consumer. By default TRACE is turned off.",title:"Trace Enabled",required:!1,deprecated:!1},urlDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If this option is enabled, then during binding from Netty to Camel Message then the header values will be URL decoded (eg %20 will be a space character. Notice this option is used by the default org.apache.camel.component.netty.http.NettyHttpBinding and therefore if you implement a custom org.apache.camel.component.netty.http.NettyHttpBinding then you would need to decode the headers accordingly to this option.",title:"Url Decode Headers",required:!1,deprecated:!1},usingExecutorService:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use ordered thread pool, to ensure events are processed orderly on the same channel.",title:"Using Executor Service",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Time to wait for a socket connection to be available. Value is in milliseconds.",title:"Connect Timeout",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"integer",description:"Allows to use a timeout for the Netty producer when calling a remote server. By default no timeout is in use. The value is in milli seconds, so eg 30000 is 30 seconds. The requestTimeout is using Netty's ReadTimeoutHandler to trigger the timeout.",title:"Request Timeout",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code.",title:"Throw Exception On Failure",required:!1,deprecated:!1},clientInitializerFactory:{kind:"parameter",type:"object",description:"To use a custom ClientInitializerFactory",title:"Client Initializer Factory",required:!1,deprecated:!1},lazyChannelCreation:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Channels can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started.",title:"Lazy Channel Creation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},okStatusCodeRange:{kind:"parameter",type:"string",defaultValue:"200-299",description:"The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included. The default range is 200-299",title:"Ok Status Code Range",required:!1,deprecated:!1},producerPoolBlockWhenExhausted:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets the value for the blockWhenExhausted configuration attribute. It determines whether to block when the borrowObject() method is invoked when the pool is exhausted (the maximum number of active objects has been reached).",title:"Producer Pool Block When Exhausted",required:!1,deprecated:!1},producerPoolEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether producer pool is enabled or not. Important: If you turn this off then a single shared connection is used for the producer, also if you are doing request/reply. That means there is a potential issue with interleaved responses if replies comes back out-of-order. Therefore you need to have a correlation id in both the request and reply messages so you can properly correlate the replies to the Camel callback that is responsible for continue processing the message in Camel. To do this you need to implement NettyCamelStateCorrelationManager as correlation manager and configure it via the correlationManager option. See also the correlationManager option for more details.",title:"Producer Pool Enabled",required:!1,deprecated:!1},producerPoolMaxIdle:{kind:"parameter",type:"integer",defaultValue:"100",description:"Sets the cap on the number of idle instances in the pool.",title:"Producer Pool Max Idle",required:!1,deprecated:!1},producerPoolMaxTotal:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the cap on the number of objects that can be allocated by the pool (checked out to clients, or idle awaiting checkout) at a given time. Use a negative value for no limit.",title:"Producer Pool Max Total",required:!1,deprecated:!1},producerPoolMaxWait:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum duration (value in millis) the borrowObject() method should block before throwing an exception when the pool is exhausted and producerPoolBlockWhenExhausted is true. When less than 0, the borrowObject() method may block indefinitely.",title:"Producer Pool Max Wait",required:!1,deprecated:!1},producerPoolMinEvictableIdle:{kind:"parameter",type:"integer",defaultValue:"300000",description:"Sets the minimum amount of time (value in millis) an object may sit idle in the pool before it is eligible for eviction by the idle object evictor.",title:"Producer Pool Min Evictable Idle",required:!1,deprecated:!1},producerPoolMinIdle:{kind:"parameter",type:"integer",description:"Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects.",title:"Producer Pool Min Idle",required:!1,deprecated:!1},useRelativePath:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to use a relative path in HTTP requests.",title:"Use Relative Path",required:!1,deprecated:!1},hostnameVerification:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable/disable hostname verification on SSLEngine",title:"Hostname Verification",required:!1,deprecated:!1},allowSerializedHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP when transferExchange is true. When set to true, serializable objects in headers and properties will be added to the exchange. Otherwise Camel will exclude any non-serializable objects and log it at WARN level.",title:"Allow Serialized Headers",required:!1,deprecated:!1},channelGroup:{kind:"parameter",type:"object",description:"To use a explicit ChannelGroup.",title:"Channel Group",required:!1,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"To use a custom configured NettyHttpConfiguration for configuring this endpoint.",title:"Configuration",required:!1,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Netty HttpRequest#getContent() or HttpResponset#getContent() is cached or not (Camel will read the stream into a in light-weight memory based Stream caching) cache. By default Camel will cache the Netty input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. Mind that if you enable this option, then you cannot read the Netty stream multiple times out of the box, and you would need manually to reset the reader index on the Netty raw stream. Also Netty will auto-close the Netty stream when the Netty HTTP server/HTTP client is done processing, which means that if the asynchronous routing engine is in use then any asynchronous thread that may continue routing the org.apache.camel.Exchange may not be able to read the Netty stream, because Netty has closed it.",title:"Disable Stream Cache",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},nativeTransport:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html",title:"Native Transport",required:!1,deprecated:!1},nettyHttpBinding:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.netty.http.NettyHttpBinding for binding to/from Netty and Camel Message API.",title:"Netty Http Binding",required:!1,deprecated:!1},options:{kind:"parameter",type:"object",description:"Allows to configure additional netty options using option. as prefix. For example option.child.keepAlive=false to set the netty option child.keepAlive=false. See the Netty documentation for possible options that can be used.",title:"Options",required:!1,deprecated:!1},receiveBufferSize:{kind:"parameter",type:"integer",defaultValue:"65536",description:"The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes.",title:"Receive Buffer Size",required:!1,deprecated:!1},receiveBufferSizePredictor:{kind:"parameter",type:"integer",description:"Configures the buffer size predictor. See details at Jetty documentation and this mail thread.",title:"Receive Buffer Size Predictor",required:!1,deprecated:!1},sendBufferSize:{kind:"parameter",type:"integer",defaultValue:"65536",description:"The TCP/UDP buffer sizes to be used during outbound communication. Size is bytes.",title:"Send Buffer Size",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},transferExchange:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Only used for TCP. You can transfer the exchange over the wire instead of just the body. The following fields are transferred: In body, Out body, fault body, In headers, Out headers, fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.",title:"Transfer Exchange",required:!1,deprecated:!1},unixDomainSocketPath:{kind:"parameter",type:"string",description:"Path to unix domain socket to use instead of inet socket. Host and port parameters will not be used, however required. It is ok to set dummy values for them. Must be used with nativeTransport=true and clientMode=false.",title:"Unix Domain Socket Path",required:!1,deprecated:!1},workerCount:{kind:"parameter",type:"integer",description:"When netty works on nio mode, it uses default workerCount parameter from Netty (which is cpu_core_threads x 2). User can use this option to override the default workerCount from Netty.",title:"Worker Count",required:!1,deprecated:!1},workerGroup:{kind:"parameter",type:"object",description:"To use a explicit EventLoopGroup as the boss thread pool. For example to share a thread pool with multiple consumers or producers. By default each consumer or producer has their own worker pool with 2 x cpu count core threads.",title:"Worker Group",required:!1,deprecated:!1},decoders:{kind:"parameter",type:"string",description:"A list of decoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup.",title:"Decoders",required:!1,deprecated:!1},encoders:{kind:"parameter",type:"string",description:"A list of encoders to be used. You can use a String which have values separated by comma, and have the values be looked up in the Registry. Just remember to prefix the value with # so Camel knows it should lookup.",title:"Encoders",required:!1,deprecated:!1},enabledProtocols:{kind:"parameter",type:"string",defaultValue:"TLSv1.2,TLSv1.3",description:"Which protocols to enable when using SSL",title:"Enabled Protocols",required:!1,deprecated:!1},keyStoreFile:{kind:"parameter",type:"string",description:"Client side certificate keystore to be used for encryption",title:"Key Store File",required:!1,deprecated:!1},keyStoreFormat:{kind:"parameter",type:"string",description:"Keystore format to be used for payload encryption. Defaults to JKS if not set",title:"Key Store Format",required:!1,deprecated:!1},keyStoreResource:{kind:"parameter",type:"string",description:"Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Key Store Resource",required:!1,deprecated:!1},needClientAuth:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configures whether the server needs client authentication when using SSL.",title:"Need Client Auth",required:!1,deprecated:!1},passphrase:{kind:"parameter",type:"string",description:"Password setting to use in order to encrypt/decrypt payloads sent using SSH",title:"Passphrase",required:!1,deprecated:!1},securityConfiguration:{kind:"parameter",type:"object",description:"Refers to a org.apache.camel.component.netty.http.NettyHttpSecurityConfiguration for configuring secure web resources.",title:"Security Configuration",required:!1,deprecated:!1},securityOptions:{kind:"parameter",type:"object",description:"To configure NettyHttpSecurityConfiguration using key/value pairs from the map",title:"Security Options",required:!1,deprecated:!1},securityProvider:{kind:"parameter",type:"string",description:"Security provider to be used for payload encryption. Defaults to SunX509 if not set.",title:"Security Provider",required:!1,deprecated:!1},ssl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Setting to specify whether SSL encryption is applied to this endpoint",title:"Ssl",required:!1,deprecated:!1},sslClientCertHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When enabled and in SSL mode, then the Netty consumer will enrich the Camel Message with headers having information about the client certificate such as subject name, issuer name, serial number, and the valid date range.",title:"Ssl Client Cert Headers",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1},sslHandler:{kind:"parameter",type:"object",description:"Reference to a class that could be used to return an SSL Handler",title:"Ssl Handler",required:!1,deprecated:!1},trustStoreFile:{kind:"parameter",type:"string",description:"Server side certificate keystore to be used for encryption",title:"Trust Store File",required:!1,deprecated:!1},trustStoreResource:{kind:"parameter",type:"string",description:"Server side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Trust Store Resource",required:!1,deprecated:!1}}},nitrite:{type:"object",title:"Nitrite",group:"database",icon:"generic24.png",description:"Access Nitrite databases.",properties:{database:{kind:"path",type:"string",description:"Path to database file. Will be created if not exists.",title:"Database",required:!0,deprecated:!1},collection:{kind:"parameter",type:"string",description:"Name of Nitrite collection. Cannot be used in combination with repositoryClass option.",title:"Collection",required:!1,deprecated:!1},repositoryClass:{kind:"parameter",type:"string",description:"Class of Nitrite ObjectRepository. Cannot be used in combination with collection option.",title:"Repository Class",required:!1,deprecated:!1},repositoryName:{kind:"parameter",type:"string",description:"Optional name of ObjectRepository. Can be only used in combination with repositoryClass, otherwise have no effect",title:"Repository Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for Nitrite database. Required, if option username specified.",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for Nitrite database. Database is not secured if option not specified.",title:"Username",required:!1,deprecated:!1}}},oaipmh:{type:"object",title:"OAI-PMH",group:"search",icon:"generic24.png",description:"Harvest metadata using OAI-PMH protocol",properties:{baseUrl:{kind:"path",type:"string",description:"Base URL of the repository to which the request is made through the OAI-PMH protocol",title:"Base Url",required:!0,deprecated:!1},from:{kind:"parameter",type:"string",description:"Specifies a lower bound for datestamp-based selective harvesting. UTC DateTime value",title:"From",required:!1,deprecated:!1},identifier:{kind:"parameter",type:"string",description:"Identifier of the requested resources. Applicable only with certain verbs",title:"Identifier",required:!1,deprecated:!1},metadataPrefix:{kind:"parameter",type:"string",defaultValue:"oai_dc",description:"Specifies the metadataPrefix of the format that should be included in the metadata part of the returned records.",title:"Metadata Prefix",required:!1,deprecated:!1},set:{kind:"parameter",type:"string",description:"Specifies membership as a criteria for set-based selective harvesting",title:"Set",required:!1,deprecated:!1},until:{kind:"parameter",type:"string",description:"Specifies an upper bound for datestamp-based selective harvesting. UTC DateTime value.",title:"Until",required:!1,deprecated:!1},verb:{kind:"parameter",type:"string",defaultValue:"ListRecords",description:"Request name supported by OAI-PMh protocol",title:"Verb",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},onlyFirst:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Returns the response of a single request. Otherwise it will make requests until there is no more data to return.",title:"Only First",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},ignoreSSLWarnings:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Ignore SSL certificate warnings",title:"Ignore SSLWarnings",required:!1,deprecated:!1},ssl:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Causes the defined url to make an https request",title:"Ssl",required:!1,deprecated:!1}}},olingo2:{type:"object",title:"Olingo2",group:"cloud",icon:"generic24.png",description:"Communicate with OData 2.0 services using Apache Olingo.",properties:{apiName:{kind:"path",type:"object",enum:["DEFAULT"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"HTTP connection creation timeout in milliseconds, defaults to 30,000 (30 seconds)",title:"Connect Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"application/json;charset=utf-8",description:"Content-Type header value can be used to specify JSON or XML message format, defaults to application/json;charset=utf-8",title:"Content Type",required:!1,deprecated:!1},entityProviderReadProperties:{kind:"parameter",type:"object",description:"Custom entity provider read properties applied to all read operations.",title:"Entity Provider Read Properties",required:!1,deprecated:!1},entityProviderWriteProperties:{kind:"parameter",type:"object",description:"Custom entity provider write properties applied to create, update, patch, batch and merge operations. For instance users can skip the Json object wrapper or enable content only mode when sending request data. A service URI set in the properties will always be overwritten by the serviceUri configuration parameter. Please consider to using the serviceUri configuration parameter instead of setting the respective write property here.",title:"Entity Provider Write Properties",required:!1,deprecated:!1},filterAlreadySeen:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this to true to filter out results that have already been communicated by this component.",title:"Filter Already Seen",required:!1,deprecated:!1},httpHeaders:{kind:"parameter",type:"object",description:"Custom HTTP headers to inject into every request, this could include OAuth tokens, etc.",title:"Http Headers",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},proxy:{kind:"parameter",type:"object",description:"HTTP proxy server configuration",title:"Proxy",required:!1,deprecated:!1},serviceUri:{kind:"parameter",type:"string",description:"Target OData service base URI, e.g. http://services.odata.org/OData/OData.svc",title:"Service Uri",required:!1,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"HTTP request timeout in milliseconds, defaults to 30,000 (30 seconds)",title:"Socket Timeout",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},splitResult:{kind:"parameter",type:"boolean",defaultValue:"true",description:"For endpoints that return an array or collection, a consumer endpoint will map every element to distinct messages, unless splitResult is set to false.",title:"Split Result",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpAsyncClientBuilder:{kind:"parameter",type:"object",description:"Custom HTTP async client builder for more complex HTTP client configuration, overrides connectionTimeout, socketTimeout, proxy and sslContext. Note that a socketTimeout MUST be specified in the builder, otherwise OData requests could block indefinitely",title:"Http Async Client Builder",required:!1,deprecated:!1},httpClientBuilder:{kind:"parameter",type:"object",description:"Custom HTTP client builder for more complex HTTP client configuration, overrides connectionTimeout, socketTimeout, proxy and sslContext. Note that a socketTimeout MUST be specified in the builder, otherwise OData requests could block indefinitely",title:"Http Client Builder",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},olingo4:{type:"object",title:"Olingo4",group:"cloud",icon:"generic24.png",description:"Communicate with OData 4.0 services using Apache Olingo OData API.",properties:{apiName:{kind:"path",type:"object",enum:["DEFAULT"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"HTTP connection creation timeout in milliseconds, defaults to 30,000 (30 seconds)",title:"Connect Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"application/json;charset=utf-8",description:"Content-Type header value can be used to specify JSON or XML message format, defaults to application/json;charset=utf-8",title:"Content Type",required:!1,deprecated:!1},filterAlreadySeen:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this to true to filter out results that have already been communicated by this component.",title:"Filter Already Seen",required:!1,deprecated:!1},httpHeaders:{kind:"parameter",type:"object",description:"Custom HTTP headers to inject into every request, this could include OAuth tokens, etc.",title:"Http Headers",required:!1,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},proxy:{kind:"parameter",type:"object",description:"HTTP proxy server configuration",title:"Proxy",required:!1,deprecated:!1},serviceUri:{kind:"parameter",type:"string",description:"Target OData service base URI, e.g. http://services.odata.org/OData/OData.svc",title:"Service Uri",required:!1,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"HTTP request timeout in milliseconds, defaults to 30,000 (30 seconds)",title:"Socket Timeout",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},splitResult:{kind:"parameter",type:"boolean",defaultValue:"true",description:"For endpoints that return an array or collection, a consumer endpoint will map every element to distinct messages, unless splitResult is set to false.",title:"Split Result",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpAsyncClientBuilder:{kind:"parameter",type:"object",description:"Custom HTTP async client builder for more complex HTTP client configuration, overrides connectionTimeout, socketTimeout, proxy and sslContext. Note that a socketTimeout MUST be specified in the builder, otherwise OData requests could block indefinitely",title:"Http Async Client Builder",required:!1,deprecated:!1},httpClientBuilder:{kind:"parameter",type:"object",description:"Custom HTTP client builder for more complex HTTP client configuration, overrides connectionTimeout, socketTimeout, proxy and sslContext. Note that a socketTimeout MUST be specified in the builder, otherwise OData requests could block indefinitely",title:"Http Client Builder",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},opensearch:{type:"object",title:"OpenSearch",group:"search,monitoring",icon:"generic24.png",description:"Send requests to OpenSearch via Java Client API.",properties:{clusterName:{kind:"path",type:"string",description:"Name of the cluster",title:"Cluster Name",required:!0,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The time in ms to wait before connection will timeout.",title:"Connection Timeout",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Disconnect after it finish calling the producer",title:"Disconnect",required:!1,deprecated:!1},from:{kind:"parameter",type:"integer",description:"Starting index of the response.",title:"From",required:!1,deprecated:!1},hostAddresses:{kind:"parameter",type:"string",description:"Comma separated list with ip:port formatted remote transport addresses to use.",title:"Host Addresses",required:!1,deprecated:!1},indexName:{kind:"parameter",type:"string",description:"The name of the index to act against",title:"Index Name",required:!1,deprecated:!1},maxRetryTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The time in ms before retry",title:"Max Retry Timeout",required:!1,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["Index","Update","Bulk","GetById","MultiGet","MultiSearch","Delete","DeleteIndex","Search","Exists","Ping"],description:"What operation to perform",title:"Operation",required:!1,deprecated:!1},scrollKeepAliveMs:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Time in ms during which OpenSearch will keep search context alive",title:"Scroll Keep Alive Ms",required:!1,deprecated:!1},size:{kind:"parameter",type:"integer",description:"Size of the response.",title:"Size",required:!1,deprecated:!1},socketTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The timeout in ms to wait before the socket will timeout.",title:"Socket Timeout",required:!1,deprecated:!1},useScroll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable scroll usage",title:"Use Scroll",required:!1,deprecated:!1},waitForActiveShards:{kind:"parameter",type:"integer",defaultValue:"1",description:"Index creation waits for the write consistency number of shards to be available",title:"Wait For Active Shards",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},documentClass:{kind:"parameter",type:"string",defaultValue:"ObjectNode",description:"The class to use when deserializing the documents.",title:"Document Class",required:!1,deprecated:!1},enableSniffer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable automatically discover nodes from a running OpenSearch cluster. If this option is used in conjunction with Spring Boot then it's managed by the Spring Boot configuration (see: Disable Sniffer in Spring Boot).",title:"Enable Sniffer",required:!1,deprecated:!1},sniffAfterFailureDelay:{kind:"parameter",type:"integer",defaultValue:"60000",description:"The delay of a sniff execution scheduled after a failure (in milliseconds)",title:"Sniff After Failure Delay",required:!1,deprecated:!1},snifferInterval:{kind:"parameter",type:"integer",defaultValue:"300000",description:"The interval between consecutive ordinary sniff executions in milliseconds. Will be honoured when sniffOnFailure is disabled or when there are no failures between consecutive sniff executions",title:"Sniffer Interval",required:!1,deprecated:!1},certificatePath:{kind:"parameter",type:"string",description:"The certificate that can be used to access the ES Cluster. It can be loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems.",title:"Certificate Path",required:!1,deprecated:!1},enableSSL:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable SSL",title:"Enable SSL",required:!1,deprecated:!1}}},"openshift-build-configs":{type:"object",title:"Openshift Build Config",group:"container,cloud",icon:"generic24.png",description:"Perform operations on OpenShift Build Configs.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"openshift-builds":{type:"object",title:"Openshift Builds",group:"container,cloud",icon:"generic24.png",description:"Perform operations on OpenShift Builds.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"openshift-deploymentconfigs":{type:"object",title:"Openshift Deployment Configs",group:"container,cloud",icon:"generic24.png",description:"Perform operations on Openshift Deployment Configs and get notified on Deployment Config changes.",properties:{masterUrl:{kind:"path",type:"string",description:"URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.",title:"Master Url",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The Kubernetes API Version to use",title:"Api Version",required:!1,deprecated:!1},dnsDomain:{kind:"parameter",type:"string",description:"The dns domain, used for ServiceCall EIP",title:"Dns Domain",required:!1,deprecated:!1},kubernetesClient:{kind:"parameter",type:"object",description:"Default KubernetesClient to use if provided",title:"Kubernetes Client",required:!1,deprecated:!1},namespace:{kind:"parameter",type:"string",description:"The namespace",title:"Namespace",required:!1,deprecated:!1},portName:{kind:"parameter",type:"string",description:"The port name, used for ServiceCall EIP",title:"Port Name",required:!1,deprecated:!1},portProtocol:{kind:"parameter",type:"string",defaultValue:"tcp",description:"The port protocol, used for ServiceCall EIP",title:"Port Protocol",required:!1,deprecated:!1},crdGroup:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Group we would like to watch",title:"Crd Group",required:!1,deprecated:!1},crdName:{kind:"parameter",type:"string",description:"The Consumer CRD Resource name we would like to watch",title:"Crd Name",required:!1,deprecated:!1},crdPlural:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Plural we would like to watch",title:"Crd Plural",required:!1,deprecated:!1},crdScope:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Scope we would like to watch",title:"Crd Scope",required:!1,deprecated:!1},crdVersion:{kind:"parameter",type:"string",description:"The Consumer CRD Resource Version we would like to watch",title:"Crd Version",required:!1,deprecated:!1},labelKey:{kind:"parameter",type:"string",description:"The Consumer Label key when watching at some resources",title:"Label Key",required:!1,deprecated:!1},labelValue:{kind:"parameter",type:"string",description:"The Consumer Label value when watching at some resources",title:"Label Value",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Consumer pool size",title:"Pool Size",required:!1,deprecated:!1},resourceName:{kind:"parameter",type:"string",description:"The Consumer Resource Name we would like to watch",title:"Resource Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"Producer operation to do on Kubernetes",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",description:"Connection timeout in milliseconds to use when making requests to the Kubernetes API server.",title:"Connection Timeout",required:!1,deprecated:!1},caCertData:{kind:"parameter",type:"string",description:"The CA Cert Data",title:"Ca Cert Data",required:!1,deprecated:!1},caCertFile:{kind:"parameter",type:"string",description:"The CA Cert File",title:"Ca Cert File",required:!1,deprecated:!1},clientCertData:{kind:"parameter",type:"string",description:"The Client Cert Data",title:"Client Cert Data",required:!1,deprecated:!1},clientCertFile:{kind:"parameter",type:"string",description:"The Client Cert File",title:"Client Cert File",required:!1,deprecated:!1},clientKeyAlgo:{kind:"parameter",type:"string",description:"The Key Algorithm used by the client",title:"Client Key Algo",required:!1,deprecated:!1},clientKeyData:{kind:"parameter",type:"string",description:"The Client Key data",title:"Client Key Data",required:!1,deprecated:!1},clientKeyFile:{kind:"parameter",type:"string",description:"The Client Key file",title:"Client Key File",required:!1,deprecated:!1},clientKeyPassphrase:{kind:"parameter",type:"string",description:"The Client Key Passphrase",title:"Client Key Passphrase",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The Auth Token",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to connect to Kubernetes",title:"Password",required:!1,deprecated:!1},trustCerts:{kind:"parameter",type:"boolean",description:"Define if the certs we used are trusted anyway or not",title:"Trust Certs",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to connect to Kubernetes",title:"Username",required:!1,deprecated:!1}}},"openstack-cinder":{type:"object",title:"OpenStack Cinder",group:"container",icon:"generic24.png",description:"Access data in OpenStack Cinder block storage.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"V3",enum:["V2","V3"],description:"OpenStack API version",title:"Api Version",required:!1,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},subsystem:{kind:"parameter",type:"string",enum:["snapshots","volumes"],description:"OpenStack Cinder subsystem",title:"Subsystem",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"openstack-glance":{type:"object",title:"OpenStack Glance",group:"container",icon:"generic24.png",description:"Manage VM images and metadata definitions in OpenStack Glance.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"V3",enum:["V2","V3"],description:"OpenStack API version",title:"Api Version",required:!1,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"openstack-keystone":{type:"object",title:"OpenStack Keystone",group:"container",icon:"generic24.png",description:"Access OpenStack Keystone for API client authentication, service discovery and distributed multi-tenant authorization.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},subsystem:{kind:"parameter",type:"string",enum:["regions","domains","projects","users","groups"],description:"OpenStack Keystone subsystem",title:"Subsystem",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"openstack-neutron":{type:"object",title:"OpenStack Neutron",group:"container",icon:"generic24.png",description:"Access OpenStack Neutron for network services.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"V3",enum:["V2","V3"],description:"OpenStack API version",title:"Api Version",required:!1,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},subsystem:{kind:"parameter",type:"string",enum:["networks","subnets","ports","routers"],description:"OpenStack Neutron subsystem",title:"Subsystem",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"openstack-nova":{type:"object",title:"OpenStack Nova",group:"container",icon:"generic24.png",description:"Access OpenStack to manage compute resources.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"V3",enum:["V2","V3"],description:"OpenStack API version",title:"Api Version",required:!1,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},subsystem:{kind:"parameter",type:"string",enum:["flavors","servers","keypairs"],description:"OpenStack Nova subsystem",title:"Subsystem",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"openstack-swift":{type:"object",title:"OpenStack Swift",group:"container",icon:"generic24.png",description:"Access OpenStack Swift object/blob store.",properties:{host:{kind:"path",type:"string",description:"OpenStack host url",title:"Host",required:!0,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"V3",enum:["V2","V3"],description:"OpenStack API version",title:"Api Version",required:!1,deprecated:!1},config:{kind:"parameter",type:"object",description:"OpenStack configuration",title:"Config",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",defaultValue:"default",description:"Authentication domain",title:"Domain",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",description:"The operation to do",title:"Operation",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"OpenStack password",title:"Password",required:!0,deprecated:!1},project:{kind:"parameter",type:"string",description:"The project ID",title:"Project",required:!0,deprecated:!1},subsystem:{kind:"parameter",type:"string",enum:["objects","containers"],description:"OpenStack Swift subsystem",title:"Subsystem",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"OpenStack username",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},optaplanner:{type:"object",title:"OptaPlanner",group:"workflow",icon:"generic24.png",description:"Solve planning problems with OptaPlanner.",properties:{problemName:{kind:"path",type:"string",description:"Problem name",title:"Problem Name",required:!0,deprecated:!1},problemId:{kind:"parameter",type:"integer",defaultValue:"1L",description:"In case of using SolverManager : the problem id",title:"Problem Id",required:!1,deprecated:!1},solverId:{kind:"parameter",type:"string",defaultValue:"DEFAULT_SOLVER",description:"Specifies the solverId to user for the solver instance key",title:"Solver Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},async:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies to perform operations in async mode",title:"Async",required:!1,deprecated:!1},threadPoolSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"Specifies the thread pool size to use when async is true",title:"Thread Pool Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},configFile:{kind:"parameter",type:"string",description:"If SolverManager is absent from the header {OptaPlannerConstants.SOLVER_MANAGER} : A SolverManager will be created using this Optaplanner config file.",title:"Config File",required:!1,deprecated:!1},solverManager:{kind:"parameter",type:"object",description:"SolverManager",title:"Solver Manager",required:!1,deprecated:!1}}},paho:{type:"object",title:"Paho",group:"messaging,iot",icon:"generic24.png",description:"Communicate with MQTT message brokers using Eclipse Paho MQTT Client.",properties:{topic:{kind:"path",type:"string",description:"Name of the topic",title:"Topic",required:!0,deprecated:!1},automaticReconnect:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether the client will automatically attempt to reconnect to the server if the connection is lost. If set to false, the client will not attempt to automatically reconnect to the server in the event that the connection is lost. If set to true, in the event that the connection is lost, the client will attempt to reconnect to the server. It will initially wait 1 second before it attempts to reconnect, for every failed reconnect attempt, the delay will double until it is at 2 minutes at which point the delay will stay at 2 minutes.",title:"Automatic Reconnect",required:!1,deprecated:!1},brokerUrl:{kind:"parameter",type:"string",defaultValue:"tcp://localhost:1883",description:"The URL of the MQTT broker.",title:"Broker Url",required:!1,deprecated:!1},cleanSession:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether the client and server should remember state across restarts and reconnects. If set to false both the client and server will maintain state across restarts of the client, the server and the connection. As state is maintained: Message delivery will be reliable meeting the specified QOS even if the client, server or connection are restarted. The server will treat a subscription as durable. If set to true the client and server will not maintain state across restarts of the client, the server or the connection. This means Message delivery to the specified QOS cannot be maintained if the client, server or connection are restarted The server will treat a subscription as non-durable",title:"Clean Session",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"MQTT client identifier. The identifier must be unique.",title:"Client Id",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30",description:"Sets the connection timeout value. This value, measured in seconds, defines the maximum time interval the client will wait for the network connection to the MQTT server to be established. The default timeout is 30 seconds. A value of 0 disables timeout processing meaning the client will wait until the network connection is made successfully or fails.",title:"Connection Timeout",required:!1,deprecated:!1},filePersistenceDirectory:{kind:"parameter",type:"string",description:"Base directory used by file persistence. Will by default use user directory.",title:"File Persistence Directory",required:!1,deprecated:!1},keepAliveInterval:{kind:"parameter",type:"integer",defaultValue:"60",description:"Sets the keep alive interval. This value, measured in seconds, defines the maximum time interval between messages sent or received. It enables the client to detect if the server is no longer available, without having to wait for the TCP/IP timeout. The client will ensure that at least one message travels across the network within each keep alive period. In the absence of a data-related message during the time period, the client sends a very small ping message, which the server will acknowledge. A value of 0 disables keepalive processing in the client. The default value is 60 seconds",title:"Keep Alive Interval",required:!1,deprecated:!1},maxInflight:{kind:"parameter",type:"integer",defaultValue:"10",description:"Sets the max inflight. please increase this value in a high traffic environment. The default value is 10",title:"Max Inflight",required:!1,deprecated:!1},maxReconnectDelay:{kind:"parameter",type:"integer",defaultValue:"128000",description:"Get the maximum time (in millis) to wait between reconnects",title:"Max Reconnect Delay",required:!1,deprecated:!1},mqttVersion:{kind:"parameter",type:"integer",description:"Sets the MQTT version. The default action is to connect with version 3.1.1, and to fall back to 3.1 if that fails. Version 3.1.1 or 3.1 can be selected specifically, with no fall back, by using the MQTT_VERSION_3_1_1 or MQTT_VERSION_3_1 options respectively.",title:"Mqtt Version",required:!1,deprecated:!1},persistence:{kind:"parameter",type:"object",defaultValue:"MEMORY",enum:["FILE","MEMORY"],description:"Client persistence to be used - memory or file.",title:"Persistence",required:!1,deprecated:!1},qos:{kind:"parameter",type:"integer",defaultValue:"2",description:"Client quality of service level (0-2).",title:"Qos",required:!1,deprecated:!1},retained:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Retain option",title:"Retained",required:!1,deprecated:!1},serverURIs:{kind:"parameter",type:"string",description:"Set a list of one or more serverURIs the client may connect to. Multiple servers can be separated by comma. Each serverURI specifies the address of a server that the client may connect to. Two types of connection are supported tcp:// for a TCP connection and ssl:// for a TCP connection secured by SSL/TLS. For example: tcp://localhost:1883 ssl://localhost:8883 If the port is not specified, it will default to 1883 for tcp:// URIs, and 8883 for ssl:// URIs. If serverURIs is set then it overrides the serverURI parameter passed in on the constructor of the MQTT client. When an attempt to connect is initiated the client will start with the first serverURI in the list and work through the list until a connection is established with a server. If a connection cannot be made to any of the servers then the connect attempt fails. Specifying a list of servers that a client may connect to has several uses: High Availability and reliable message delivery Some MQTT servers support a high availability feature where two or more equal MQTT servers share state. An MQTT client can connect to any of the equal servers and be assured that messages are reliably delivered and durable subscriptions are maintained no matter which server the client connects to. The cleansession flag must be set to false if durable subscriptions and/or reliable message delivery is required. Hunt List A set of servers may be specified that are not equal (as in the high availability option). As no state is shared across the servers reliable message delivery and durable subscriptions are not valid. The cleansession flag must be set to true if the hunt list mode is used",title:"Server URIs",required:!1,deprecated:!1},willPayload:{kind:"parameter",type:"string",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. Sets the message for the LWT.",title:"Will Payload",required:!1,deprecated:!1},willQos:{kind:"parameter",type:"integer",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. Sets the quality of service to publish the message at (0, 1 or 2).",title:"Will Qos",required:!1,deprecated:!1},willRetained:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. Sets whether or not the message should be retained.",title:"Will Retained",required:!1,deprecated:!1},willTopic:{kind:"parameter",type:"string",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. Sets the topic that the willPayload will be published to.",title:"Will Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"To use an existing mqtt client",title:"Client",required:!1,deprecated:!1},customWebSocketHeaders:{kind:"parameter",type:"object",description:"Sets the Custom WebSocket Headers for the WebSocket Connection.",title:"Custom Web Socket Headers",required:!1,deprecated:!1},executorServiceTimeout:{kind:"parameter",type:"integer",defaultValue:"1",description:"Set the time in seconds that the executor service should wait when terminating before forcefully terminating. It is not recommended to change this value unless you are absolutely sure that you need to.",title:"Executor Service Timeout",required:!1,deprecated:!1},httpsHostnameVerificationEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether SSL HostnameVerifier is enabled or not. The default value is true.",title:"Https Hostname Verification Enabled",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to be used for authentication against the MQTT broker",title:"Password",required:!1,deprecated:!1},socketFactory:{kind:"parameter",type:"object",description:"Sets the SocketFactory to use. This allows an application to apply its own policies around the creation of network sockets. If using an SSL connection, an SSLSocketFactory can be used to supply application-specific security settings.",title:"Socket Factory",required:!1,deprecated:!1},sslClientProps:{kind:"parameter",type:"object",description:"Sets the SSL properties for the connection. Note that these properties are only valid if an implementation of the Java Secure Socket Extensions (JSSE) is available. These properties are not used if a custom SocketFactory has been set. The following properties can be used: com.ibm.ssl.protocol One of: SSL, SSLv3, TLS, TLSv1, SSL_TLS. com.ibm.ssl.contextProvider Underlying JSSE provider. For example IBMJSSE2 or SunJSSE com.ibm.ssl.keyStore The name of the file that contains the KeyStore object that you want the KeyManager to use. For example /mydir/etc/key.p12 com.ibm.ssl.keyStorePassword The password for the KeyStore object that you want the KeyManager to use. The password can either be in plain-text, or may be obfuscated using the static method: com.ibm.micro.security.Password.obfuscate(char password). This obfuscates the password using a simple and insecure XOR and Base64 encoding mechanism. Note that this is only a simple scrambler to obfuscate clear-text passwords. com.ibm.ssl.keyStoreType Type of key store, for example PKCS12, JKS, or JCEKS. com.ibm.ssl.keyStoreProvider Key store provider, for example IBMJCE or IBMJCEFIPS. com.ibm.ssl.trustStore The name of the file that contains the KeyStore object that you want the TrustManager to use. com.ibm.ssl.trustStorePassword The password for the TrustStore object that you want the TrustManager to use. The password can either be in plain-text, or may be obfuscated using the static method: com.ibm.micro.security.Password.obfuscate(char password). This obfuscates the password using a simple and insecure XOR and Base64 encoding mechanism. Note that this is only a simple scrambler to obfuscate clear-text passwords. com.ibm.ssl.trustStoreType The type of KeyStore object that you want the default TrustManager to use. Same possible values as keyStoreType. com.ibm.ssl.trustStoreProvider Trust store provider, for example IBMJCE or IBMJCEFIPS. com.ibm.ssl.enabledCipherSuites A list of which ciphers are enabled. Values are dependent on the provider, for example: SSL_RSA_WITH_AES_128_CBC_SHA;SSL_RSA_WITH_3DES_EDE_CBC_SHA. com.ibm.ssl.keyManager Sets the algorithm that will be used to instantiate a KeyManagerFactory object instead of using the default algorithm available in the platform. Example values: IbmX509 or IBMJ9X509. com.ibm.ssl.trustManager Sets the algorithm that will be used to instantiate a TrustManagerFactory object instead of using the default algorithm available in the platform. Example values: PKIX or IBMJ9X509.",title:"Ssl Client Props",required:!1,deprecated:!1},sslHostnameVerifier:{kind:"parameter",type:"object",description:"Sets the HostnameVerifier for the SSL connection. Note that it will be used after handshake on a connection and you should do actions by yourself when hostname is verified error. There is no default HostnameVerifier",title:"Ssl Hostname Verifier",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"Username to be used for authentication against the MQTT broker",title:"User Name",required:!1,deprecated:!1}}},"paho-mqtt5":{type:"object",title:"Paho MQTT 5",group:"messaging,iot",icon:"generic24.png",description:"Communicate with MQTT message brokers using Eclipse Paho MQTT v5 Client.",properties:{topic:{kind:"path",type:"string",description:"Name of the topic",title:"Topic",required:!0,deprecated:!1},automaticReconnect:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether the client will automatically attempt to reconnect to the server if the connection is lost. If set to false, the client will not attempt to automatically reconnect to the server in the event that the connection is lost. If set to true, in the event that the connection is lost, the client will attempt to reconnect to the server. It will initially wait 1 second before it attempts to reconnect, for every failed reconnect attempt, the delay will double until it is at 2 minutes at which point the delay will stay at 2 minutes.",title:"Automatic Reconnect",required:!1,deprecated:!1},brokerUrl:{kind:"parameter",type:"string",defaultValue:"tcp://localhost:1883",description:"The URL of the MQTT broker.",title:"Broker Url",required:!1,deprecated:!1},cleanStart:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether the client and server should remember state across restarts and reconnects. If set to false both the client and server will maintain state across restarts of the client, the server and the connection. As state is maintained: Message delivery will be reliable meeting the specified QOS even if the client, server or connection are restarted. The server will treat a subscription as durable. If set to true the client and server will not maintain state across restarts of the client, the server or the connection. This means Message delivery to the specified QOS cannot be maintained if the client, server or connection are restarted The server will treat a subscription as non-durable",title:"Clean Start",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"MQTT client identifier. The identifier must be unique.",title:"Client Id",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30",description:"Sets the connection timeout value. This value, measured in seconds, defines the maximum time interval the client will wait for the network connection to the MQTT server to be established. The default timeout is 30 seconds. A value of 0 disables timeout processing meaning the client will wait until the network connection is made successfully or fails.",title:"Connection Timeout",required:!1,deprecated:!1},filePersistenceDirectory:{kind:"parameter",type:"string",description:"Base directory used by file persistence. Will by default use user directory.",title:"File Persistence Directory",required:!1,deprecated:!1},keepAliveInterval:{kind:"parameter",type:"integer",defaultValue:"60",description:"Sets the keep alive interval. This value, measured in seconds, defines the maximum time interval between messages sent or received. It enables the client to detect if the server is no longer available, without having to wait for the TCP/IP timeout. The client will ensure that at least one message travels across the network within each keep alive period. In the absence of a data-related message during the time period, the client sends a very small ping message, which the server will acknowledge. A value of 0 disables keepalive processing in the client. The default value is 60 seconds",title:"Keep Alive Interval",required:!1,deprecated:!1},maxReconnectDelay:{kind:"parameter",type:"integer",defaultValue:"128000",description:"Get the maximum time (in millis) to wait between reconnects",title:"Max Reconnect Delay",required:!1,deprecated:!1},persistence:{kind:"parameter",type:"object",defaultValue:"MEMORY",enum:["FILE","MEMORY"],description:"Client persistence to be used - memory or file.",title:"Persistence",required:!1,deprecated:!1},qos:{kind:"parameter",type:"integer",defaultValue:"2",description:"Client quality of service level (0-2).",title:"Qos",required:!1,deprecated:!1},receiveMaximum:{kind:"parameter",type:"integer",defaultValue:"65535",description:"Sets the Receive Maximum. This value represents the limit of QoS 1 and QoS 2 publications that the client is willing to process concurrently. There is no mechanism to limit the number of QoS 0 publications that the Server might try to send. The default value is 65535",title:"Receive Maximum",required:!1,deprecated:!1},retained:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Retain option",title:"Retained",required:!1,deprecated:!1},serverURIs:{kind:"parameter",type:"string",description:"Set a list of one or more serverURIs the client may connect to. Multiple servers can be separated by comma. Each serverURI specifies the address of a server that the client may connect to. Two types of connection are supported tcp:// for a TCP connection and ssl:// for a TCP connection secured by SSL/TLS. For example: tcp://localhost:1883 ssl://localhost:8883 If the port is not specified, it will default to 1883 for tcp:// URIs, and 8883 for ssl:// URIs. If serverURIs is set then it overrides the serverURI parameter passed in on the constructor of the MQTT client. When an attempt to connect is initiated the client will start with the first serverURI in the list and work through the list until a connection is established with a server. If a connection cannot be made to any of the servers then the connect attempt fails. Specifying a list of servers that a client may connect to has several uses: High Availability and reliable message delivery Some MQTT servers support a high availability feature where two or more equal MQTT servers share state. An MQTT client can connect to any of the equal servers and be assured that messages are reliably delivered and durable subscriptions are maintained no matter which server the client connects to. The cleansession flag must be set to false if durable subscriptions and/or reliable message delivery is required. Hunt List A set of servers may be specified that are not equal (as in the high availability option). As no state is shared across the servers reliable message delivery and durable subscriptions are not valid. The cleansession flag must be set to true if the hunt list mode is used",title:"Server URIs",required:!1,deprecated:!1},sessionExpiryInterval:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the Session Expiry Interval. This value, measured in seconds, defines the maximum time that the broker will maintain the session for once the client disconnects. Clients should only connect with a long Session Expiry interval if they intend to connect to the server at some later point in time. By default this value is -1 and so will not be sent, in this case, the session will not expire. If a 0 is sent, the session will end immediately once the Network Connection is closed. When the client has determined that it has no longer any use for the session, it should disconnect with a Session Expiry Interval set to 0.",title:"Session Expiry Interval",required:!1,deprecated:!1},willMqttProperties:{kind:"parameter",type:"object",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. The MQTT properties set for the message.",title:"Will Mqtt Properties",required:!1,deprecated:!1},willPayload:{kind:"parameter",type:"string",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. The byte payload for the message.",title:"Will Payload",required:!1,deprecated:!1},willQos:{kind:"parameter",type:"integer",defaultValue:"1",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. The quality of service to publish the message at (0, 1 or 2).",title:"Will Qos",required:!1,deprecated:!1},willRetained:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. Whether or not the message should be retained.",title:"Will Retained",required:!1,deprecated:!1},willTopic:{kind:"parameter",type:"string",description:"Sets the Last Will and Testament (LWT) for the connection. In the event that this client unexpectedly loses its connection to the server, the server will publish a message to itself using the supplied details. The topic to publish to.",title:"Will Topic",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"To use an existing mqtt client",title:"Client",required:!1,deprecated:!1},customWebSocketHeaders:{kind:"parameter",type:"object",description:"Sets the Custom WebSocket Headers for the WebSocket Connection.",title:"Custom Web Socket Headers",required:!1,deprecated:!1},executorServiceTimeout:{kind:"parameter",type:"integer",defaultValue:"1",description:"Set the time in seconds that the executor service should wait when terminating before forcefully terminating. It is not recommended to change this value unless you are absolutely sure that you need to.",title:"Executor Service Timeout",required:!1,deprecated:!1},httpsHostnameVerificationEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether SSL HostnameVerifier is enabled or not. The default value is true.",title:"Https Hostname Verification Enabled",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to be used for authentication against the MQTT broker",title:"Password",required:!1,deprecated:!1},socketFactory:{kind:"parameter",type:"object",description:"Sets the SocketFactory to use. This allows an application to apply its own policies around the creation of network sockets. If using an SSL connection, an SSLSocketFactory can be used to supply application-specific security settings.",title:"Socket Factory",required:!1,deprecated:!1},sslClientProps:{kind:"parameter",type:"object",description:"Sets the SSL properties for the connection. Note that these properties are only valid if an implementation of the Java Secure Socket Extensions (JSSE) is available. These properties are not used if a custom SocketFactory has been set. The following properties can be used: com.ibm.ssl.protocol One of: SSL, SSLv3, TLS, TLSv1, SSL_TLS. com.ibm.ssl.contextProvider Underlying JSSE provider. For example IBMJSSE2 or SunJSSE com.ibm.ssl.keyStore The name of the file that contains the KeyStore object that you want the KeyManager to use. For example /mydir/etc/key.p12 com.ibm.ssl.keyStorePassword The password for the KeyStore object that you want the KeyManager to use. The password can either be in plain-text, or may be obfuscated using the static method: com.ibm.micro.security.Password.obfuscate(char password). This obfuscates the password using a simple and insecure XOR and Base64 encoding mechanism. Note that this is only a simple scrambler to obfuscate clear-text passwords. com.ibm.ssl.keyStoreType Type of key store, for example PKCS12, JKS, or JCEKS. com.ibm.ssl.keyStoreProvider Key store provider, for example IBMJCE or IBMJCEFIPS. com.ibm.ssl.trustStore The name of the file that contains the KeyStore object that you want the TrustManager to use. com.ibm.ssl.trustStorePassword The password for the TrustStore object that you want the TrustManager to use. The password can either be in plain-text, or may be obfuscated using the static method: com.ibm.micro.security.Password.obfuscate(char password). This obfuscates the password using a simple and insecure XOR and Base64 encoding mechanism. Note that this is only a simple scrambler to obfuscate clear-text passwords. com.ibm.ssl.trustStoreType The type of KeyStore object that you want the default TrustManager to use. Same possible values as keyStoreType. com.ibm.ssl.trustStoreProvider Trust store provider, for example IBMJCE or IBMJCEFIPS. com.ibm.ssl.enabledCipherSuites A list of which ciphers are enabled. Values are dependent on the provider, for example: SSL_RSA_WITH_AES_128_CBC_SHA;SSL_RSA_WITH_3DES_EDE_CBC_SHA. com.ibm.ssl.keyManager Sets the algorithm that will be used to instantiate a KeyManagerFactory object instead of using the default algorithm available in the platform. Example values: IbmX509 or IBMJ9X509. com.ibm.ssl.trustManager Sets the algorithm that will be used to instantiate a TrustManagerFactory object instead of using the default algorithm available in the platform. Example values: PKIX or IBMJ9X509.",title:"Ssl Client Props",required:!1,deprecated:!1},sslHostnameVerifier:{kind:"parameter",type:"object",description:"Sets the HostnameVerifier for the SSL connection. Note that it will be used after handshake on a connection and you should do actions by yourself when hostname is verified error. There is no default HostnameVerifier",title:"Ssl Hostname Verifier",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"Username to be used for authentication against the MQTT broker",title:"User Name",required:!1,deprecated:!1}}},pdf:{type:"object",title:"PDF",group:"document,transformation",icon:"generic24.png",description:"Create, modify or extract content from PDF documents.",properties:{operation:{kind:"path",type:"object",enum:["create","append","extractText"],description:"Operation type",title:"Operation",required:!0,deprecated:!1},font:{kind:"parameter",type:"string",defaultValue:"HELVETICA",enum:["COURIER","COURIER_BOLD","COURIER_OBLIQUE","COURIER_BOLD_OBLIQUE","HELVETICA","HELVETICA_BOLD","HELVETICA_OBLIQUE","HELVETICA_BOLD_OBLIQUE","TIMES_ROMAN","TIMES_BOLD","TIMES_ITALIC","TIMES_BOLD_ITALIC","SYMBOL","ZAPF_DINGBATS"],description:"Font",title:"Font",required:!1,deprecated:!1},fontSize:{kind:"parameter",type:"number",defaultValue:"14.0",description:"Font size in pixels",title:"Font Size",required:!1,deprecated:!1},marginBottom:{kind:"parameter",type:"integer",defaultValue:"20",description:"Margin bottom in pixels",title:"Margin Bottom",required:!1,deprecated:!1},marginLeft:{kind:"parameter",type:"integer",defaultValue:"20",description:"Margin left in pixels",title:"Margin Left",required:!1,deprecated:!1},marginRight:{kind:"parameter",type:"integer",defaultValue:"40",description:"Margin right in pixels",title:"Margin Right",required:!1,deprecated:!1},marginTop:{kind:"parameter",type:"integer",defaultValue:"20",description:"Margin top in pixels",title:"Margin Top",required:!1,deprecated:!1},pageSize:{kind:"parameter",type:"string",defaultValue:"A4",enum:["LETTER","LEGAL","A0","A1","A2","A3","A4","A5","A6"],description:"Page size",title:"Page Size",required:!1,deprecated:!1},textProcessingFactory:{kind:"parameter",type:"object",defaultValue:"lineTermination",enum:["autoFormatting","lineTermination"],description:"Text processing to use. autoFormatting: Text is getting sliced by words, then max amount of words that fits in the line will be written into pdf document. With this strategy all words that doesn't fit in the line will be moved to the new line. lineTermination: Builds set of classes for line-termination writing strategy. Text getting sliced by line termination symbol and then it will be written regardless it fits in the line or not.",title:"Text Processing Factory",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"pg-replication-slot":{type:"object",title:"PostgresSQL Replication Slot",group:"database",icon:"generic24.png",description:"Poll for PostgreSQL Write-Ahead Log (WAL) records using Streaming Replication Slots.",properties:{slot:{kind:"path",type:"string",description:"Replication Slot name",title:"Slot",required:!0,deprecated:!1},host:{kind:"path",type:"string",defaultValue:"localhost",description:"Postgres host",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"5432",description:"Postgres port",title:"Port",required:!1,deprecated:!1},database:{kind:"path",type:"string",description:"Postgres database name",title:"Database",required:!0,deprecated:!1},outputPlugin:{kind:"path",type:"string",description:"Output plugin name",title:"Output Plugin",required:!0,deprecated:!1},password:{kind:"parameter",type:"string",description:"Postgres password",title:"Password",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",defaultValue:"postgres",description:"Postgres user",title:"User",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},autoCreateSlot:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Auto create slot if it does not exist",title:"Auto Create Slot",required:!1,deprecated:!1},slotOptions:{kind:"parameter",type:"object",description:"Slot options to be passed to the output plugin.",title:"Slot Options",required:!1,deprecated:!1},statusInterval:{kind:"parameter",type:"integer",defaultValue:"10",description:"Specifies the number of seconds between status packets sent back to Postgres server.",title:"Status Interval",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},pgevent:{type:"object",title:"PostgresSQL Event",group:"database",icon:"generic24.png",description:"Send and receive PostgreSQL events via LISTEN and NOTIFY commands.",properties:{host:{kind:"path",type:"string",defaultValue:"localhost",description:"To connect using hostname and port to the database.",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"5432",description:"To connect using hostname and port to the database.",title:"Port",required:!1,deprecated:!1},database:{kind:"path",type:"string",description:"The database name. The database name can take any characters because it is sent as a quoted identifier. It is part of the endpoint URI, so diacritical marks and non-Latin letters have to be URL encoded.",title:"Database",required:!0,deprecated:!1},channel:{kind:"path",type:"string",description:"The channel name",title:"Channel",required:!0,deprecated:!1},datasource:{kind:"parameter",type:"object",description:"To connect using the given javax.sql.DataSource instead of using hostname and port.",title:"Datasource",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},pass:{kind:"parameter",type:"string",description:"Password for login",title:"Pass",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",defaultValue:"postgres",description:"Username for login",title:"User",required:!1,deprecated:!1}}},"platform-http":{type:"object",title:"Platform HTTP",group:"http",icon:"generic24.png",description:"Expose HTTP endpoints using the HTTP server available in the current platform.",properties:{path:{kind:"path",type:"string",description:"The path under which this endpoint serves the HTTP requests, for proxy use 'proxy'",title:"Path",required:!0,deprecated:!1},consumes:{kind:"parameter",type:"string",description:"The content type this endpoint accepts as an input, such as application/xml or application/json. null or */* mean no restriction.",title:"Consumes",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"A comma separated list of HTTP methods to serve, e.g. GET,POST . If no methods are specified, all methods will be served.",title:"Http Method Restrict",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},produces:{kind:"parameter",type:"string",description:"The content type this endpoint produces, such as application/xml or application/json.",title:"Produces",required:!1,deprecated:!1},useStreaming:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use streaming for large requests and responses (currently only supported by camel-platform-http-vertx)",title:"Use Streaming",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},fileNameExtWhitelist:{kind:"parameter",type:"string",description:"A comma or whitespace separated list of file extensions. Uploads having these extensions will be stored locally. Null value or asterisk () will allow all files.",title:"File Name Ext Whitelist",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter headers to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},platformHttpEngine:{kind:"parameter",type:"object",description:"An HTTP Server engine implementation to serve the requests of this endpoint.",title:"Platform Http Engine",required:!1,deprecated:!1}}},plc4x:{type:"object",title:"PLC4X",group:"iot",icon:"generic24.png",description:"Read and write to PLC devices",properties:{driver:{kind:"path",type:"string",description:"PLC4X connection string for the connection to the target",title:"Driver",required:!0,deprecated:!1},autoReconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to reconnect when no connection is present upon doing a request",title:"Auto Reconnect",required:!1,deprecated:!1},period:{kind:"parameter",type:"integer",description:"Interval on which the Trigger should be checked",title:"Period",required:!1,deprecated:!1},tags:{kind:"parameter",type:"object",description:"Tags as key/values from the Map to use in query",title:"Tags",required:!1,deprecated:!1},trigger:{kind:"parameter",type:"string",description:"Query to a trigger. On a rising edge of the trigger, the tags will be read once",title:"Trigger",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},pop3:{type:"object",title:"POP3",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},pop3s:{type:"object",title:"POP3S",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},pubnub:{type:"object",title:"PubNub",group:"cloud,iot,messaging",icon:"generic24.png",description:"Send and receive messages to/from PubNub data stream network for connected devices.",properties:{channel:{kind:"path",type:"string",description:"The channel used for subscribing/publishing events",title:"Channel",required:!0,deprecated:!1},uuid:{kind:"parameter",type:"string",description:"UUID to be used as a device identifier, a default UUID is generated if not passed.",title:"Uuid",required:!0,deprecated:!1},withPresence:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Also subscribe to related presence information",title:"With Presence",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",enum:["HERENOW","WHERENOW","GETSTATE","SETSTATE","GETHISTORY","PUBLISH","FIRE"],description:"The operation to perform. PUBLISH: Default. Send a message to all subscribers of a channel. FIRE: allows the client to send a message to BLOCKS Event Handlers. These messages will go directly to any Event Handlers registered on the channel. HERENOW: Obtain information about the current state of a channel including a list of unique user-ids currently subscribed to the channel and the total occupancy count. WHERENOW: Obtain information about the current list of channels to which a uuid is subscribed to. GETSTATE: Used to get key/value pairs specific to a subscriber uuid. State information is supplied as a JSON object of key/value pairs SETSTATE: Used to set key/value pairs specific to a subscriber uuid GETHISTORY: Fetches historical messages of a channel.",title:"Operation",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},pubnub:{kind:"parameter",type:"object",description:"Reference to a Pubnub client in the registry.",title:"Pubnub",required:!1,deprecated:!1},authKey:{kind:"parameter",type:"string",description:"If Access Manager is utilized, client will use this authKey in all restricted requests.",title:"Auth Key",required:!1,deprecated:!1},cipherKey:{kind:"parameter",type:"string",description:"If cipher is passed, all communications to/from PubNub will be encrypted.",title:"Cipher Key",required:!1,deprecated:!1},publishKey:{kind:"parameter",type:"string",description:"The publish key obtained from your PubNub account. Required when publishing messages.",title:"Publish Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"The secret key used for message signing.",title:"Secret Key",required:!1,deprecated:!1},secure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Use SSL for secure transmission.",title:"Secure",required:!1,deprecated:!1},subscribeKey:{kind:"parameter",type:"string",description:"The subscribe key obtained from your PubNub account. Required when subscribing to channels or listening for presence events",title:"Subscribe Key",required:!1,deprecated:!1}}},pulsar:{type:"object",title:"Pulsar",group:"messaging",icon:"generic24.png",description:"Send and receive messages from/to Apache Pulsar messaging system.",properties:{persistence:{kind:"path",type:"string",enum:["persistent","non-persistent"],description:"Whether the topic is persistent or non-persistent",title:"Persistence",required:!0,deprecated:!1},tenant:{kind:"path",type:"string",description:"The tenant",title:"Tenant",required:!0,deprecated:!1},namespace:{kind:"path",type:"string",description:"The namespace",title:"Namespace",required:!0,deprecated:!1},topic:{kind:"path",type:"string",description:"The topic",title:"Topic",required:!0,deprecated:!1},authenticationClass:{kind:"parameter",type:"string",description:"The Authentication FQCN to be used while creating the client from URI",title:"Authentication Class",required:!1,deprecated:!1},authenticationParams:{kind:"parameter",type:"string",description:"The Authentication Parameters to be used while creating the client from URI",title:"Authentication Params",required:!1,deprecated:!1},serviceUrl:{kind:"parameter",type:"string",description:"The Pulsar Service URL to point while creating the client from URI",title:"Service Url",required:!1,deprecated:!1},ackGroupTimeMillis:{kind:"parameter",type:"integer",defaultValue:"100",description:"Group the consumer acknowledgments for the specified time in milliseconds - defaults to 100",title:"Ack Group Time Millis",required:!1,deprecated:!1},ackTimeoutMillis:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout for unacknowledged messages in milliseconds - defaults to 10000",title:"Ack Timeout Millis",required:!1,deprecated:!1},ackTimeoutRedeliveryBackoff:{kind:"parameter",type:"object",description:"RedeliveryBackoff to use for ack timeout redelivery backoff.",title:"Ack Timeout Redelivery Backoff",required:!1,deprecated:!1},allowManualAcknowledgement:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow manual message acknowledgements. If this option is enabled, then messages are not acknowledged automatically after successful route completion. Instead, an instance of PulsarMessageReceipt is stored as a header on the org.apache.camel.Exchange. Messages can then be acknowledged using PulsarMessageReceipt at any time before the ackTimeout occurs.",title:"Allow Manual Acknowledgement",required:!1,deprecated:!1},consumerName:{kind:"parameter",type:"string",defaultValue:"sole-consumer",description:"Name of the consumer when subscription is EXCLUSIVE",title:"Consumer Name",required:!1,deprecated:!1},consumerNamePrefix:{kind:"parameter",type:"string",defaultValue:"cons",description:"Prefix to add to consumer names when a SHARED or FAILOVER subscription is used",title:"Consumer Name Prefix",required:!1,deprecated:!1},consumerQueueSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"Size of the consumer queue - defaults to 10",title:"Consumer Queue Size",required:!1,deprecated:!1},deadLetterTopic:{kind:"parameter",type:"string",description:"Name of the topic where the messages which fail maxRedeliverCount times will be sent. Note: if not set, default topic name will be topicName-subscriptionName-DLQ",title:"Dead Letter Topic",required:!1,deprecated:!1},enableRetry:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To enable retry letter topic mode. The default retry letter topic uses this format: topicname-subscriptionname-RETRY",title:"Enable Retry",required:!1,deprecated:!1},keySharedPolicy:{kind:"parameter",type:"string",enum:["AUTO_SPLIT","STICKY"],description:"Policy to use by consumer when using key-shared subscription type.",title:"Key Shared Policy",required:!1,deprecated:!1},maxRedeliverCount:{kind:"parameter",type:"integer",description:"Maximum number of times that a message will be redelivered before being sent to the dead letter queue. If this value is not set, no Dead Letter Policy will be created",title:"Max Redeliver Count",required:!1,deprecated:!1},messageListener:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use the messageListener interface, or to receive messages using a separate thread pool",title:"Message Listener",required:!1,deprecated:!1},negativeAckRedeliveryBackoff:{kind:"parameter",type:"object",description:"RedeliveryBackoff to use for negative ack redelivery backoff.",title:"Negative Ack Redelivery Backoff",required:!1,deprecated:!1},negativeAckRedeliveryDelayMicros:{kind:"parameter",type:"integer",defaultValue:"60000000",description:"Set the negative acknowledgement delay",title:"Negative Ack Redelivery Delay Micros",required:!1,deprecated:!1},numberOfConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of consumers - defaults to 1",title:"Number Of Consumers",required:!1,deprecated:!1},numberOfConsumerThreads:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of threads to receive and handle messages when using a separate thread pool",title:"Number Of Consumer Threads",required:!1,deprecated:!1},readCompacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable compacted topic reading.",title:"Read Compacted",required:!1,deprecated:!1},retryLetterTopic:{kind:"parameter",type:"string",description:"Name of the topic to use in retry mode. Note: if not set, default topic name will be topicName-subscriptionName-RETRY",title:"Retry Letter Topic",required:!1,deprecated:!1},subscriptionInitialPosition:{kind:"parameter",type:"object",defaultValue:"LATEST",enum:["EARLIEST","LATEST"],description:"Control the initial position in the topic of a newly created subscription. Default is latest message.",title:"Subscription Initial Position",required:!1,deprecated:!1},subscriptionName:{kind:"parameter",type:"string",defaultValue:"subs",description:"Name of the subscription to use",title:"Subscription Name",required:!1,deprecated:!1},subscriptionTopicsMode:{kind:"parameter",type:"object",defaultValue:"PersistentOnly",enum:["PersistentOnly","NonPersistentOnly","AllTopics"],description:"Determines to which topics this consumer should be subscribed to - Persistent, Non-Persistent, or both. Only used with pattern subscriptions.",title:"Subscription Topics Mode",required:!1,deprecated:!1},subscriptionType:{kind:"parameter",type:"object",defaultValue:"EXCLUSIVE",enum:["EXCLUSIVE","SHARED","FAILOVER","KEY_SHARED"],description:"Type of the subscription EXCLUSIVESHAREDFAILOVERKEY_SHARED, defaults to EXCLUSIVE",title:"Subscription Type",required:!1,deprecated:!1},topicsPattern:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the topic is a pattern (regular expression) that allows the consumer to subscribe to all matching topics in the namespace",title:"Topics Pattern",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},batcherBuilder:{kind:"parameter",type:"object",defaultValue:"DEFAULT",description:"Control batching method used by the producer.",title:"Batcher Builder",required:!1,deprecated:!1},batchingEnabled:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Control whether automatic batching of messages is enabled for the producer.",title:"Batching Enabled",required:!1,deprecated:!1},batchingMaxMessages:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The maximum size to batch messages.",title:"Batching Max Messages",required:!1,deprecated:!1},batchingMaxPublishDelayMicros:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The maximum time period within which the messages sent will be batched if batchingEnabled is true.",title:"Batching Max Publish Delay Micros",required:!1,deprecated:!1},blockIfQueueFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to block the producing thread if pending messages queue is full or to throw a ProducerQueueIsFullError",title:"Block If Queue Full",required:!1,deprecated:!1},chunkingEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Control whether chunking of messages is enabled for the producer.",title:"Chunking Enabled",required:!1,deprecated:!1},compressionType:{kind:"parameter",type:"object",defaultValue:"NONE",enum:["NONE","LZ4","ZLIB","ZSTD","SNAPPY"],description:"Compression type to use",title:"Compression Type",required:!1,deprecated:!1},hashingScheme:{kind:"parameter",type:"string",defaultValue:"JavaStringHash",enum:["JavaStringHash","Murmur3_32Hash"],description:"Hashing function to use when choosing the partition to use for a particular message",title:"Hashing Scheme",required:!1,deprecated:!1},initialSequenceId:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The first message published will have a sequence Id of initialSequenceId 1.",title:"Initial Sequence Id",required:!1,deprecated:!1},maxPendingMessages:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Size of the pending massages queue. When the queue is full, by default, any further sends will fail unless blockIfQueueFull=true",title:"Max Pending Messages",required:!1,deprecated:!1},maxPendingMessagesAcrossPartitions:{kind:"parameter",type:"integer",defaultValue:"50000",description:"The maximum number of pending messages for partitioned topics. The maxPendingMessages value will be reduced if (number of partitions maxPendingMessages) exceeds this value. Partitioned topics have a pending message queue for each partition.",title:"Max Pending Messages Across Partitions",required:!1,deprecated:!0},messageRouter:{kind:"parameter",type:"object",description:"Custom Message Router to use",title:"Message Router",required:!1,deprecated:!1},messageRoutingMode:{kind:"parameter",type:"object",defaultValue:"RoundRobinPartition",enum:["SinglePartition","RoundRobinPartition","CustomPartition"],description:"Message Routing Mode to use",title:"Message Routing Mode",required:!1,deprecated:!1},producerName:{kind:"parameter",type:"string",description:"Name of the producer. If unset, lets Pulsar select a unique identifier.",title:"Producer Name",required:!1,deprecated:!1},sendTimeoutMs:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Send timeout in milliseconds",title:"Send Timeout Ms",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},quartz:{type:"object",title:"Quartz",group:"scheduling",icon:"generic24.png",description:"Schedule sending of messages using the Quartz 2.x scheduler.",properties:{groupName:{kind:"path",type:"string",defaultValue:"Camel",description:"The quartz group name to use. The combination of group name and trigger name should be unique.",title:"Group Name",required:!1,deprecated:!1},triggerName:{kind:"path",type:"string",description:"The quartz trigger name to use. The combination of group name and trigger name should be unique.",title:"Trigger Name",required:!0,deprecated:!1},cron:{kind:"parameter",type:"string",description:"Specifies a cron expression to define when to trigger.",title:"Cron",required:!1,deprecated:!1},deleteJob:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If set to true, then the trigger automatically delete when route stop. Else if set to false, it will remain in scheduler. When set to false, it will also mean user may reuse pre-configured trigger with camel Uri. Just ensure the names match. Notice you cannot have both deleteJob and pauseJob set to true.",title:"Delete Job",required:!1,deprecated:!1},durableJob:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the job should remain stored after it is orphaned (no triggers point to it).",title:"Durable Job",required:!1,deprecated:!1},pauseJob:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, then the trigger automatically pauses when route stop. Else if set to false, it will remain in scheduler. When set to false, it will also mean user may reuse pre-configured trigger with camel Uri. Just ensure the names match. Notice you cannot have both deleteJob and pauseJob set to true.",title:"Pause Job",required:!1,deprecated:!1},recoverableJob:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Instructs the scheduler whether or not the job should be re-executed if a 'recovery' or 'fail-over' situation is encountered.",title:"Recoverable Job",required:!1,deprecated:!1},stateful:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Uses a Quartz PersistJobDataAfterExecution and DisallowConcurrentExecution instead of the default job.",title:"Stateful",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},customCalendar:{kind:"parameter",type:"object",description:"Specifies a custom calendar to avoid specific range of date",title:"Custom Calendar",required:!1,deprecated:!1},ignoreExpiredNextFireTime:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore quartz cannot schedule a trigger because the trigger will never fire in the future. This can happen when using a cron trigger that are configured to only run in the past. By default, Quartz will fail to schedule the trigger and therefore fail to start the Camel route. You can set this to true which then logs a WARN and then ignore the problem, meaning that the route will never fire in the future.",title:"Ignore Expired Next Fire Time",required:!1,deprecated:!1},jobParameters:{kind:"parameter",type:"object",description:"To configure additional options on the job.",title:"Job Parameters",required:!1,deprecated:!1},prefixJobNameWithEndpointId:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the job name should be prefixed with endpoint id",title:"Prefix Job Name With Endpoint Id",required:!1,deprecated:!1},triggerParameters:{kind:"parameter",type:"object",description:"To configure additional options on the trigger. The parameter timeZone is supported if the cron option is present. Otherwise the parameters repeatInterval and repeatCount are supported. Note: When using repeatInterval values of 1000 or less, the first few events after starting the camel context may be fired more rapidly than expected.",title:"Trigger Parameters",required:!1,deprecated:!1},usingFixedCamelContextName:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If it is true, JobDataMap uses the CamelContext name directly to reference the CamelContext, if it is false, JobDataMap uses use the CamelContext management name which could be changed during the deploy time.",title:"Using Fixed Camel Context Name",required:!1,deprecated:!1},autoStartScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not the scheduler should be auto started.",title:"Auto Start Scheduler",required:!1,deprecated:!1},triggerStartDelay:{kind:"parameter",type:"duration",defaultValue:"500",description:"In case of scheduler has already started, we want the trigger start slightly after current time to ensure endpoint is fully started before the job kicks in. Negative value shifts trigger start time in the past.",title:"Trigger Start Delay",required:!1,deprecated:!1}}},quickfix:{type:"object",title:"QuickFix",group:"messaging",icon:"generic24.png",description:"Open a Financial Interchange (FIX) session using an embedded QuickFix/J engine.",properties:{configurationName:{kind:"path",type:"string",description:"Path to the quickfix configuration file. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the configuration file using these protocols (classpath is default). ref will lookup the configuration file in the registry. bean will call a method on a bean to be used as the configuration. For bean you can specify the method name after dot, eg bean:myBean.myMethod",title:"Configuration Name",required:!0,deprecated:!1},lazyCreateEngine:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option allows creating QuickFIX/J engine on demand. Value true means the engine is started when first message is send or there's consumer configured in route definition. When false value is used, the engine is started at the endpoint creation. When this parameter is missing, the value of component's property lazyCreateEngines is being used.",title:"Lazy Create Engine",required:!1,deprecated:!1},sessionID:{kind:"parameter",type:"string",description:"The optional sessionID identifies a specific FIX session. The format of the sessionID is: (BeginString):(SenderCompID)/(SenderSubID)/(SenderLocationID)-(TargetCompID)/(TargetSubID)/(TargetLocationID)",title:"Session ID",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"reactive-streams":{type:"object",title:"Reactive Streams",group:"messaging",icon:"generic24.png",description:"Exchange messages with reactive stream processing libraries compatible with the reactive streams standard.",properties:{stream:{kind:"path",type:"string",description:"Name of the stream channel used by the endpoint to exchange messages.",title:"Stream",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of threads used to process exchanges in the Camel route.",title:"Concurrent Consumers",required:!1,deprecated:!1},exchangesRefillLowWatermark:{kind:"parameter",type:"number",defaultValue:"0.25",description:"Set the low watermark of requested exchanges to the active subscription as percentage of the maxInflightExchanges. When the number of pending items from the upstream source is lower than the watermark, new items can be requested to the subscription. If set to 0, the subscriber will request items in batches of maxInflightExchanges, only after all items of the previous batch have been processed. If set to 1, the subscriber can request a new item each time an exchange is processed (chatty). Any intermediate value can be used.",title:"Exchanges Refill Low Watermark",required:!1,deprecated:!1},forwardOnComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines if onComplete events should be pushed to the Camel route.",title:"Forward On Complete",required:!1,deprecated:!1},forwardOnError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines if onError events should be pushed to the Camel route. Exceptions will be set as message body.",title:"Forward On Error",required:!1,deprecated:!1},maxInflightExchanges:{kind:"parameter",type:"integer",defaultValue:"128",description:"Maximum number of exchanges concurrently being processed by Camel. This parameter controls backpressure on the stream. Setting a non-positive value will disable backpressure.",title:"Max Inflight Exchanges",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},backpressureStrategy:{kind:"parameter",type:"object",enum:["BUFFER","OLDEST","LATEST"],description:"The backpressure strategy to use when pushing events to a slow subscriber.",title:"Backpressure Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},ref:{type:"object",title:"Ref",group:"core",icon:"generic24.png",description:"Route messages to an endpoint looked up dynamically by name in the Camel Registry.",properties:{name:{kind:"path",type:"string",description:"Name of endpoint to lookup in the registry.",title:"Name",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},rest:{type:"object",title:"REST",group:"core,rest",icon:"generic24.png",description:"Expose REST services or call external REST services.",acceptInput:"",acceptOutput:"",nextSiblingAddedAsChild:"false",properties:{method:{kind:"path",type:"string",enum:["get","post","put","delete","patch","head","trace","connect","options"],description:"HTTP method to use.",title:"Method",required:!0,deprecated:!1},path:{kind:"path",type:"string",description:"The base path, can use * as path suffix to support wildcard HTTP route matching.",title:"Path",required:!0,deprecated:!1},uriTemplate:{kind:"path",type:"string",description:"The uri template",title:"Uri Template",required:!1,deprecated:!1},consumes:{kind:"parameter",type:"string",description:"Media type such as: 'text/xml', or 'application/json' this REST service accepts. By default we accept all kinds of types.",title:"Consumes",required:!1,deprecated:!1},inType:{kind:"parameter",type:"string",description:"To declare the incoming POJO binding type as a FQN class name",title:"In Type",required:!1,deprecated:!1},outType:{kind:"parameter",type:"string",description:"To declare the outgoing POJO binding type as a FQN class name",title:"Out Type",required:!1,deprecated:!1},produces:{kind:"parameter",type:"string",description:"Media type such as: 'text/xml', or 'application/json' this REST service returns.",title:"Produces",required:!1,deprecated:!1},routeId:{kind:"parameter",type:"string",description:"Name of the route this REST services creates",title:"Route Id",required:!1,deprecated:!1},consumerComponentName:{kind:"parameter",type:"string",description:"The Camel Rest component to use for the consumer REST transport, such as jetty, servlet, undertow. If no component has been explicitly configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestConsumerFactory is registered in the registry. If either one is found, then that is being used.",title:"Consumer Component Name",required:!1,deprecated:!1},description:{kind:"parameter",type:"string",description:"Human description to document this REST service",title:"Description",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},apiDoc:{kind:"parameter",type:"string",description:"The openapi api doc resource to use. The resource is loaded from classpath by default and must be in JSON format.",title:"Api Doc",required:!1,deprecated:!1},bindingMode:{kind:"parameter",type:"object",enum:["auto","off","json","xml","json_xml"],description:"Configures the binding mode for the producer. If set to anything other than 'off' the producer will try to convert the body of the incoming message from inType to the json or xml, and the response from json or xml to outType.",title:"Binding Mode",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"Host and port of HTTP service to use (override host in openapi schema)",title:"Host",required:!1,deprecated:!1},producerComponentName:{kind:"parameter",type:"string",description:"The Camel Rest component to use for the producer REST transport, such as http, undertow. If no component has been explicitly configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestProducerFactory is registered in the registry. If either one is found, then that is being used.",title:"Producer Component Name",required:!1,deprecated:!1},queryParameters:{kind:"parameter",type:"string",description:"Query parameters for the HTTP service to call. The query parameters can contain multiple parameters separated by ampersand such such as foo=123&bar=456.",title:"Query Parameters",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"rest-api":{type:"object",title:"REST API",group:"core,rest",icon:"generic24.png",description:"Expose OpenAPI Specification of the REST services defined using Camel REST DSL.",acceptInput:"",acceptOutput:"",nextSiblingAddedAsChild:"false",properties:{path:{kind:"path",type:"string",description:"The base path",title:"Path",required:!0,deprecated:!1},apiComponentName:{kind:"parameter",type:"string",description:"The Camel Rest API component to use for generating the API of the REST services, such as openapi.",title:"Api Component Name",required:!1,deprecated:!1},consumerComponentName:{kind:"parameter",type:"string",description:"The Camel Rest component to use for the consumer REST transport, such as jetty, servlet, undertow. If no component has been explicitly configured, then Camel will lookup if there is a Camel component that integrates with the Rest DSL, or if a org.apache.camel.spi.RestConsumerFactory is registered in the registry. If either one is found, then that is being used.",title:"Consumer Component Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},"rest-openapi":{type:"object",title:"REST OpenApi",group:"rest,api",icon:"generic24.png",description:"Configure REST producers based on an OpenAPI specification document delegating to a component implementing the RestProducerFactory interface.",acceptInput:"",acceptOutput:"",nextSiblingAddedAsChild:"false",properties:{specificationUri:{kind:"path",type:"string",defaultValue:"openapi.json",description:"Path to the OpenApi specification file. The scheme, host base path are taken from this specification, but these can be overridden with properties on the component or endpoint level. If not given the component tries to load openapi.json resource from the classpath. Note that the host defined on the component and endpoint of this Component should contain the scheme, hostname and optionally the port in the URI syntax (i.e. http://api.example.com:8080). Overrides component configuration. The OpenApi specification can be loaded from different sources by prefixing with file: classpath: http: https:. Support for https is limited to using the JDK installed UrlHandler, and as such it can be cumbersome to setup TLS/SSL certificates for https (such as setting a number of javax.net.ssl JVM system properties). How to do that consult the JDK documentation for UrlHandler. Default value notice: By default loads openapi.json file",title:"Specification Uri",required:!1,deprecated:!1},operationId:{kind:"path",type:"string",description:"ID of the operation from the OpenApi specification.",title:"Operation Id",required:!0,deprecated:!1},basePath:{kind:"parameter",type:"string",description:"API basePath, for example /v2. Default is unset, if set overrides the value present in OpenApi specification and in the component configuration.",title:"Base Path",required:!1,deprecated:!1},componentName:{kind:"parameter",type:"string",description:"Name of the Camel component that will perform the requests. The component must be present in Camel registry and it must implement RestProducerFactory service provider interface. If not set CLASSPATH is searched for single component that implements RestProducerFactory SPI. Overrides component configuration.",title:"Component Name",required:!1,deprecated:!1},consumes:{kind:"parameter",type:"string",description:"What payload type this component capable of consuming. Could be one type, like application/json or multiple types as application/json, application/xml; q=0.5 according to the RFC7231. This equates to the value of Accept HTTP header. If set overrides any value found in the OpenApi specification and. in the component configuration",title:"Consumes",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"Scheme hostname and port to direct the HTTP requests to in the form of https://hostname:port. Can be configured at the endpoint, component or in the corresponding REST configuration in the Camel Context. If you give this component a name (e.g. petstore) that REST configuration is consulted first, rest-openapi next, and global configuration last. If set overrides any value found in the OpenApi specification, RestConfiguration. Overrides all other configuration.",title:"Host",required:!1,deprecated:!1},produces:{kind:"parameter",type:"string",description:"What payload type this component is producing. For example application/json according to the RFC7231. This equates to the value of Content-Type HTTP header. If set overrides any value present in the OpenApi specification. Overrides all other configuration.",title:"Produces",required:!1,deprecated:!1},requestValidationCustomizer:{kind:"parameter",type:"object",defaultValue:"org.apache.camel.component.rest.openapi.validator.DefaultRequestValidationCustomizer",description:"If request validation is enabled, this option provides the capability to customize the creation of OpenApiInteractionValidator used to validate requests.",title:"Request Validation Customizer",required:!1,deprecated:!1},requestValidationEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable validation of requests against the configured OpenAPI specification",title:"Request Validation Enabled",required:!1,deprecated:!1},requestValidationLevels:{kind:"parameter",type:"object",description:"Levels for specific OpenAPI request validation options. Multiple options can be specified as URI options prefixed by 'validation.'. For example, validation.request.body=ERROR&validation.request.body.unexpected=IGNORED. Supported values are INFO, ERROR, WARN & IGNORE.",title:"Request Validation Levels",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},robotframework:{type:"object",title:"Robot Framework",group:"testing",icon:"generic24.png",description:"Pass camel exchanges to acceptance test written in Robot DSL.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},argumentFiles:{kind:"parameter",type:"string",description:"A text String to read more arguments from.",title:"Argument Files",required:!1,deprecated:!1},combinedTagStats:{kind:"parameter",type:"string",description:"Creates combined statistics based on tags. Use the format tags:title List",title:"Combined Tag Stats",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},criticalTags:{kind:"parameter",type:"string",description:"Tests that have the given tags are considered critical. List",title:"Critical Tags",required:!1,deprecated:!1},debugFile:{kind:"parameter",type:"string",description:"A debug String that is written during execution.",title:"Debug File",required:!1,deprecated:!1},document:{kind:"parameter",type:"string",description:"Sets the documentation of the top-level tests suites.",title:"Document",required:!1,deprecated:!1},dryrun:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets dryrun mode on use. In the dry run mode tests are run without executing keywords originating from test libraries. Useful for validating test data syntax.",title:"Dryrun",required:!1,deprecated:!1},excludes:{kind:"parameter",type:"string",description:"Selects the tests cases by tags. List",title:"Excludes",required:!1,deprecated:!1},exitOnFailure:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets robot to stop execution immediately if a critical test fails.",title:"Exit On Failure",required:!1,deprecated:!1},includes:{kind:"parameter",type:"string",description:"Selects the tests cases by tags. List",title:"Includes",required:!1,deprecated:!1},listener:{kind:"parameter",type:"string",description:"Sets a single listener for monitoring tests execution",title:"Listener",required:!1,deprecated:!1},listeners:{kind:"parameter",type:"string",description:"Sets multiple listeners for monitoring tests execution. Use the format ListenerWithArgs:arg1:arg2 or simply ListenerWithoutArgs List",title:"Listeners",required:!1,deprecated:!1},log:{kind:"parameter",type:"string",description:"Sets the path to the generated log String.",title:"Log",required:!1,deprecated:!1},logLevel:{kind:"parameter",type:"string",description:"Sets the threshold level for logging.",title:"Log Level",required:!1,deprecated:!1},logTitle:{kind:"parameter",type:"string",description:"Sets a title for the generated tests log.",title:"Log Title",required:!1,deprecated:!1},metadata:{kind:"parameter",type:"string",description:"Sets free metadata for the top level tests suites. comma seperated list of string resulting as List",title:"Metadata",required:!1,deprecated:!1},monitorColors:{kind:"parameter",type:"string",description:"Using ANSI colors in console. Normally colors work in unixes but not in Windows. Default is 'on'. 'on' - use colors in unixes but not in Windows 'off' - never use colors 'force' - always use colors (also in Windows)",title:"Monitor Colors",required:!1,deprecated:!1},monitorWidth:{kind:"parameter",type:"string",defaultValue:"78",description:"Width of the monitor output. Default is 78.",title:"Monitor Width",required:!1,deprecated:!1},name:{kind:"parameter",type:"string",description:"Sets the name of the top-level tests suites.",title:"Name",required:!1,deprecated:!1},nonCriticalTags:{kind:"parameter",type:"string",description:"Tests that have the given tags are not critical. List",title:"Non Critical Tags",required:!1,deprecated:!1},noStatusReturnCode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, sets the return code to zero regardless of failures in test cases. Error codes are returned normally.",title:"No Status Return Code",required:!1,deprecated:!1},output:{kind:"parameter",type:"string",description:"Sets the path to the generated output String.",title:"Output",required:!1,deprecated:!1},outputDirectory:{kind:"parameter",type:"string",description:"Configures where generated reports are to be placed.",title:"Output Directory",required:!1,deprecated:!1},randomize:{kind:"parameter",type:"string",description:"Sets the test execution order to be randomized. Valid values are all, suite, and test",title:"Randomize",required:!1,deprecated:!1},report:{kind:"parameter",type:"string",description:"Sets the path to the generated report String.",title:"Report",required:!1,deprecated:!1},reportBackground:{kind:"parameter",type:"string",description:"Sets background colors for the generated report and summary.",title:"Report Background",required:!1,deprecated:!1},reportTitle:{kind:"parameter",type:"string",description:"Sets a title for the generated tests report.",title:"Report Title",required:!1,deprecated:!1},runEmptySuite:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Executes tests also if the top level test suite is empty. Useful e.g. with --include/--exclude when it is not an error that no test matches the condition.",title:"Run Empty Suite",required:!1,deprecated:!1},runFailed:{kind:"parameter",type:"string",description:"Re-run failed tests, based on output.xml String.",title:"Run Failed",required:!1,deprecated:!1},runMode:{kind:"parameter",type:"string",description:"Sets the execution mode for this tests run. Note that this setting has been deprecated in Robot Framework 2.8. Use separate dryryn, skipTeardownOnExit, exitOnFailure, and randomize settings instead.",title:"Run Mode",required:!1,deprecated:!1},skipTeardownOnExit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the teardowns are skipped if the test execution is prematurely stopped.",title:"Skip Teardown On Exit",required:!1,deprecated:!1},splitOutputs:{kind:"parameter",type:"string",description:"Splits output and log files.",title:"Split Outputs",required:!1,deprecated:!1},suites:{kind:"parameter",type:"string",description:"Selects the tests suites by name. List",title:"Suites",required:!1,deprecated:!1},suiteStatLevel:{kind:"parameter",type:"string",description:"Defines how many levels to show in the Statistics by Suite table in outputs.",title:"Suite Stat Level",required:!1,deprecated:!1},summaryTitle:{kind:"parameter",type:"string",description:"Sets a title for the generated summary report.",title:"Summary Title",required:!1,deprecated:!1},tagDocs:{kind:"parameter",type:"string",description:"Adds documentation to the specified tags. List",title:"Tag Docs",required:!1,deprecated:!1},tags:{kind:"parameter",type:"string",description:"Sets the tags(s) to all executed tests cases. List",title:"Tags",required:!1,deprecated:!1},tagStatExcludes:{kind:"parameter",type:"string",description:"Excludes these tags from the Statistics by Tag and Test Details by Tag tables in outputs. List",title:"Tag Stat Excludes",required:!1,deprecated:!1},tagStatIncludes:{kind:"parameter",type:"string",description:"Includes only these tags in the Statistics by Tag and Test Details by Tag tables in outputs. List",title:"Tag Stat Includes",required:!1,deprecated:!1},tagStatLinks:{kind:"parameter",type:"string",description:"Adds external links to the Statistics by Tag table in outputs. Use the format pattern:link:title List",title:"Tag Stat Links",required:!1,deprecated:!1},tests:{kind:"parameter",type:"string",description:"Selects the tests cases by name. List",title:"Tests",required:!1,deprecated:!1},timestampOutputs:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Adds a timestamp to all output files.",title:"Timestamp Outputs",required:!1,deprecated:!1},variableFiles:{kind:"parameter",type:"string",description:"Sets variables using variables files. Use the format path:args List",title:"Variable Files",required:!1,deprecated:!1},variables:{kind:"parameter",type:"string",description:"Sets individual variables. Use the format name:value List",title:"Variables",required:!1,deprecated:!1},warnOnSkippedFiles:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Show a warning when an invalid String is skipped.",title:"Warn On Skipped Files",required:!1,deprecated:!1},xunitFile:{kind:"parameter",type:"string",description:"Sets the path to the generated XUnit compatible result String, relative to outputDirectory. The String is in xml format. By default, the String name is derived from the testCasesDirectory parameter, replacing blanks in the directory name by underscores.",title:"Xunit File",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},rocketmq:{type:"object",title:"RocketMQ",group:"messaging",icon:"generic24.png",description:"Send and receive messages from RocketMQ cluster.",properties:{topicName:{kind:"path",type:"string",description:"Topic name of this endpoint.",title:"Topic Name",required:!0,deprecated:!1},namesrvAddr:{kind:"parameter",type:"string",defaultValue:"localhost:9876",description:"Name server address of RocketMQ cluster.",title:"Namesrv Addr",required:!1,deprecated:!1},consumerGroup:{kind:"parameter",type:"string",description:"Consumer group name.",title:"Consumer Group",required:!1,deprecated:!1},subscribeTags:{kind:"parameter",type:"string",defaultValue:"*",description:"Subscribe tags of consumer. Multiple tags could be split by , such as TagATagB",title:"Subscribe Tags",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},producerGroup:{kind:"parameter",type:"string",description:"Producer group name.",title:"Producer Group",required:!1,deprecated:!1},replyToConsumerGroup:{kind:"parameter",type:"string",description:"Consumer group name used for receiving response.",title:"Reply To Consumer Group",required:!1,deprecated:!1},replyToTopic:{kind:"parameter",type:"string",description:"Topic used for receiving response when using in-out pattern.",title:"Reply To Topic",required:!1,deprecated:!1},sendTag:{kind:"parameter",type:"string",description:"Each message would be sent with this tag.",title:"Send Tag",required:!1,deprecated:!1},waitForSendResult:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether waiting for send result before routing to next endpoint.",title:"Wait For Send Result",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},requestTimeoutCheckerIntervalMillis:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Check interval milliseconds of request timeout.",title:"Request Timeout Checker Interval Millis",required:!1,deprecated:!1},requestTimeoutMillis:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Timeout milliseconds of receiving response when using in-out pattern.",title:"Request Timeout Millis",required:!1,deprecated:!1},accessKey:{kind:"parameter",type:"string",description:"Access key for RocketMQ ACL.",title:"Access Key",required:!1,deprecated:!1},secretKey:{kind:"parameter",type:"string",description:"Secret key for RocketMQ ACL.",title:"Secret Key",required:!1,deprecated:!1}}},rss:{type:"object",title:"RSS",group:"document",icon:"generic24.png",description:"Poll RSS feeds.",properties:{feedUri:{kind:"path",type:"string",description:"The URI to the feed to poll.",title:"Feed Uri",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},sortEntries:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to sort entries by published date. Only works when splitEntries = true.",title:"Sort Entries",required:!1,deprecated:!1},splitEntries:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message",title:"Split Entries",required:!1,deprecated:!1},throttleEntries:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true.",title:"Throttle Entries",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},feedHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to add the feed object as a header.",title:"Feed Header",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},saga:{type:"object",title:"Saga",group:"clustering",icon:"generic24.png",description:"Execute custom actions within a route using the Saga EIP.",properties:{action:{kind:"path",type:"object",enum:["COMPLETE","COMPENSATE"],description:"Action to execute (complete or compensate)",title:"Action",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},salesforce:{type:"object",title:"Salesforce",group:"cloud,saas",icon:"generic24.png",description:"Communicate with Salesforce using Java DTOs.",properties:{operationName:{kind:"path",type:"object",enum:["getVersions","getResources","getGlobalObjects","getBasicInfo","getDescription","getSObject","createSObject","updateSObject","deleteSObject","getSObjectWithId","upsertSObject","deleteSObjectWithId","getBlobField","query","queryMore","queryAll","search","apexCall","recent","getEventSchema","createJob","getJob","closeJob","abortJob","createBatch","getBatch","getAllBatches","getRequest","getResults","createBatchQuery","getQueryResultIds","getQueryResult","getRecentReports","getReportDescription","executeSyncReport","executeAsyncReport","getReportInstances","getReportResults","limits","approval","approvals","composite-tree","composite-batch","composite","compositeRetrieveSObjectCollections","compositeCreateSObjectCollections","compositeUpdateSObjectCollections","compositeUpsertSObjectCollections","compositeDeleteSObjectCollections","bulk2GetAllJobs","bulk2CreateJob","bulk2GetJob","bulk2CreateBatch","bulk2CloseJob","bulk2AbortJob","bulk2DeleteJob","bulk2GetSuccessfulResults","bulk2GetFailedResults","bulk2GetUnprocessedRecords","bulk2CreateQueryJob","bulk2GetQueryJob","bulk2GetAllQueryJobs","bulk2GetQueryJobResults","bulk2AbortQueryJob","bulk2DeleteQueryJob","raw","subscribe","pubSubSubscribe","pubSubPublish"],description:"The operation to use",title:"Operation Name",required:!0,deprecated:!1},topicName:{kind:"path",type:"string",description:"The name of the topic/channel to use",title:"Topic Name",required:!1,deprecated:!1},apexMethod:{kind:"parameter",type:"string",description:"APEX method name",title:"Apex Method",required:!1,deprecated:!1},apexQueryParams:{kind:"parameter",type:"object",description:"Query params for APEX method",title:"Apex Query Params",required:!1,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"56.0",description:"Salesforce API version.",title:"Api Version",required:!1,deprecated:!1},backoffIncrement:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect.",title:"Backoff Increment",required:!1,deprecated:!1},batchId:{kind:"parameter",type:"string",description:"Bulk API Batch ID",title:"Batch Id",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"object",enum:["XML","CSV","JSON","ZIP_XML","ZIP_CSV","ZIP_JSON"],description:"Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV",title:"Content Type",required:!1,deprecated:!1},defaultReplayId:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Default replayId setting if no value is found in initialReplayIdMap",title:"Default Replay Id",required:!1,deprecated:!1},fallBackReplayId:{kind:"parameter",type:"integer",defaultValue:"-1",description:"ReplayId to fall back to after an Invalid Replay Id response",title:"Fall Back Replay Id",required:!1,deprecated:!1},format:{kind:"parameter",type:"object",enum:["JSON","XML"],description:"Payload format to use for Salesforce API calls, either JSON or XML, defaults to JSON. As of Camel 3.12, this option only applies to the Raw operation.",title:"Format",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"Custom Jetty Http Client to use to connect to Salesforce.",title:"Http Client",required:!1,deprecated:!1},includeDetails:{kind:"parameter",type:"boolean",description:"Include details in Salesforce1 Analytics report, defaults to false.",title:"Include Details",required:!1,deprecated:!1},initialReplayIdMap:{kind:"parameter",type:"object",description:"Replay IDs to start from per channel name.",title:"Initial Replay Id Map",required:!1,deprecated:!1},instanceId:{kind:"parameter",type:"string",description:"Salesforce1 Analytics report execution instance ID",title:"Instance Id",required:!1,deprecated:!1},jobId:{kind:"parameter",type:"string",description:"Bulk API Job ID",title:"Job Id",required:!1,deprecated:!1},limit:{kind:"parameter",type:"integer",description:"Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation.",title:"Limit",required:!1,deprecated:!1},locator:{kind:"parameter",type:"string",description:"Locator provided by salesforce Bulk 2.0 API for use in getting results for a Query job.",title:"Locator",required:!1,deprecated:!1},maxBackoff:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect.",title:"Max Backoff",required:!1,deprecated:!1},maxRecords:{kind:"parameter",type:"integer",description:"The maximum number of records to retrieve per set of results for a Bulk 2.0 Query. The request is still subject to the size limits. If you are working with a very large number of query results, you may experience a timeout before receiving all the data from Salesforce. To prevent a timeout, specify the maximum number of records your client is expecting to receive in the maxRecords parameter. This splits the results into smaller sets with this value as the maximum size.",title:"Max Records",required:!1,deprecated:!1},notFoundBehaviour:{kind:"parameter",type:"object",defaultValue:"EXCEPTION",enum:["EXCEPTION","NULL"],description:"Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default.",title:"Not Found Behaviour",required:!1,deprecated:!1},notifyForFields:{kind:"parameter",type:"object",enum:["ALL","REFERENCED","SELECT","WHERE"],description:"Notify for fields, options are ALL, REFERENCED, SELECT, WHERE",title:"Notify For Fields",required:!1,deprecated:!1},notifyForOperationCreate:{kind:"parameter",type:"boolean",description:"Notify for create operation, defaults to false (API version >= 29.0)",title:"Notify For Operation Create",required:!1,deprecated:!1},notifyForOperationDelete:{kind:"parameter",type:"boolean",description:"Notify for delete operation, defaults to false (API version >= 29.0)",title:"Notify For Operation Delete",required:!1,deprecated:!1},notifyForOperations:{kind:"parameter",type:"object",enum:["ALL","CREATE","EXTENDED","UPDATE"],description:"Notify for operations, options are ALL, CREATE, EXTENDED, UPDATE (API version < 29.0)",title:"Notify For Operations",required:!1,deprecated:!1},notifyForOperationUndelete:{kind:"parameter",type:"boolean",description:"Notify for un-delete operation, defaults to false (API version >= 29.0)",title:"Notify For Operation Undelete",required:!1,deprecated:!1},notifyForOperationUpdate:{kind:"parameter",type:"boolean",description:"Notify for update operation, defaults to false (API version >= 29.0)",title:"Notify For Operation Update",required:!1,deprecated:!1},objectMapper:{kind:"parameter",type:"object",description:"Custom Jackson ObjectMapper to use when serializing/deserializing Salesforce objects.",title:"Object Mapper",required:!1,deprecated:!1},pkChunking:{kind:"parameter",type:"boolean",description:"Use PK Chunking. Only for use in original Bulk API. Bulk 2.0 API performs PK chunking automatically, if necessary.",title:"Pk Chunking",required:!1,deprecated:!1},pkChunkingChunkSize:{kind:"parameter",type:"integer",description:"Chunk size for use with PK Chunking. If unspecified, salesforce default is 100,000. Maximum size is 250,000.",title:"Pk Chunking Chunk Size",required:!1,deprecated:!1},pkChunkingParent:{kind:"parameter",type:"string",description:"Specifies the parent object when you're enabling PK chunking for queries on sharing objects. The chunks are based on the parent object's records rather than the sharing object's records. For example, when querying on AccountShare, specify Account as the parent object. PK chunking is supported for sharing objects as long as the parent object is supported.",title:"Pk Chunking Parent",required:!1,deprecated:!1},pkChunkingStartRow:{kind:"parameter",type:"string",description:"Specifies the 15-character or 18-character record ID to be used as the lower boundary for the first chunk. Use this parameter to specify a starting ID when restarting a job that failed between batches.",title:"Pk Chunking Start Row",required:!1,deprecated:!1},queryLocator:{kind:"parameter",type:"string",description:"Query Locator provided by salesforce for use when a query results in more records than can be retrieved in a single call. Use this value in a subsequent call to retrieve additional records.",title:"Query Locator",required:!1,deprecated:!1},rawPayload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use raw payload String for request and response (either JSON or XML depending on format), instead of DTOs, false by default",title:"Raw Payload",required:!1,deprecated:!1},reportId:{kind:"parameter",type:"string",description:"Salesforce1 Analytics report Id",title:"Report Id",required:!1,deprecated:!1},reportMetadata:{kind:"parameter",type:"object",description:"Salesforce1 Analytics report metadata for filtering",title:"Report Metadata",required:!1,deprecated:!1},resultId:{kind:"parameter",type:"string",description:"Bulk API Result ID",title:"Result Id",required:!1,deprecated:!1},sObjectBlobFieldName:{kind:"parameter",type:"string",description:"SObject blob field name",title:"SObject Blob Field Name",required:!1,deprecated:!1},sObjectClass:{kind:"parameter",type:"string",description:"Fully qualified SObject class name, usually generated using camel-salesforce-maven-plugin",title:"SObject Class",required:!1,deprecated:!1},sObjectFields:{kind:"parameter",type:"string",description:"SObject fields to retrieve",title:"SObject Fields",required:!1,deprecated:!1},sObjectId:{kind:"parameter",type:"string",description:"SObject ID if required by API",title:"SObject Id",required:!1,deprecated:!1},sObjectIdName:{kind:"parameter",type:"string",description:"SObject external ID field name",title:"SObject Id Name",required:!1,deprecated:!1},sObjectIdValue:{kind:"parameter",type:"string",description:"SObject external ID field value",title:"SObject Id Value",required:!1,deprecated:!1},sObjectName:{kind:"parameter",type:"string",description:"SObject name if required or supported by API",title:"SObject Name",required:!1,deprecated:!1},sObjectQuery:{kind:"parameter",type:"string",description:"Salesforce SOQL query string",title:"SObject Query",required:!1,deprecated:!1},sObjectSearch:{kind:"parameter",type:"string",description:"Salesforce SOSL search string",title:"SObject Search",required:!1,deprecated:!1},streamQueryResult:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, streams SOQL query result and transparently handles subsequent requests if there are multiple pages. Otherwise, results are returned one page at a time.",title:"Stream query result",required:!1,deprecated:!1},updateTopic:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to update an existing Push Topic when using the Streaming API, defaults to false",title:"Update Topic",required:!1,deprecated:!1},pubSubBatchSize:{kind:"parameter",type:"integer",defaultValue:"100",description:"Max number of events to receive in a batch from the Pub/Sub API.",title:"Pub Sub Batch Size",required:!1,deprecated:!1},pubSubDeserializeType:{kind:"parameter",type:"object",defaultValue:"AVRO",enum:["AVRO","SPECIFIC_RECORD","GENERIC_RECORD","POJO","JSON"],description:"How to deserialize events consume from the Pub/Sub API. AVRO will try a SpecificRecord subclass if found, otherwise GenericRecord.",title:"Pub Sub Deserialize Type",required:!1,deprecated:!1},pubSubPojoClass:{kind:"parameter",type:"string",description:"Fully qualified class name to deserialize Pub/Sub API event to.",title:"Pub Sub Pojo Class",required:!1,deprecated:!1},pubSubReplayId:{kind:"parameter",type:"string",description:"The replayId value to use when subscribing to the Pub/Sub API.",title:"Pub Sub Replay Id",required:!1,deprecated:!1},replayId:{kind:"parameter",type:"integer",description:"The replayId value to use when subscribing to the Streaming API.",title:"Replay Id",required:!1,deprecated:!1},replayPreset:{kind:"parameter",type:"object",defaultValue:"LATEST",enum:["LATEST","EARLIEST","CUSTOM"],description:"Replay preset for Pub/Sub API.",title:"Replay Preset",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},allOrNone:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Composite API option to indicate to rollback all records if any are not successful.",title:"All Or None",required:!1,deprecated:!1},apexUrl:{kind:"parameter",type:"string",description:"APEX method URL",title:"Apex Url",required:!1,deprecated:!1},compositeMethod:{kind:"parameter",type:"string",description:"Composite (raw) method.",title:"Composite Method",required:!1,deprecated:!1},eventName:{kind:"parameter",type:"string",description:"Name of Platform Event, Change Data Capture Event, custom event, etc.",title:"Event Name",required:!1,deprecated:!1},eventSchemaFormat:{kind:"parameter",type:"object",enum:["EXPANDED","COMPACT"],description:"EXPANDED: Apache Avro format but doesnt strictly adhere to the record complex type. COMPACT: Apache Avro, adheres to the specification for the record complex type. This parameter is available in API version 43.0 and later.",title:"Event Schema Format",required:!1,deprecated:!1},eventSchemaId:{kind:"parameter",type:"string",description:"The ID of the event schema.",title:"Event Schema Id",required:!1,deprecated:!1},rawHttpHeaders:{kind:"parameter",type:"string",description:"Comma separated list of message headers to include as HTTP parameters for Raw operation.",title:"Raw Http Headers",required:!1,deprecated:!1},rawMethod:{kind:"parameter",type:"string",description:"HTTP method to use for the Raw operation",title:"Raw Method",required:!1,deprecated:!1},rawPath:{kind:"parameter",type:"string",description:"The portion of the endpoint URL after the domain name. E.g., '/services/data/v52.0/sobjects/Account/'",title:"Raw Path",required:!1,deprecated:!1},rawQueryParameters:{kind:"parameter",type:"string",description:"Comma separated list of message headers to include as query parameters for Raw operation. Do not url-encode values as this will be done automatically.",title:"Raw Query Parameters",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"sap-netweaver":{type:"object",title:"SAP NetWeaver",group:"saas",icon:"generic24.png",description:"Send requests to SAP NetWeaver Gateway using HTTP.",properties:{url:{kind:"path",type:"string",description:"Url to the SAP net-weaver gateway server.",title:"Url",required:!0,deprecated:!1},flatternMap:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If the JSON Map contains only a single entry, then flattern by storing that single entry value as the message body.",title:"Flattern Map",required:!1,deprecated:!1},json:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to return data in JSON format. If this option is false, then XML is returned in Atom format.",title:"Json",required:!1,deprecated:!1},jsonAsMap:{kind:"parameter",type:"boolean",defaultValue:"true",description:"To transform the JSON from a String to a Map in the message body.",title:"Json As Map",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for account.",title:"Password",required:!0,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for account.",title:"Username",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},scheduler:{type:"object",title:"Scheduler",group:"core,scheduling",icon:"generic24.png",description:"Generate messages in specified intervals using java.util.concurrent.ScheduledExecutorService.",properties:{name:{kind:"path",type:"string",description:"The name of the scheduler",title:"Name",required:!0,deprecated:!1},includeMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include metadata in the exchange such as fired time, timer name, timer count etc.",title:"Include Metadata",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of core threads in the thread pool used by the scheduling thread pool. Is by default using a single thread",title:"Pool Size",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},schematron:{type:"object",title:"Schematron",group:"validation",icon:"generic24.png",description:"Validate XML payload using the Schematron Library.",properties:{path:{kind:"path",type:"string",description:"The path to the schematron rules file. Can either be in class path or location in the file system.",title:"Path",required:!0,deprecated:!1},abort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flag to abort the route and throw a schematron validation exception.",title:"Abort",required:!1,deprecated:!1},rules:{kind:"parameter",type:"object",description:"To use the given schematron rules instead of loading from the path",title:"Rules",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},uriResolver:{kind:"parameter",type:"object",description:"Set the URIResolver to be used for resolving schematron includes in the rules file.",title:"Uri Resolver",required:!1,deprecated:!1}}},scp:{type:"object",title:"SCP",group:"file",icon:"generic24.png",description:"Copy files to/from remote hosts using the secure copy protocol (SCP).",properties:{host:{kind:"path",type:"string",description:"Hostname of the FTP server",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port of the FTP server",title:"Port",required:!1,deprecated:!1},directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!1,deprecated:!1},chmod:{kind:"parameter",type:"string",defaultValue:"664",description:"Allows you to set chmod on the stored file. For example chmod=664.",title:"Chmod",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.",title:"Disconnect",required:!1,deprecated:!1},checksumFileAlgorithm:{kind:"parameter",type:"string",enum:["MD2","MD5","SHA_1","SHA_224","SHA_256","SHA_384","SHA_512","SHA_512_224","SHA_512_256","SHA3_224","SHA3_256","SHA3_384","SHA3_512"],description:"If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The checksum file will always be written in the same folder as the original file.",title:"Checksum File Algorithm",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},strictHostKeyChecking:{kind:"parameter",type:"string",defaultValue:"no",enum:["no","yes"],description:"Sets whether to use strict host key checking. Possible values are: no, yes",title:"Strict Host Key Checking",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},disconnectOnBatchComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.",title:"Disconnect On Batch Complete",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH",title:"Connect Timeout",required:!1,deprecated:!1},soTimeout:{kind:"parameter",type:"duration",defaultValue:"300000",description:"Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended option is to set this to 300000 so as not have a hanged connection. On SFTP this option is set as timeout on the JSCH Session instance.",title:"So Timeout",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Sets the data timeout for waiting for reply Used only by FTPClient",title:"Timeout",required:!1,deprecated:!1},knownHostsFile:{kind:"parameter",type:"string",description:"Sets the known_hosts file, so that the jsch endpoint can do host key verification. You can prefix with classpath: to load the file from classpath instead of file system.",title:"Known Hosts File",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use for login",title:"Password",required:!1,deprecated:!1},preferredAuthentications:{kind:"parameter",type:"string",description:"Set a comma separated list of authentications that will be used in order of preference. Possible authentication methods are defined by JCraft JSCH. Some examples include: gssapi-with-mic,publickey,keyboard-interactive,password If not specified the JSCH and/or system defaults will be used.",title:"Preferred Authentications",required:!1,deprecated:!1},privateKeyBytes:{kind:"parameter",type:"string",description:"Set the private key bytes to that the endpoint can do private key verification. This must be used only if privateKeyFile wasn't set. Otherwise the file will have the priority.",title:"Private Key Bytes",required:!1,deprecated:!1},privateKeyFile:{kind:"parameter",type:"string",description:"Set the private key file to that the endpoint can do private key verification. You can prefix with classpath: to load the file from classpath instead of file system.",title:"Private Key File",required:!1,deprecated:!1},privateKeyFilePassphrase:{kind:"parameter",type:"string",description:"Set the private key file passphrase to that the endpoint can do private key verification.",title:"Private Key File Passphrase",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use for login",title:"Username",required:!1,deprecated:!1},useUserKnownHostsFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If knownHostFile has not been explicit configured, then use the host file from System.getProperty(user.home) /.ssh/known_hosts",title:"Use User Known Hosts File",required:!1,deprecated:!1},ciphers:{kind:"parameter",type:"string",description:"Set a comma separated list of ciphers that will be used in order of preference. Possible cipher names are defined by JCraft JSCH. Some examples include: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc. If not specified the default list from JSCH will be used.",title:"Ciphers",required:!1,deprecated:!1}}},seda:{type:"object",title:"SEDA",group:"core,messaging",icon:"generic24.png",description:"Asynchronously call another endpoint from any Camel Context in the same JVM.",properties:{name:{kind:"path",type:"string",description:"Name of queue",title:"Name",required:!0,deprecated:!1},size:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The maximum capacity of the SEDA queue (i.e., the number of messages it can hold). Will by default use the defaultSize set on the SEDA component.",title:"Size",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of concurrent threads processing exchanges.",title:"Concurrent Consumers",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},limitConcurrentConsumers:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit the number of concurrentConsumers to the maximum of 500. By default, an exception will be thrown if an endpoint is configured with a greater number. You can disable that check by turning this option off.",title:"Limit Concurrent Consumers",required:!1,deprecated:!1},multipleConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether multiple consumers are allowed. If enabled, you can use SEDA for Publish-Subscribe messaging. That is, you can send a message to the SEDA queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint.",title:"Multiple Consumers",required:!1,deprecated:!1},pollTimeout:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The timeout (in milliseconds) used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown.",title:"Poll Timeout",required:!1,deprecated:!1},purgeWhenStopping:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is discarded.",title:"Purge When Stopping",required:!1,deprecated:!1},blockWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will instead block and wait until the message can be accepted.",title:"Block When Full",required:!1,deprecated:!1},discardIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the producer should discard the message (do not add the message to the queue), when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsumers can be enabled at the same time.",title:"Discard If No Consumers",required:!1,deprecated:!1},discardWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full SEDA queue will be discarded. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will give up sending and continue, meaning that the message was not sent to the SEDA queue.",title:"Discard When Full",required:!1,deprecated:!1},failIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the producer should fail by throwing an exception, when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsumers can be enabled at the same time.",title:"Fail If No Consumers",required:!1,deprecated:!1},offerTimeout:{kind:"parameter",type:"duration",description:"Offer timeout (in milliseconds) can be added to the block case when queue is full. You can disable timeout by using 0 or a negative value.",title:"Offer Timeout",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. You can disable timeout by using 0 or a negative value.",title:"Timeout",required:!1,deprecated:!1},waitForTaskToComplete:{kind:"parameter",type:"object",defaultValue:"IfReplyExpected",enum:["Never","IfReplyExpected","Always"],description:"Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: Always, Never or IfReplyExpected. The first two values are self-explanatory. The last value, IfReplyExpected, will only wait if the message is Request Reply based. The default option is IfReplyExpected.",title:"Wait For Task To Complete",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},queue:{kind:"parameter",type:"object",description:"Define the queue instance which will be used by the endpoint",title:"Queue",required:!1,deprecated:!1}}},service:{type:"object",title:"Service",group:"cloud",icon:"generic24.png",description:"Register a Camel endpoint to a Service Registry (such as Consul, Etcd) and delegate to it.",properties:{delegateUri:{kind:"path",type:"string",description:"The endpoint uri to expose as service",title:"Delegate Uri",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},servicenow:{type:"object",title:"ServiceNow",group:"api,cloud,management",icon:"generic24.png",description:"Interact with ServiceNow via its REST API.",properties:{instanceName:{kind:"path",type:"string",description:"The ServiceNow instance name",title:"Instance Name",required:!0,deprecated:!1},display:{kind:"parameter",type:"string",defaultValue:"true",enum:["false","true","all"],description:"Set this parameter to true to return only scorecards where the indicator Display field is selected. Set this parameter to all to return scorecards with any Display field value. This parameter is true by default.",title:"Display",required:!1,deprecated:!1},displayValue:{kind:"parameter",type:"string",defaultValue:"false",enum:["false","true","all"],description:"Return the display value (true), actual value (false), or both (all) for reference fields (default: false)",title:"Display Value",required:!1,deprecated:!1},excludeReferenceLink:{kind:"parameter",type:"boolean",description:"True to exclude Table API links for reference fields (default: false)",title:"Exclude Reference Link",required:!1,deprecated:!1},favorites:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return only scorecards that are favorites of the querying user.",title:"Favorites",required:!1,deprecated:!1},includeAggregates:{kind:"parameter",type:"boolean",description:"Set this parameter to true to always return all available aggregates for an indicator, including when an aggregate has already been applied. If a value is not specified, this parameter defaults to false and returns no aggregates.",title:"Include Aggregates",required:!1,deprecated:!1},includeAvailableAggregates:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return all available aggregates for an indicator when no aggregate has been applied. If a value is not specified, this parameter defaults to false and returns no aggregates.",title:"Include Available Aggregates",required:!1,deprecated:!1},includeAvailableBreakdowns:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return all available breakdowns for an indicator. If a value is not specified, this parameter defaults to false and returns no breakdowns.",title:"Include Available Breakdowns",required:!1,deprecated:!1},includeScoreNotes:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return all notes associated with the score. The note element contains the note text as well as the author and timestamp when the note was added.",title:"Include Score Notes",required:!1,deprecated:!1},includeScores:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return all scores for a scorecard. If a value is not specified, this parameter defaults to false and returns only the most recent score value.",title:"Include Scores",required:!1,deprecated:!1},inputDisplayValue:{kind:"parameter",type:"boolean",description:"True to set raw value of input fields (default: false)",title:"Input Display Value",required:!1,deprecated:!1},key:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return only scorecards for key indicators.",title:"Key",required:!1,deprecated:!1},models:{kind:"parameter",type:"object",description:"Defines both request and response models",title:"Models",required:!1,deprecated:!1},perPage:{kind:"parameter",type:"integer",defaultValue:"10",description:"Enter the maximum number of scorecards each query can return. By default this value is 10, and the maximum is 100.",title:"Per Page",required:!1,deprecated:!1},release:{kind:"parameter",type:"object",defaultValue:"HELSINKI",enum:["FUJI","GENEVA","HELSINKI"],description:"The ServiceNow release to target, default to Helsinki See https://docs.servicenow.com",title:"Release",required:!1,deprecated:!1},requestModels:{kind:"parameter",type:"object",description:"Defines the request model",title:"Request Models",required:!1,deprecated:!1},resource:{kind:"parameter",type:"string",description:"The default resource, can be overridden by header CamelServiceNowResource",title:"Resource",required:!1,deprecated:!1},responseModels:{kind:"parameter",type:"object",description:"Defines the response model",title:"Response Models",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",enum:["value","change","changeperc","gap","gapperc","duedate","name","order","default","group","indicator_group","frequency","target","date","trend","bullet","direction"],description:"Specify the value to use when sorting results. By default, queries sort records by value.",title:"Sort By",required:!1,deprecated:!1},sortDir:{kind:"parameter",type:"string",enum:["asc","desc"],description:"Specify the sort direction, ascending or descending. By default, queries sort records in descending order. Use sysparm_sortdir=asc to sort in ascending order.",title:"Sort Dir",required:!1,deprecated:!1},suppressAutoSysField:{kind:"parameter",type:"boolean",description:"True to suppress auto generation of system fields (default: false)",title:"Suppress Auto Sys Field",required:!1,deprecated:!1},suppressPaginationHeader:{kind:"parameter",type:"boolean",description:"Set this value to true to remove the Link header from the response. The Link header allows you to request additional pages of data when the number of records matching your query exceeds the query limit",title:"Suppress Pagination Header",required:!1,deprecated:!1},table:{kind:"parameter",type:"string",description:"The default table, can be overridden by header CamelServiceNowTable",title:"Table",required:!1,deprecated:!1},target:{kind:"parameter",type:"boolean",description:"Set this parameter to true to return only scorecards that have a target.",title:"Target",required:!1,deprecated:!1},topLevelOnly:{kind:"parameter",type:"boolean",description:"Gets only those categories whose parent is a catalog.",title:"Top Level Only",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"The ServiceNow REST API version, default latest",title:"Api Version",required:!1,deprecated:!1},dateFormat:{kind:"parameter",type:"string",defaultValue:"yyyy-MM-dd",description:"The date format used for Json serialization/deserialization",title:"Date Format",required:!1,deprecated:!1},dateTimeFormat:{kind:"parameter",type:"string",defaultValue:"yyyy-MM-dd HH:mm:ss",description:"The date-time format used for Json serialization/deserialization",title:"Date Time Format",required:!1,deprecated:!1},httpClientPolicy:{kind:"parameter",type:"object",description:"To configure http-client",title:"Http Client Policy",required:!1,deprecated:!1},mapper:{kind:"parameter",type:"object",description:"Sets Jackson's ObjectMapper to use for request/reply",title:"Mapper",required:!1,deprecated:!1},proxyAuthorizationPolicy:{kind:"parameter",type:"object",description:"To configure proxy authentication",title:"Proxy Authorization Policy",required:!1,deprecated:!1},retrieveTargetRecordOnImport:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this parameter to true to retrieve the target record when using import set api. The import set result is then replaced by the target record",title:"Retrieve Target Record On Import",required:!1,deprecated:!1},timeFormat:{kind:"parameter",type:"string",defaultValue:"HH:mm:ss",description:"The time format used for Json serialization/deserialization",title:"Time Format",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"The proxy host name",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"The proxy port number",title:"Proxy Port",required:!1,deprecated:!1},apiUrl:{kind:"parameter",type:"string",description:"The ServiceNow REST API url",title:"Api Url",required:!1,deprecated:!1},oauthClientId:{kind:"parameter",type:"string",description:"OAuth2 ClientID",title:"Oauth Client Id",required:!1,deprecated:!1},oauthClientSecret:{kind:"parameter",type:"string",description:"OAuth2 ClientSecret",title:"Oauth Client Secret",required:!1,deprecated:!1},oauthTokenUrl:{kind:"parameter",type:"string",description:"OAuth token Url",title:"Oauth Token Url",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"ServiceNow account password, MUST be provided",title:"Password",required:!0,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"Password for proxy authentication",title:"Proxy Password",required:!1,deprecated:!1},proxyUserName:{kind:"parameter",type:"string",description:"Username for proxy authentication",title:"Proxy User Name",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters. See http://camel.apache.org/camel-configuration-utilities.html",title:"Ssl Context Parameters",required:!1,deprecated:!1},userName:{kind:"parameter",type:"string",description:"ServiceNow user account name, MUST be provided",title:"User Name",required:!0,deprecated:!1}}},servlet:{type:"object",title:"Servlet",group:"http",icon:"generic24.png",description:"Serve HTTP requests by a Servlet.",properties:{contextPath:{kind:"path",type:"string",description:"The context-path to use",title:"Context Path",required:!0,deprecated:!1},disableStreamCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",title:"Disable Stream Cache",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},httpBinding:{kind:"parameter",type:"object",description:"To use a custom HttpBinding to control the mapping between Camel message and HttpClient.",title:"Http Binding",required:!1,deprecated:!1},chunked:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is false the Servlet will disable the HTTP streaming and set the content-length header on the response",title:"Chunked",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},async:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Configure the consumer to work in async mode",title:"Async",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple methods can be specified separated by comma.",title:"Http Method Restrict",required:!1,deprecated:!1},logException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the exception's stack trace will be logged when the exception stack trace is not sent in the response's body.",title:"Log Exception",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},responseBufferSize:{kind:"parameter",type:"integer",description:"To use a custom buffer size on the jakarta.servlet.ServletResponse.",title:"Response Buffer Size",required:!1,deprecated:!1},servletName:{kind:"parameter",type:"string",defaultValue:"CamelServlet",description:"Name of the servlet to use",title:"Servlet Name",required:!1,deprecated:!1},attachmentMultipartBinding:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to automatic bind multipart/form-data as attachments on the Camel Exchange. The options attachmentMultipartBinding=true and disableStreamCache=false cannot work together. Remove disableStreamCache to use AttachmentMultipartBinding. This is turn off by default as this may require servlet specific configuration to enable this when using Servlet's.",title:"Attachment Multipart Binding",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eagerCheckContentAvailable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to eager check whether the HTTP requests has content if the content-length header is 0 or not present. This can be turned on in case HTTP clients do not send streamed data.",title:"Eager Check Content Available",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},fileNameExtWhitelist:{kind:"parameter",type:"string",description:"Whitelist of accepted filename extensions for accepting uploaded files. Multiple extensions can be separated by comma, such as txt,xml.",title:"File Name Ext Whitelist",required:!1,deprecated:!1},mapHttpMessageBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping.",title:"Map Http Message Body",required:!1,deprecated:!1},mapHttpMessageFormUrlEncodedBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping.",title:"Map Http Message Form Url Encoded Body",required:!1,deprecated:!1},mapHttpMessageHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping.",title:"Map Http Message Headers",required:!1,deprecated:!1},optionsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",title:"Options Enabled",required:!1,deprecated:!1},traceEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off.",title:"Trace Enabled",required:!1,deprecated:!1}}},sftp:{type:"object",title:"SFTP",group:"file",icon:"generic24.png",description:"Upload and download files to/from SFTP servers.",properties:{host:{kind:"path",type:"string",description:"Hostname of the FTP server",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port of the FTP server",title:"Port",required:!1,deprecated:!1},directoryName:{kind:"path",type:"string",description:"The starting directory",title:"Directory Name",required:!1,deprecated:!1},binary:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false).",title:"Binary",required:!1,deprecated:!1},charset:{kind:"parameter",type:"string",description:"This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the data into the configured charset, so do not use this if you have big messages.",title:"Charset",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead.",title:"Disconnect",required:!1,deprecated:!1},doneFileName:{kind:"parameter",type:"string",description:"Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",title:"Done File Name",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",title:"File Name",required:!1,deprecated:!1},jschLoggingLevel:{kind:"parameter",type:"object",defaultValue:"WARN",enum:["DEBUG","INFO","WARN","ERROR"],description:"The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default.",title:"Jsch Logging Level",required:!1,deprecated:!1},passiveMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets passive mode connections. Default is active mode connections.",title:"Passive Mode",required:!1,deprecated:!1},separator:{kind:"parameter",type:"object",defaultValue:"UNIX",enum:["UNIX","Windows","Auto"],description:"Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name",title:"Separator",required:!1,deprecated:!1},fastExistsCheck:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has a lot of files.",title:"Fast Exists Check",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file will be deleted after it is processed successfully.",title:"Delete",required:!1,deprecated:!1},moveFailed:{kind:"parameter",type:"string",description:"Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",title:"Move Failed",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",title:"Noop",required:!1,deprecated:!1},preMove:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",title:"Pre Move",required:!1,deprecated:!1},preSort:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",title:"Pre Sort",required:!1,deprecated:!1},recursive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If a directory, will look for files in all the sub-directories as well.",title:"Recursive",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streamDownload:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route. If enabling this option then you must set stepwise=false as both cannot be enabled at the same time.",title:"Stream Download",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},download:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the FTP consumer should download the file. If this option is set to false, then the message body will be null, but the consumer will still trigger a Camel Exchange that has details about the file such as file name, file size, etc. It's just that the file will not be downloaded.",title:"Download",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},ignoreFileNotFoundOrPermissionError:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exist or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead.",title:"Ignore File Not Found Or Permission Error",required:!1,deprecated:!1},inProgressRepository:{kind:"parameter",type:"object",description:"A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",title:"In Progress Repository",required:!1,deprecated:!1},localWorkDirectory:{kind:"parameter",type:"string",description:"When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",title:"Local Work Directory",required:!1,deprecated:!1},onCompletionExceptionHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",title:"On Completion Exception Handler",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",title:"Process Strategy",required:!1,deprecated:!1},useList:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using LIST command when downloading a file. Default is true. In some use cases you may want to download a specific file and are not allowed to use the LIST command, and therefore you can set this option to false. Notice when using this option, then the specific file to download does not include meta-data information such as file size, timestamp, permissions etc, because those information is only possible to retrieve when LIST command is in use.",title:"Use List",required:!1,deprecated:!1},checksumFileAlgorithm:{kind:"parameter",type:"string",enum:["MD2","MD5","SHA_1","SHA_224","SHA_256","SHA_384","SHA_512","SHA_512_224","SHA_512_256","SHA3_224","SHA3_256","SHA3_384","SHA3_512"],description:"If provided, then Camel will write a checksum file when the original file has been written. The checksum file will contain the checksum created with the provided algorithm for the original file. The checksum file will always be written in the same folder as the original file.",title:"Checksum File Algorithm",required:!1,deprecated:!1},fileExist:{kind:"parameter",type:"object",defaultValue:"Override",enum:["Override","Append","Fail","Ignore","Move","TryRename"],description:"What to do if a file already exists with the same name. Override, which is the default, replaces the existing file. - Append - adds content to the existing file. - Fail - throws a GenericFileOperationException, indicating that there is already an existing file. - Ignore - silently ignores the problem and does not override the existing file, but assumes everything is okay. - Move - option requires to use the moveExisting option to be configured as well. The option eagerDeleteTargetFile can be used to control what to do if an moving the file, and there exists already an existing file, otherwise causing the move operation to fail. The Move option will move any existing files, before writing the target file. - TryRename is only applicable if tempFileName option is in use. This allows to try renaming the file from the temporary name to the actual name, without doing any exists check. This check may be faster on some file systems and especially FTP servers.",title:"File Exist",required:!1,deprecated:!1},flatten:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name. This allows you to consume recursively into sub-directories, but when you eg write the files to another directory they will be written in a single directory. Setting this to true on the producer enforces that any file name in CamelFileName header will be stripped for any leading paths.",title:"Flatten",required:!1,deprecated:!1},jailStartingDirectory:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for jailing (restricting) writing files to the starting directory (and sub) only. This is enabled by default to not allow Camel to write files to outside directories (to be more secured out of the box). You can turn this off to allow writing files to directories outside the starting directory, such as parent or root folders.",title:"Jail Starting Directory",required:!1,deprecated:!1},moveExisting:{kind:"parameter",type:"string",description:"Expression (such as File Language) used to compute file name to use when fileExist=Move is configured. To move files into a backup subdirectory just enter backup. This option only supports the following File Language tokens: file:name, file:name.ext, file:name.noext, file:onlyname, file:onlyname.noext, file:ext, and file:parent. Notice the file:parent is not supported by the FTP component, as the FTP component can only move any existing files to a relative directory based on current dir as base.",title:"Move Existing",required:!1,deprecated:!1},tempFileName:{kind:"parameter",type:"string",description:"The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language. The location for tempFilename is relative to the final file location in the option 'fileName', not the target directory in the base uri. For example if option fileName includes a directory prefix: dir/finalFilename then tempFileName is relative to that subdirectory dir.",title:"Temp File Name",required:!1,deprecated:!1},tempPrefix:{kind:"parameter",type:"string",description:"This option is used to write the file using a temporary name and then, after the write is complete, rename it to the real name. Can be used to identify files being written and also avoid consumers (not using exclusive read locks) reading in progress files. Is often used by FTP when uploading big files.",title:"Temp Prefix",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Used to specify if a null body is allowed during file writing. If set to true then an empty file will be created, when set to false, and attempting to send a null body to the file component, a GenericFileWriteException of 'Cannot write null body to file.' will be thrown. If the fileExist option is set to 'Override', then the file will be truncated, and if set to append the file will remain unchanged.",title:"Allow Null Body",required:!1,deprecated:!1},chmod:{kind:"parameter",type:"string",description:"Allows you to set chmod on the stored file. For example chmod=640.",title:"Chmod",required:!1,deprecated:!1},chmodDirectory:{kind:"parameter",type:"string",description:"Allows you to set chmod during path creation. For example chmod=640.",title:"Chmod Directory",required:!1,deprecated:!1},disconnectOnBatchComplete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server.",title:"Disconnect On Batch Complete",required:!1,deprecated:!1},eagerDeleteTargetFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before the temp file is being renamed to the target filename. This option is also used to control whether to delete any existing files when fileExist=Move is enabled, and an existing file exists. If this option copyAndDeleteOnRenameFails false, then an exception will be thrown if an existing file existed, if its true, then the existing file is deleted before the move operation.",title:"Eager Delete Target File",required:!1,deprecated:!1},keepLastModified:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will keep the last modified timestamp from the source file (if any). Will use the FileConstants.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers.",title:"Keep Last Modified",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},moveExistingFileStrategy:{kind:"parameter",type:"object",description:"Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided",title:"Move Existing File Strategy",required:!1,deprecated:!1},sendNoop:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off.",title:"Send Noop",required:!1,deprecated:!1},autoCreate:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",title:"Auto Create",required:!1,deprecated:!1},bindAddress:{kind:"parameter",type:"string",description:"Specifies the address of the local interface against which the connection should bind.",title:"Bind Address",required:!1,deprecated:!1},bulkRequests:{kind:"parameter",type:"integer",description:"Specifies how many requests may be outstanding at any one time. Increasing this value may slightly improve file transfer speed but will increase memory usage.",title:"Bulk Requests",required:!1,deprecated:!1},compression:{kind:"parameter",type:"integer",description:"To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to the classpath for compression support.",title:"Compression",required:!1,deprecated:!1},connectTimeout:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH",title:"Connect Timeout",required:!1,deprecated:!1},existDirCheckUsingLs:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to check for existing directory using LS command or CD. By default LS is used which is safer as otherwise Camel needs to change the directory back after checking. However LS has been reported to cause a problem on windows system in some situations and therefore you can disable this option to use CD.",title:"Exist Dir Check Using Ls",required:!1,deprecated:!1},filenameEncoding:{kind:"parameter",type:"string",description:"Encoding to use for FTP client when parsing filenames. By default, UTF-8 is used.",title:"Filename Encoding",required:!1,deprecated:!1},maximumReconnectAttempts:{kind:"parameter",type:"integer",description:"Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.",title:"Maximum Reconnect Attempts",required:!1,deprecated:!1},proxy:{kind:"parameter",type:"object",description:"To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume/send messages from the target SFTP host.",title:"Proxy",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Delay in millis Camel will wait before performing a reconnect attempt.",title:"Reconnect Delay",required:!1,deprecated:!1},serverAliveCountMax:{kind:"parameter",type:"integer",defaultValue:"1",description:"Sets the number of keep-alive messages which may be sent without receiving any messages back from the server. If this threshold is reached while keep-alive messages are being sent, the connection will be disconnected. The default value is one.",title:"Server Alive Count Max",required:!1,deprecated:!1},serverAliveInterval:{kind:"parameter",type:"integer",description:"Sets the interval (millis) to send a keep-alive message. If zero is specified, any keep-alive message must not be sent. The default interval is zero.",title:"Server Alive Interval",required:!1,deprecated:!1},serverMessageLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The logging level used for various human intended log messages from the FTP server. This can be used during troubleshooting to raise the logging level and inspect the logs received from the FTP server.",title:"Server Message Logging Level",required:!1,deprecated:!1},soTimeout:{kind:"parameter",type:"duration",defaultValue:"300000",description:"Sets the so timeout FTP and FTPS Is the SocketOptions.SO_TIMEOUT value in millis. Recommended option is to set this to 300000 so as not have a hanged connection. On SFTP this option is set as timeout on the JSCH Session instance.",title:"So Timeout",required:!1,deprecated:!1},stepwise:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether we should stepwise change directories while traversing file structures when downloading files, or as well when uploading a file to a directory. You can disable this if you for example are in a situation where you cannot change directory on the FTP server due security reasons. Stepwise cannot be used together with streamDownload.",title:"Stepwise",required:!1,deprecated:!1},throwExceptionOnConnectFailed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should an exception be thrown if connection failed (exhausted)By default exception is not thrown and a WARN is logged. You can use this to enable exception being thrown and handle the thrown exception from the org.apache.camel.spi.PollingConsumerPollStrategy rollback method.",title:"Throw Exception On Connect Failed",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Sets the data timeout for waiting for reply Used only by FTPClient",title:"Timeout",required:!1,deprecated:!1},antExclude:{kind:"parameter",type:"string",description:"Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",title:"Ant Exclude",required:!1,deprecated:!1},antFilterCaseSensitive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets case sensitive flag on ant filter.",title:"Ant Filter Case Sensitive",required:!1,deprecated:!1},antInclude:{kind:"parameter",type:"string",description:"Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",title:"Ant Include",required:!1,deprecated:!1},eagerMaxMessagesPerPoll:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",title:"Eager Max Messages Per Poll",required:!1,deprecated:!1},exclude:{kind:"parameter",type:"string",description:"Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Exclude",required:!1,deprecated:!1},excludeExt:{kind:"parameter",type:"string",description:"Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Exclude Ext",required:!1,deprecated:!1},filter:{kind:"parameter",type:"object",description:"Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",title:"Filter",required:!1,deprecated:!1},filterDirectory:{kind:"parameter",type:"string",description:"Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",title:"Filter Directory",required:!1,deprecated:!1},filterFile:{kind:"parameter",type:"string",description:"Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",title:"Filter File",required:!1,deprecated:!1},idempotent:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",title:"Idempotent",required:!1,deprecated:!1},idempotentKey:{kind:"parameter",type:"string",description:"To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",title:"Idempotent Key",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",title:"Idempotent Repository",required:!1,deprecated:!1},include:{kind:"parameter",type:"string",description:"Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",title:"Include",required:!1,deprecated:!1},includeExt:{kind:"parameter",type:"string",description:"Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include/exclude options.",title:"Include Ext",required:!1,deprecated:!1},maxDepth:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"The maximum depth to traverse when recursively processing a directory.",title:"Max Depth",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",title:"Max Messages Per Poll",required:!1,deprecated:!1},minDepth:{kind:"parameter",type:"integer",description:"The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",title:"Min Depth",required:!1,deprecated:!1},move:{kind:"parameter",type:"string",description:"Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",title:"Move",required:!1,deprecated:!1},exclusiveReadLockStrategy:{kind:"parameter",type:"object",description:"Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",title:"Exclusive Read Lock Strategy",required:!1,deprecated:!1},readLock:{kind:"parameter",type:"string",defaultValue:"none",enum:["none","markerFile","fileLock","rename","changed","idempotent","idempotent-changed","idempotent-rename"],description:"Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan.",title:"Read Lock",required:!1,deprecated:!1},readLockCheckInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that ample time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Check Interval",required:!1,deprecated:!1},readLockDeleteOrphanLockFiles:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",title:"Read Lock Delete Orphan Lock Files",required:!1,deprecated:!1},readLockIdempotentReleaseAsync:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Async",required:!1,deprecated:!1},readLockIdempotentReleaseAsyncPoolSize:{kind:"parameter",type:"integer",description:"The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Async Pool Size",required:!1,deprecated:!1},readLockIdempotentReleaseDelay:{kind:"parameter",type:"integer",description:"Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if you have configured readLockRemoveOnCommit to true.",title:"Read Lock Idempotent Release Delay",required:!1,deprecated:!1},readLockIdempotentReleaseExecutorService:{kind:"parameter",type:"object",description:"To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Idempotent Release Executor Service",required:!1,deprecated:!1},readLockLoggingLevel:{kind:"parameter",type:"object",defaultValue:"DEBUG",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename.",title:"Read Lock Logging Level",required:!1,deprecated:!1},readLockMarkerFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",title:"Read Lock Marker File",required:!1,deprecated:!1},readLockMinAge:{kind:"parameter",type:"integer",defaultValue:"0",description:"This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",title:"Read Lock Min Age",required:!1,deprecated:!1},readLockMinLength:{kind:"parameter",type:"integer",defaultValue:"1",description:"This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",title:"Read Lock Min Length",required:!1,deprecated:!1},readLockRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",title:"Read Lock Remove On Commit",required:!1,deprecated:!1},readLockRemoveOnRollback:{kind:"parameter",type:"boolean",defaultValue:"true",description:"This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",title:"Read Lock Remove On Rollback",required:!1,deprecated:!1},readLockTimeout:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that ample time is allowed for the read lock process to try to grab the lock before the timeout was hit.",title:"Read Lock Timeout",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},autoCreateKnownHostsFile:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If knownHostFile does not exist, then attempt to auto-create the path and file (beware that the file will be created by the current user of the running Java process, which may not have file permission).",title:"Auto Create Known Hosts File",required:!1,deprecated:!1},ciphers:{kind:"parameter",type:"string",description:"Set a comma separated list of ciphers that will be used in order of preference. Possible cipher names are defined by JCraft JSCH. Some examples include: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc. If not specified the default list from JSCH will be used.",title:"Ciphers",required:!1,deprecated:!1},keyExchangeProtocols:{kind:"parameter",type:"string",description:"Set a comma separated list of key exchange protocols that will be used in order of preference. Possible cipher names are defined by JCraft JSCH. Some examples include: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1,diffie-hellman-group14-sha1, diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521. If not specified the default list from JSCH will be used.",title:"Key Exchange Protocols",required:!1,deprecated:!1},keyPair:{kind:"parameter",type:"object",description:"Sets a key pair of the public and private key so to that the SFTP endpoint can do public/private key verification.",title:"Key Pair",required:!1,deprecated:!1},knownHosts:{kind:"parameter",type:"string",description:"Sets the known_hosts from the byte array, so that the SFTP endpoint can do host key verification.",title:"Known Hosts",required:!1,deprecated:!1},knownHostsFile:{kind:"parameter",type:"string",description:"Sets the known_hosts file, so that the SFTP endpoint can do host key verification.",title:"Known Hosts File",required:!1,deprecated:!1},knownHostsUri:{kind:"parameter",type:"string",description:"Sets the known_hosts file (loaded from classpath by default), so that the SFTP endpoint can do host key verification.",title:"Known Hosts Uri",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password to use for login",title:"Password",required:!1,deprecated:!1},preferredAuthentications:{kind:"parameter",type:"string",description:"Set the preferred authentications which SFTP endpoint will used. Some example include:password,publickey. If not specified the default list from JSCH will be used.",title:"Preferred Authentications",required:!1,deprecated:!1},privateKey:{kind:"parameter",type:"string",description:"Set the private key as byte so that the SFTP endpoint can do private key verification.",title:"Private Key",required:!1,deprecated:!1},privateKeyFile:{kind:"parameter",type:"string",description:"Set the private key file so that the SFTP endpoint can do private key verification.",title:"Private Key File",required:!1,deprecated:!1},privateKeyPassphrase:{kind:"parameter",type:"string",description:"Set the private key file passphrase so that the SFTP endpoint can do private key verification.",title:"Private Key Passphrase",required:!1,deprecated:!1},privateKeyUri:{kind:"parameter",type:"string",description:"Set the private key file (loaded from classpath by default) so that the SFTP endpoint can do private key verification.",title:"Private Key Uri",required:!1,deprecated:!1},publicKeyAcceptedAlgorithms:{kind:"parameter",type:"string",description:"Set a comma separated list of public key accepted algorithms. Some examples include: ssh-dss,ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521. If not specified the default list from JSCH will be used.",title:"Public Key Accepted Algorithms",required:!1,deprecated:!1},serverHostKeys:{kind:"parameter",type:"string",description:"Set a comma separated list of algorithms supported for the server host key. Some examples include: ssh-dss,ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521. If not specified the default list from JSCH will be used.",title:"Server Host Keys",required:!1,deprecated:!1},strictHostKeyChecking:{kind:"parameter",type:"string",defaultValue:"no",enum:["no","yes"],description:"Sets whether to use strict host key checking.",title:"Strict Host Key Checking",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username to use for login",title:"Username",required:!1,deprecated:!1},useUserKnownHostsFile:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If knownHostFile has not been explicit configured then use the host file from System.getProperty(user.home)/.ssh/known_hosts",title:"Use User Known Hosts File",required:!1,deprecated:!1},shuffle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To shuffle the list of files (sort in random order)",title:"Shuffle",required:!1,deprecated:!1},sortBy:{kind:"parameter",type:"string",description:"Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",title:"Sort By",required:!1,deprecated:!1},sorter:{kind:"parameter",type:"object",description:"Pluggable sorter as a java.util.Comparator class.",title:"Sorter",required:!1,deprecated:!1}}},sjms:{type:"object",title:"Simple JMS",group:"messaging",icon:"generic24.png",description:"Send and receive messages to/from a JMS Queue or Topic using plain JMS 1.x API.",properties:{destinationType:{kind:"path",type:"string",defaultValue:"queue",enum:["queue","topic"],description:"The kind of destination to use",title:"Destination Type",required:!1,deprecated:!1},destinationName:{kind:"path",type:"string",description:"DestinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name.",title:"Destination Name",required:!0,deprecated:!1},acknowledgementMode:{kind:"parameter",type:"object",defaultValue:"AUTO_ACKNOWLEDGE",enum:["SESSION_TRANSACTED","CLIENT_ACKNOWLEDGE","AUTO_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"],description:"The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",title:"Acknowledgement Mode",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",title:"Reply To",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",title:"Async Consumer",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead.",title:"Client Id",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Concurrent Consumers",required:!1,deprecated:!1},durableSubscriptionName:{kind:"parameter",type:"string",description:"The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",title:"Durable Subscription Name",required:!1,deprecated:!1},replyToDeliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to use persistent delivery by default for replies.",title:"Reply To Delivery Persistent",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eagerLoadingOfProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",title:"Eager Loading Of Properties",required:!1,deprecated:!1},eagerPoisonBody:{kind:"parameter",type:"string",defaultValue:"Poison JMS message due to ${exception.message}",description:"If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",title:"Eager Poison Body",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},messageSelector:{kind:"parameter",type:"string",description:"Sets the JMS Message selector syntax.",title:"Message Selector",required:!1,deprecated:!1},replyToSameDestinationAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",title:"Reply To Same Destination Allowed",required:!1,deprecated:!1},deliveryMode:{kind:"parameter",type:"integer",enum:["1","2"],description:"Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",title:"Delivery Mode",required:!1,deprecated:!1},deliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether persistent delivery is used by default.",title:"Delivery Persistent",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",defaultValue:"4",enum:["1","2","3","4","5","6","7","8","9"],description:"Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",title:"Priority",required:!1,deprecated:!1},replyToConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Concurrent Consumers",required:!1,deprecated:!1},replyToOverride:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",title:"Reply To Override",required:!1,deprecated:!1},replyToType:{kind:"parameter",type:"object",enum:["Temporary","Exclusive"],description:"Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Exclusive is used.",title:"Reply To Type",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"duration",defaultValue:"20000",description:"The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.",title:"Request Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"integer",defaultValue:"-1",description:"When sending messages, specifies the time-to-live of the message (in milliseconds).",title:"Time To Live",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},disableTimeToLive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expire on the receiver system. See below in section About time to live for more details.",title:"Disable Time To Live",required:!1,deprecated:!1},explicitQosEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",title:"Explicit Qos Enabled",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},preserveMessageQos:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header.",title:"Preserve Message Qos",required:!1,deprecated:!1},asyncStartListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to startup the consumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or fail over. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that if the connection could not be established, then an exception is logged at WARN level, and the consumer will not be able to receive messages; You can then restart the route to retry.",title:"Async Start Listener",required:!1,deprecated:!1},asyncStopListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to stop the consumer message listener asynchronously, when stopping a route.",title:"Async Stop Listener",required:!1,deprecated:!1},destinationCreationStrategy:{kind:"parameter",type:"object",description:"To use a custom DestinationCreationStrategy.",title:"Destination Creation Strategy",required:!1,deprecated:!1},exceptionListener:{kind:"parameter",type:"object",description:"Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.",title:"Exception Listener",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},includeAllJMSXProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",title:"Include All JMSXProperties",required:!1,deprecated:!1},jmsKeyFormatStrategy:{kind:"parameter",type:"object",description:"Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.",title:"Jms Key Format Strategy",required:!1,deprecated:!1},mapJmsMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc. See section about how mapping works below for more details.",title:"Map Jms Message",required:!1,deprecated:!1},messageCreatedStrategy:{kind:"parameter",type:"object",description:"To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message.",title:"Message Created Strategy",required:!1,deprecated:!1},recoveryInterval:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds.",title:"Recovery Interval",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The caught exception is required to be serializable. The original Exception on the consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException when returned to the producer. Use this with caution as the data is using Java Object serialization and requires the received to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumer!",title:"Transfer Exception",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to use transacted mode",title:"Transacted",required:!1,deprecated:!1}}},sjms2:{type:"object",title:"Simple JMS2",group:"messaging",icon:"generic24.png",description:"Send and receive messages to/from a JMS Queue or Topic using plain JMS 2.x API.",properties:{destinationType:{kind:"path",type:"string",defaultValue:"queue",enum:["queue","topic"],description:"The kind of destination to use",title:"Destination Type",required:!1,deprecated:!1},destinationName:{kind:"path",type:"string",description:"DestinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name.",title:"Destination Name",required:!0,deprecated:!1},acknowledgementMode:{kind:"parameter",type:"object",defaultValue:"AUTO_ACKNOWLEDGE",enum:["SESSION_TRANSACTED","CLIENT_ACKNOWLEDGE","AUTO_ACKNOWLEDGE","DUPS_OK_ACKNOWLEDGE"],description:"The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE",title:"Acknowledgement Mode",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination (overrides any incoming value of Message.getJMSReplyTo() in consumer).",title:"Reply To",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transacted has been enabled, then asyncConsumer=true does not run asynchronously, as transaction must be executed synchronously (Camel 3.0 may support async transactions).",title:"Async Consumer",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead.",title:"Client Id",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.",title:"Concurrent Consumers",required:!1,deprecated:!1},durable:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the topic to be durable",title:"Durable",required:!1,deprecated:!1},durableSubscriptionName:{kind:"parameter",type:"string",description:"The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.",title:"Durable Subscription Name",required:!1,deprecated:!1},replyToDeliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to use persistent delivery by default for replies.",title:"Reply To Delivery Persistent",required:!1,deprecated:!1},shared:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the topic to be shared",title:"Shared",required:!1,deprecated:!1},subscriptionId:{kind:"parameter",type:"string",description:"Sets the topic subscription id, required for durable or shared topics.",title:"Subscription Id",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},eagerLoadingOfProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties. See also the option eagerPoisonBody.",title:"Eager Loading Of Properties",required:!1,deprecated:!1},eagerPoisonBody:{kind:"parameter",type:"string",defaultValue:"Poison JMS message due to ${exception.message}",description:"If eagerLoadingOfProperties is enabled and the JMS message payload (JMS body or JMS properties) is poison (cannot be read/mapped), then set this text as the message body instead so the message can be processed (the cause of the poison are already stored as exception on the Exchange). This can be turned off by setting eagerPoisonBody=false. See also the option eagerLoadingOfProperties.",title:"Eager Poison Body",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},messageSelector:{kind:"parameter",type:"string",description:"Sets the JMS Message selector syntax.",title:"Message Selector",required:!1,deprecated:!1},replyToSameDestinationAllowed:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself.",title:"Reply To Same Destination Allowed",required:!1,deprecated:!1},deliveryMode:{kind:"parameter",type:"integer",enum:["1","2"],description:"Specifies the delivery mode to be used. Possible values are those defined by jakarta.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2.",title:"Delivery Mode",required:!1,deprecated:!1},deliveryPersistent:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether persistent delivery is used by default.",title:"Delivery Persistent",required:!1,deprecated:!1},priority:{kind:"parameter",type:"integer",defaultValue:"4",enum:["1","2","3","4","5","6","7","8","9"],description:"Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect.",title:"Priority",required:!1,deprecated:!1},replyToConcurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.",title:"Reply To Concurrent Consumers",required:!1,deprecated:!1},replyToOverride:{kind:"parameter",type:"string",description:"Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.",title:"Reply To Override",required:!1,deprecated:!1},replyToType:{kind:"parameter",type:"object",enum:["Temporary","Exclusive"],description:"Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Exclusive is used.",title:"Reply To Type",required:!1,deprecated:!1},requestTimeout:{kind:"parameter",type:"duration",defaultValue:"20000",description:"The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.",title:"Request Timeout",required:!1,deprecated:!1},timeToLive:{kind:"parameter",type:"integer",defaultValue:"-1",description:"When sending messages, specifies the time-to-live of the message (in milliseconds).",title:"Time To Live",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},disableTimeToLive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message will not expire on the receiver system. See below in section About time to live for more details.",title:"Disable Time To Live",required:!1,deprecated:!1},explicitQosEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers.",title:"Explicit Qos Enabled",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},preserveMessageQos:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnabled option, by contrast, will only use options set on the endpoint, and not values from the message header.",title:"Preserve Message Qos",required:!1,deprecated:!1},asyncStartListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to startup the consumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or fail over. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, then beware that if the connection could not be established, then an exception is logged at WARN level, and the consumer will not be able to receive messages; You can then restart the route to retry.",title:"Async Start Listener",required:!1,deprecated:!1},asyncStopListener:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to stop the consumer message listener asynchronously, when stopping a route.",title:"Async Stop Listener",required:!1,deprecated:!1},destinationCreationStrategy:{kind:"parameter",type:"object",description:"To use a custom DestinationCreationStrategy.",title:"Destination Creation Strategy",required:!1,deprecated:!1},exceptionListener:{kind:"parameter",type:"object",description:"Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions.",title:"Exception Listener",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},includeAllJMSXProperties:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.",title:"Include All JMSXProperties",required:!1,deprecated:!1},jmsKeyFormatStrategy:{kind:"parameter",type:"object",description:"Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the # notation.",title:"Jms Key Format Strategy",required:!1,deprecated:!1},mapJmsMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should auto map the received JMS message to a suited payload type, such as jakarta.jms.TextMessage to a String etc. See section about how mapping works below for more details.",title:"Map Jms Message",required:!1,deprecated:!1},messageCreatedStrategy:{kind:"parameter",type:"object",description:"To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of jakarta.jms.Message objects when Camel is sending a JMS message.",title:"Message Created Strategy",required:!1,deprecated:!1},recoveryInterval:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds.",title:"Recovery Interval",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a jakarta.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes precedence. The caught exception is required to be serializable. The original Exception on the consumer side can be wrapped in an outer exception such as org.apache.camel.RuntimeCamelException when returned to the producer. Use this with caution as the data is using Java Object serialization and requires the received to be able to deserialize the data at Class level, which forces a strong coupling between the producers and consumer!",title:"Transfer Exception",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to use transacted mode",title:"Transacted",required:!1,deprecated:!1}}},slack:{type:"object",title:"Slack",group:"social",icon:"generic24.png",description:"Send and receive messages to/from Slack.",properties:{channel:{kind:"path",type:"string",description:"The channel name (syntax #name) or slack user (syntax userName) to send a message directly to an user.",title:"Channel",required:!0,deprecated:!1},token:{kind:"parameter",type:"string",description:"The token to access Slack. This app needs to have channels:history, groups:history, im:history, mpim:history, channels:read, groups:read, im:read and mpim:read permissions. The User OAuth Token is the kind of token needed.",title:"Token",required:!1,deprecated:!1},conversationType:{kind:"parameter",type:"object",defaultValue:"PUBLIC_CHANNEL",enum:["PUBLIC_CHANNEL","PRIVATE_CHANNEL","MPIM","IM"],description:"Type of conversation",title:"Conversation Type",required:!1,deprecated:!1},maxResults:{kind:"parameter",type:"string",defaultValue:"10",description:"The Max Result for the poll",title:"Max Results",required:!1,deprecated:!1},naturalOrder:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Create exchanges in natural order (oldest to newest) or not",title:"Natural Order",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},serverUrl:{kind:"parameter",type:"string",defaultValue:"https://slack.com",description:"The Server URL of the Slack instance",title:"Server Url",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},iconEmoji:{kind:"parameter",type:"string",description:"Use a Slack emoji as an avatar",title:"Icon Emoji",required:!1,deprecated:!0},iconUrl:{kind:"parameter",type:"string",description:"The avatar that the component will use when sending message to a channel or user.",title:"Icon Url",required:!1,deprecated:!0},username:{kind:"parameter",type:"string",description:"This is the username that the bot will have when sending messages to a channel or user.",title:"Username",required:!1,deprecated:!0},webhookUrl:{kind:"parameter",type:"string",description:"The incoming webhook URL",title:"Webhook Url",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"10000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},smb:{type:"object",title:"SMB",group:"file",icon:"generic24.png",description:"Receive files from SMB (Server Message Block) shares.",properties:{hostname:{kind:"path",type:"string",description:"The share hostname or IP address",title:"Hostname",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"445",description:"The share port number",title:"Port",required:!1,deprecated:!1},shareName:{kind:"path",type:"string",description:"The name of the share to connect to.",title:"Share Name",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified.",title:"Idempotent Repository",required:!1,deprecated:!1},path:{kind:"parameter",type:"string",description:"The path, within the share, to consume the files from",title:"Path",required:!0,deprecated:!1},searchPattern:{kind:"parameter",type:"string",defaultValue:"*.txt",description:"The search pattern used to list the files",title:"Search Pattern",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},smbIoBean:{kind:"parameter",type:"object",description:"An optional SMB I/O bean to use to setup the file access attributes when reading/writing a file",title:"Smb Io Bean",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},domain:{kind:"parameter",type:"string",description:"The user domain",title:"Domain",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password to access the share",title:"Password",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username required to access the share",title:"Username",required:!1,deprecated:!1}}},smpp:{type:"object",title:"SMPP",group:"mobile",icon:"generic24.png",description:"Send and receive SMS messages using a SMSC (Short Message Service Center).",properties:{host:{kind:"path",type:"string",defaultValue:"localhost",description:"Hostname for the SMSC server to use.",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"2775",description:"Port number for the SMSC server to use.",title:"Port",required:!1,deprecated:!1},initialReconnectDelay:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Defines the initial delay in milliseconds after the consumer/producer tries to reconnect to the SMSC, after the connection was lost.",title:"Initial Reconnect Delay",required:!1,deprecated:!1},maxReconnect:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"Defines the maximum number of attempts to reconnect to the SMSC, if SMSC returns a negative bind response",title:"Max Reconnect",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Defines the interval in milliseconds between the reconnect attempts, if the connection to the SMSC was lost and the previous was not succeed.",title:"Reconnect Delay",required:!1,deprecated:!1},splittingPolicy:{kind:"parameter",type:"object",defaultValue:"ALLOW",enum:["ALLOW","REJECT","TRUNCATE"],description:"You can specify a policy for handling long messages: ALLOW - the default, long messages are split to 140 bytes per message TRUNCATE - long messages are split and only the first fragment will be sent to the SMSC. Some carriers drop subsequent fragments so this reduces load on the SMPP connection sending parts of a message that will never be delivered. REJECT - if a message would need to be split, it is rejected with an SMPP NegativeResponseException and the reason code signifying the message is too long.",title:"Splitting Policy",required:!1,deprecated:!1},systemType:{kind:"parameter",type:"string",description:"This parameter is used to categorize the type of ESME (External Short Message Entity) that is binding to the SMSC (max. 13 characters).",title:"System Type",required:!1,deprecated:!1},addressRange:{kind:"parameter",type:"string",description:"You can specify the address range for the SmppConsumer as defined in section 5.2.7 of the SMPP 3.4 specification. The SmppConsumer will receive messages only from SMSC's which target an address (MSISDN or IP address) within this range.",title:"Address Range",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},destAddr:{kind:"parameter",type:"string",defaultValue:"1717",description:"Defines the destination SME address. For mobile terminated messages, this is the directory number of the recipient MS. Only for SubmitSm, SubmitMulti, CancelSm and DataSm.",title:"Dest Addr",required:!1,deprecated:!1},destAddrNpi:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the type of number (TON) to be used in the SME destination address parameters. Only for SubmitSm, SubmitMulti, CancelSm and DataSm. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Dest Addr Npi",required:!1,deprecated:!1},destAddrTon:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME destination address parameters. Only for SubmitSm, SubmitMulti, CancelSm and DataSm. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Dest Addr Ton",required:!1,deprecated:!1},lazySessionCreation:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sessions can be lazily created to avoid exceptions, if the SMSC is not available when the Camel producer is started. Camel will check the in message headers 'CamelSmppSystemId' and 'CamelSmppPassword' of the first exchange. If they are present, Camel will use these data to connect to the SMSC.",title:"Lazy Session Creation",required:!1,deprecated:!1},messageReceiverRouteId:{kind:"parameter",type:"string",description:"Set this on producer in order to benefit from transceiver (TRX) binding type. So once set, you don't need to define an 'SMTPP consumer' endpoint anymore. You would set this to a 'Direct consumer' endpoint instead. DISCALIMER: This feature is only tested with 'Direct consumer' endpoint. The behavior with any other consumer type is unknown and not tested.",title:"Message Receiver Route Id",required:!1,deprecated:!1},numberingPlanIndicator:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the numeric plan indicator (NPI) to be used in the SME. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Numbering Plan Indicator",required:!1,deprecated:!1},priorityFlag:{kind:"parameter",type:"integer",enum:["0","1","2","3"],description:"Allows the originating SME to assign a priority level to the short message. Only for SubmitSm and SubmitMulti. Four Priority Levels are supported: 0: Level 0 (lowest) priority 1: Level 1 priority 2: Level 2 priority 3: Level 3 (highest) priority",title:"Priority Flag",required:!1,deprecated:!1},protocolId:{kind:"parameter",type:"integer",description:"The protocol id",title:"Protocol Id",required:!1,deprecated:!1},registeredDelivery:{kind:"parameter",type:"integer",enum:["0","1","2"],description:"Is used to request an SMSC delivery receipt and/or SME originated acknowledgements. The following values are defined: 0: No SMSC delivery receipt requested. 1: SMSC delivery receipt requested where final delivery outcome is success or failure. 2: SMSC delivery receipt requested where the final delivery outcome is delivery failure.",title:"Registered Delivery",required:!1,deprecated:!1},replaceIfPresentFlag:{kind:"parameter",type:"integer",enum:["0","1"],description:"Used to request the SMSC to replace a previously submitted message, that is still pending delivery. The SMSC will replace an existing message provided that the source address, destination address and service type match the same fields in the new message. The following replace if present flag values are defined: 0: Don't replace 1: Replace",title:"Replace If Present Flag",required:!1,deprecated:!1},serviceType:{kind:"parameter",type:"string",enum:["CMT","CPT","VMN","VMA","WAP","USSD"],description:"The service type parameter can be used to indicate the SMS Application service associated with the message. The following generic service_types are defined: CMT: Cellular Messaging CPT: Cellular Paging VMN: Voice Mail Notification VMA: Voice Mail Alerting WAP: Wireless Application Protocol USSD: Unstructured Supplementary Services Data",title:"Service Type",required:!1,deprecated:!1},sourceAddr:{kind:"parameter",type:"string",defaultValue:"1616",description:"Defines the address of SME (Short Message Entity) which originated this message.",title:"Source Addr",required:!1,deprecated:!1},sourceAddrNpi:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the numeric plan indicator (NPI) to be used in the SME originator address parameters. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Source Addr Npi",required:!1,deprecated:!1},sourceAddrTon:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME originator address parameters. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Source Addr Ton",required:!1,deprecated:!1},typeOfNumber:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Type Of Number",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},enquireLinkTimer:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Defines the interval in milliseconds between the confidence checks. The confidence check is used to test the communication path between an ESME and an SMSC.",title:"Enquire Link Timer",required:!1,deprecated:!1},interfaceVersion:{kind:"parameter",type:"string",defaultValue:"3.4",enum:["legacy","3.3","3.4","5.0"],description:"Defines the interface version to be used in the binding request with the SMSC. The following values are allowed, as defined in the SMPP protocol (and the underlying implementation using the jSMPP library, respectively): legacy (0x00), 3.3 (0x33), 3.4 (0x34), and 5.0 (0x50). The default (fallback) value is version 3.4.",title:"Interface Version",required:!1,deprecated:!1},pduProcessorDegree:{kind:"parameter",type:"integer",defaultValue:"3",description:"Sets the number of threads which can read PDU and process them in parallel.",title:"Pdu Processor Degree",required:!1,deprecated:!1},pduProcessorQueueCapacity:{kind:"parameter",type:"integer",defaultValue:"100",description:"Sets the capacity of the working queue for PDU processing.",title:"Pdu Processor Queue Capacity",required:!1,deprecated:!1},sessionStateListener:{kind:"parameter",type:"object",description:"You can refer to a org.jsmpp.session.SessionStateListener in the Registry to receive callbacks when the session state changed.",title:"Session State Listener",required:!1,deprecated:!1},singleDLR:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When true, the SMSC delivery receipt would be requested only for the last segment of a multi-segment (long) message. For short messages, with only 1 segment the behaviour is unchanged.",title:"Single DLR",required:!1,deprecated:!1},transactionTimer:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Defines the maximum period of inactivity allowed after a transaction, after which an SMPP entity may assume that the session is no longer active. This timer may be active on either communicating SMPP entity (i.e. SMSC or ESME).",title:"Transaction Timer",required:!1,deprecated:!1},alphabet:{kind:"parameter",type:"integer",enum:["0","4","8"],description:"Defines encoding of data according the SMPP 3.4 specification, section 5.2.19. 0: SMSC Default Alphabet 4: 8 bit Alphabet 8: UCS2 Alphabet",title:"Alphabet",required:!1,deprecated:!1},dataCoding:{kind:"parameter",type:"integer",description:"Defines the data coding according the SMPP 3.4 specification, section 5.2.19. Example data encodings are: 0: SMSC Default Alphabet 3: Latin 1 (ISO-8859-1) 4: Octet unspecified (8-bit binary) 8: UCS2 (ISO/IEC-10646) 13: Extended Kanji JIS(X 0212-1990)",title:"Data Coding",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",defaultValue:"ISO-8859-1",description:"Defines the encoding scheme of the short message user data. Only for SubmitSm, ReplaceSm and SubmitMulti.",title:"Encoding",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"If you need to tunnel SMPP through a HTTP proxy, set this attribute to the hostname or ip address of your HTTP proxy.",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"If your HTTP proxy requires basic authentication, set this attribute to the password required for your HTTP proxy.",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",defaultValue:"3128",description:"If you need to tunnel SMPP through a HTTP proxy, set this attribute to the port of your HTTP proxy.",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUsername:{kind:"parameter",type:"string",description:"If your HTTP proxy requires basic authentication, set this attribute to the username required for your HTTP proxy.",title:"Http Proxy Username",required:!1,deprecated:!1},proxyHeaders:{kind:"parameter",type:"object",description:"These headers will be passed to the proxy server while establishing the connection.",title:"Proxy Headers",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for connecting to SMSC server.",title:"Password",required:!1,deprecated:!1},systemId:{kind:"parameter",type:"string",defaultValue:"smppclient",description:"The system id (username) for connecting to SMSC server.",title:"System Id",required:!1,deprecated:!1},usingSSL:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether using SSL with the smpps protocol",title:"Using SSL",required:!1,deprecated:!1}}},smpps:{type:"object",title:"SMPP (Secure)",group:"mobile",icon:"generic24.png",description:"Send and receive SMS messages using a SMSC (Short Message Service Center).",properties:{host:{kind:"path",type:"string",defaultValue:"localhost",description:"Hostname for the SMSC server to use.",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"2775",description:"Port number for the SMSC server to use.",title:"Port",required:!1,deprecated:!1},initialReconnectDelay:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Defines the initial delay in milliseconds after the consumer/producer tries to reconnect to the SMSC, after the connection was lost.",title:"Initial Reconnect Delay",required:!1,deprecated:!1},maxReconnect:{kind:"parameter",type:"integer",defaultValue:"2147483647",description:"Defines the maximum number of attempts to reconnect to the SMSC, if SMSC returns a negative bind response",title:"Max Reconnect",required:!1,deprecated:!1},reconnectDelay:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Defines the interval in milliseconds between the reconnect attempts, if the connection to the SMSC was lost and the previous was not succeed.",title:"Reconnect Delay",required:!1,deprecated:!1},splittingPolicy:{kind:"parameter",type:"object",defaultValue:"ALLOW",enum:["ALLOW","REJECT","TRUNCATE"],description:"You can specify a policy for handling long messages: ALLOW - the default, long messages are split to 140 bytes per message TRUNCATE - long messages are split and only the first fragment will be sent to the SMSC. Some carriers drop subsequent fragments so this reduces load on the SMPP connection sending parts of a message that will never be delivered. REJECT - if a message would need to be split, it is rejected with an SMPP NegativeResponseException and the reason code signifying the message is too long.",title:"Splitting Policy",required:!1,deprecated:!1},systemType:{kind:"parameter",type:"string",description:"This parameter is used to categorize the type of ESME (External Short Message Entity) that is binding to the SMSC (max. 13 characters).",title:"System Type",required:!1,deprecated:!1},addressRange:{kind:"parameter",type:"string",description:"You can specify the address range for the SmppConsumer as defined in section 5.2.7 of the SMPP 3.4 specification. The SmppConsumer will receive messages only from SMSC's which target an address (MSISDN or IP address) within this range.",title:"Address Range",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},destAddr:{kind:"parameter",type:"string",defaultValue:"1717",description:"Defines the destination SME address. For mobile terminated messages, this is the directory number of the recipient MS. Only for SubmitSm, SubmitMulti, CancelSm and DataSm.",title:"Dest Addr",required:!1,deprecated:!1},destAddrNpi:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the type of number (TON) to be used in the SME destination address parameters. Only for SubmitSm, SubmitMulti, CancelSm and DataSm. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Dest Addr Npi",required:!1,deprecated:!1},destAddrTon:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME destination address parameters. Only for SubmitSm, SubmitMulti, CancelSm and DataSm. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Dest Addr Ton",required:!1,deprecated:!1},lazySessionCreation:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sessions can be lazily created to avoid exceptions, if the SMSC is not available when the Camel producer is started. Camel will check the in message headers 'CamelSmppSystemId' and 'CamelSmppPassword' of the first exchange. If they are present, Camel will use these data to connect to the SMSC.",title:"Lazy Session Creation",required:!1,deprecated:!1},messageReceiverRouteId:{kind:"parameter",type:"string",description:"Set this on producer in order to benefit from transceiver (TRX) binding type. So once set, you don't need to define an 'SMTPP consumer' endpoint anymore. You would set this to a 'Direct consumer' endpoint instead. DISCALIMER: This feature is only tested with 'Direct consumer' endpoint. The behavior with any other consumer type is unknown and not tested.",title:"Message Receiver Route Id",required:!1,deprecated:!1},numberingPlanIndicator:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the numeric plan indicator (NPI) to be used in the SME. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Numbering Plan Indicator",required:!1,deprecated:!1},priorityFlag:{kind:"parameter",type:"integer",enum:["0","1","2","3"],description:"Allows the originating SME to assign a priority level to the short message. Only for SubmitSm and SubmitMulti. Four Priority Levels are supported: 0: Level 0 (lowest) priority 1: Level 1 priority 2: Level 2 priority 3: Level 3 (highest) priority",title:"Priority Flag",required:!1,deprecated:!1},protocolId:{kind:"parameter",type:"integer",description:"The protocol id",title:"Protocol Id",required:!1,deprecated:!1},registeredDelivery:{kind:"parameter",type:"integer",enum:["0","1","2"],description:"Is used to request an SMSC delivery receipt and/or SME originated acknowledgements. The following values are defined: 0: No SMSC delivery receipt requested. 1: SMSC delivery receipt requested where final delivery outcome is success or failure. 2: SMSC delivery receipt requested where the final delivery outcome is delivery failure.",title:"Registered Delivery",required:!1,deprecated:!1},replaceIfPresentFlag:{kind:"parameter",type:"integer",enum:["0","1"],description:"Used to request the SMSC to replace a previously submitted message, that is still pending delivery. The SMSC will replace an existing message provided that the source address, destination address and service type match the same fields in the new message. The following replace if present flag values are defined: 0: Don't replace 1: Replace",title:"Replace If Present Flag",required:!1,deprecated:!1},serviceType:{kind:"parameter",type:"string",enum:["CMT","CPT","VMN","VMA","WAP","USSD"],description:"The service type parameter can be used to indicate the SMS Application service associated with the message. The following generic service_types are defined: CMT: Cellular Messaging CPT: Cellular Paging VMN: Voice Mail Notification VMA: Voice Mail Alerting WAP: Wireless Application Protocol USSD: Unstructured Supplementary Services Data",title:"Service Type",required:!1,deprecated:!1},sourceAddr:{kind:"parameter",type:"string",defaultValue:"1616",description:"Defines the address of SME (Short Message Entity) which originated this message.",title:"Source Addr",required:!1,deprecated:!1},sourceAddrNpi:{kind:"parameter",type:"integer",enum:["0","1","2","3","6","8","9","10","13","18"],description:"Defines the numeric plan indicator (NPI) to be used in the SME originator address parameters. The following NPI values are defined: 0: Unknown 1: ISDN (E163/E164) 2: Data (X.121) 3: Telex (F.69) 6: Land Mobile (E.212) 8: National 9: Private 10: ERMES 13: Internet (IP) 18: WAP Client Id (to be defined by WAP Forum)",title:"Source Addr Npi",required:!1,deprecated:!1},sourceAddrTon:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME originator address parameters. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Source Addr Ton",required:!1,deprecated:!1},typeOfNumber:{kind:"parameter",type:"integer",enum:["0","1","2","3","4","5","6"],description:"Defines the type of number (TON) to be used in the SME. The following TON values are defined: 0: Unknown 1: International 2: National 3: Network Specific 4: Subscriber Number 5: Alphanumeric 6: Abbreviated",title:"Type Of Number",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},enquireLinkTimer:{kind:"parameter",type:"integer",defaultValue:"60000",description:"Defines the interval in milliseconds between the confidence checks. The confidence check is used to test the communication path between an ESME and an SMSC.",title:"Enquire Link Timer",required:!1,deprecated:!1},interfaceVersion:{kind:"parameter",type:"string",defaultValue:"3.4",enum:["legacy","3.3","3.4","5.0"],description:"Defines the interface version to be used in the binding request with the SMSC. The following values are allowed, as defined in the SMPP protocol (and the underlying implementation using the jSMPP library, respectively): legacy (0x00), 3.3 (0x33), 3.4 (0x34), and 5.0 (0x50). The default (fallback) value is version 3.4.",title:"Interface Version",required:!1,deprecated:!1},pduProcessorDegree:{kind:"parameter",type:"integer",defaultValue:"3",description:"Sets the number of threads which can read PDU and process them in parallel.",title:"Pdu Processor Degree",required:!1,deprecated:!1},pduProcessorQueueCapacity:{kind:"parameter",type:"integer",defaultValue:"100",description:"Sets the capacity of the working queue for PDU processing.",title:"Pdu Processor Queue Capacity",required:!1,deprecated:!1},sessionStateListener:{kind:"parameter",type:"object",description:"You can refer to a org.jsmpp.session.SessionStateListener in the Registry to receive callbacks when the session state changed.",title:"Session State Listener",required:!1,deprecated:!1},singleDLR:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When true, the SMSC delivery receipt would be requested only for the last segment of a multi-segment (long) message. For short messages, with only 1 segment the behaviour is unchanged.",title:"Single DLR",required:!1,deprecated:!1},transactionTimer:{kind:"parameter",type:"integer",defaultValue:"10000",description:"Defines the maximum period of inactivity allowed after a transaction, after which an SMPP entity may assume that the session is no longer active. This timer may be active on either communicating SMPP entity (i.e. SMSC or ESME).",title:"Transaction Timer",required:!1,deprecated:!1},alphabet:{kind:"parameter",type:"integer",enum:["0","4","8"],description:"Defines encoding of data according the SMPP 3.4 specification, section 5.2.19. 0: SMSC Default Alphabet 4: 8 bit Alphabet 8: UCS2 Alphabet",title:"Alphabet",required:!1,deprecated:!1},dataCoding:{kind:"parameter",type:"integer",description:"Defines the data coding according the SMPP 3.4 specification, section 5.2.19. Example data encodings are: 0: SMSC Default Alphabet 3: Latin 1 (ISO-8859-1) 4: Octet unspecified (8-bit binary) 8: UCS2 (ISO/IEC-10646) 13: Extended Kanji JIS(X 0212-1990)",title:"Data Coding",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",defaultValue:"ISO-8859-1",description:"Defines the encoding scheme of the short message user data. Only for SubmitSm, ReplaceSm and SubmitMulti.",title:"Encoding",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"If you need to tunnel SMPP through a HTTP proxy, set this attribute to the hostname or ip address of your HTTP proxy.",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"If your HTTP proxy requires basic authentication, set this attribute to the password required for your HTTP proxy.",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",defaultValue:"3128",description:"If you need to tunnel SMPP through a HTTP proxy, set this attribute to the port of your HTTP proxy.",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUsername:{kind:"parameter",type:"string",description:"If your HTTP proxy requires basic authentication, set this attribute to the username required for your HTTP proxy.",title:"Http Proxy Username",required:!1,deprecated:!1},proxyHeaders:{kind:"parameter",type:"object",description:"These headers will be passed to the proxy server while establishing the connection.",title:"Proxy Headers",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for connecting to SMSC server.",title:"Password",required:!1,deprecated:!1},systemId:{kind:"parameter",type:"string",defaultValue:"smppclient",description:"The system id (username) for connecting to SMSC server.",title:"System Id",required:!1,deprecated:!1},usingSSL:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether using SSL with the smpps protocol",title:"Using SSL",required:!1,deprecated:!1}}},smtp:{type:"object",title:"SMTP",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},smtps:{type:"object",title:"SMTPS",group:"mail",icon:"generic24.png",description:"Send and receive emails using imap, pop3 and smtp protocols.",properties:{host:{kind:"path",type:"string",description:"The mail server host name",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"The port number of the mail server",title:"Port",required:!1,deprecated:!1},closeFolder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the consumer should close the folder after polling. Setting this option to false and having disconnect=false as well, then the consumer keep the folder open between polls.",title:"Close Folder",required:!1,deprecated:!1},copyTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be copied to a mail folder with the given name. You can override this configuration value, with a header with the key copyTo, allowing you to copy messages to folder names configured at runtime.",title:"Copy To",required:!1,deprecated:!1},decodeFilename:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set to true, the MimeUtility.decodeText method will be used to decode the filename. This is similar to setting JVM system property mail.mime.encodefilename.",title:"Decode Filename",required:!1,deprecated:!1},delete:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Deletes the messages after they have been processed. This is done by setting the DELETED flag on the mail message. If false, the SEEN flag is set instead. As of Camel 2.10 you can override this configuration option by setting a header with the key delete to determine if the mail should be deleted or not.",title:"Delete",required:!1,deprecated:!1},disconnect:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer should disconnect after polling. If enabled this forces Camel to connect on each poll.",title:"Disconnect",required:!1,deprecated:!1},handleFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to handle the caused exception by the consumer's error handler. By enable the bridge error handler on the consumer, then the Camel routing error handler can handle the exception instead. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Handle Failed Message",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Specifies the maximum number of messages to gather per poll. By default, no maximum is set. Can be used to set a limit of e.g. 1000 to avoid downloading thousands of files when the server starts up. Set a value of 0 or negative to disable this option.",title:"Max Messages Per Poll",required:!1,deprecated:!1},mimeDecodeHeaders:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option enables transparent MIME decoding and unfolding for mail headers.",title:"Mime Decode Headers",required:!1,deprecated:!1},moveTo:{kind:"parameter",type:"string",description:"After processing a mail message, it can be moved to a mail folder with the given name. You can override this configuration value, with a header with the key moveTo, allowing you to move messages to folder names configured at runtime.",title:"Move To",required:!1,deprecated:!1},peek:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Will mark the jakarta.mail.Message as peeked before processing the mail message. This applies to IMAPMessage messages types only. By using peek the mail will not be eager marked as SEEN on the mail server, which allows us to rollback the mail message if there is an error processing in Camel.",title:"Peek",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},skipFailedMessage:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the mail consumer cannot retrieve a given mail message, then this option allows to skip the message and move on to retrieve the next mail message. The default behavior would be the consumer throws an exception and no mails from the batch would be able to be routed by Camel.",title:"Skip Failed Message",required:!1,deprecated:!1},unseen:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit by unseen mails only.",title:"Unseen",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},failOnDuplicateFileAttachment:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to fail processing the mail if the mail message contains attachments with duplicate file names. If set to false, then the duplicate attachment is skipped and a WARN is logged. If set to true then an exception is thrown failing to process the mail message.",title:"Fail On Duplicate File Attachment",required:!1,deprecated:!1},fetchSize:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server, if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case, where Camel will not consume any messages at all.",title:"Fetch Size",required:!1,deprecated:!1},folderName:{kind:"parameter",type:"string",defaultValue:"INBOX",description:"The folder to poll.",title:"Folder Name",required:!1,deprecated:!1},generateMissingAttachmentNames:{kind:"parameter",type:"string",description:"Set this to 'uuid' to set a UUID for the filename of the attachment if no filename was set",title:"Generate Missing Attachment Names",required:!1,deprecated:!1},handleDuplicateAttachmentNames:{kind:"parameter",type:"string",description:"Set the strategy to handle duplicate filenames of attachments never: attachments that have a filename which is already present in the attachments will be ignored unless failOnDuplicateFileAttachment is set to true. uuidPrefix: this will prefix the duplicate attachment filenames each with a uuid and underscore (uuid_filename.fileextension). uuidSuffix: this will suffix the duplicate attachment filenames each with a underscore and uuid (filename_uuid.fileextension).",title:"Handle Duplicate Attachment Names",required:!1,deprecated:!1},mailUidGenerator:{kind:"parameter",type:"object",description:"A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.",title:"Mail Uid Generator",required:!1,deprecated:!1},mapMailMessage:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether Camel should map the received mail message to Camel body/headers/attachments. If set to true, the body of the mail message is mapped to the body of the Camel IN message, the mail headers are mapped to IN headers, and the attachments to Camel IN attachment message. If this option is set to false then the IN message contains a raw jakarta.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(jakarta.mail.Message.class).",title:"Map Mail Message",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},postProcessAction:{kind:"parameter",type:"object",description:"Refers to an MailBoxPostProcessAction for doing post processing tasks on the mailbox once the normal processing ended.",title:"Post Process Action",required:!1,deprecated:!1},bcc:{kind:"parameter",type:"string",description:"Sets the BCC email address. Separate multiple email addresses with comma.",title:"Bcc",required:!1,deprecated:!1},cc:{kind:"parameter",type:"string",description:"Sets the CC email address. Separate multiple email addresses with comma.",title:"Cc",required:!1,deprecated:!1},from:{kind:"parameter",type:"string",defaultValue:"camel@localhost",description:"The from email address",title:"From",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"The Reply-To recipients (the receivers of the response mail). Separate multiple email addresses with a comma.",title:"Reply To",required:!1,deprecated:!1},subject:{kind:"parameter",type:"string",description:"The Subject of the message being sent. Note: Setting the subject in the header takes precedence over this option.",title:"Subject",required:!1,deprecated:!1},to:{kind:"parameter",type:"string",description:"Sets the To email address. Separate multiple email addresses with comma.",title:"To",required:!1,deprecated:!1},javaMailSender:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.mail.JavaMailSender for sending emails.",title:"Java Mail Sender",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},additionalJavaMailProperties:{kind:"parameter",type:"object",description:"Sets additional java mail properties, that will append/override any default properties that is set based on all the other options. This is useful if you need to add some special options but want to keep the others as is.",title:"Additional Java Mail Properties",required:!1,deprecated:!1},alternativeBodyHeader:{kind:"parameter",type:"string",defaultValue:"CamelMailAlternativeBody",description:"Specifies the key to an IN message header that contains an alternative email body. For example, if you send emails in text/html format and want to provide an alternative mail body for non-HTML email clients, set the alternative mail body with this key as a header.",title:"Alternative Body Header",required:!1,deprecated:!1},attachmentsContentTransferEncodingResolver:{kind:"parameter",type:"object",description:"To use a custom AttachmentsContentTransferEncodingResolver to resolve what content-type-encoding to use for attachments.",title:"Attachments Content Transfer Encoding Resolver",required:!1,deprecated:!1},authenticator:{kind:"parameter",type:"object",description:"The authenticator for login. If set then the password and username are ignored. Can be used for tokens which can expire and therefore must be read dynamically.",title:"Authenticator",required:!1,deprecated:!1},binding:{kind:"parameter",type:"object",description:"Sets the binding used to convert from a Camel message to and from a Mail message",title:"Binding",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"The connection timeout in milliseconds.",title:"Connection Timeout",required:!1,deprecated:!1},contentType:{kind:"parameter",type:"string",defaultValue:"text/plain",description:"The mail message content type. Use text/html for HTML mails.",title:"Content Type",required:!1,deprecated:!1},contentTypeResolver:{kind:"parameter",type:"object",description:"Resolver to determine Content-Type for file attachments.",title:"Content Type Resolver",required:!1,deprecated:!1},debugMode:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enable debug mode on the underlying mail framework. The SUN Mail framework logs the debug messages to System.out by default.",title:"Debug Mode",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.",title:"Header Filter Strategy",required:!1,deprecated:!1},ignoreUnsupportedCharset:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Unsupported Charset",required:!1,deprecated:!1},ignoreUriScheme:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to let Camel ignore unsupported charset in the local JVM when sending mails. If the charset is unsupported then charset=XXX (where XXX represents the unsupported charset) is removed from the content-type and it relies on the platform default instead.",title:"Ignore Uri Scheme",required:!1,deprecated:!1},javaMailProperties:{kind:"parameter",type:"object",description:"Sets the java mail options. Will clear any default properties and only use the properties provided for this method.",title:"Java Mail Properties",required:!1,deprecated:!1},session:{kind:"parameter",type:"object",description:"Specifies the mail session that camel should use for all mail interactions. Useful in scenarios where mail sessions are created and managed by some other resource, such as a JavaEE container. When using a custom mail session, then the hostname and port from the mail session will be used (if configured on the session).",title:"Session",required:!1,deprecated:!1},useInlineAttachments:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use disposition inline or attachment.",title:"Use Inline Attachments",required:!1,deprecated:!1},idempotentRepository:{kind:"parameter",type:"object",description:"A pluggable repository org.apache.camel.spi.IdempotentRepository which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process. By default no repository is in use.",title:"Idempotent Repository",required:!1,deprecated:!1},idempotentRepositoryRemoveOnCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"When using idempotent repository, then when the mail message has been successfully processed and is committed, should the message id be removed from the idempotent repository (default) or be kept in the repository. By default its assumed the message id is unique and has no value to be kept in the repository, because the mail message will be marked as seen/moved or deleted to prevent it from being consumed again. And therefore having the message id stored in the idempotent repository has little value. However this option allows to store the message id, for whatever reason you may have.",title:"Idempotent Repository Remove On Commit",required:!1,deprecated:!1},searchTerm:{kind:"parameter",type:"object",description:"Refers to a jakarta.mail.search.SearchTerm which allows to filter mails based on search criteria such as subject, body, from, sent after a certain date etc.",title:"Search Term",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password for login. See also setAuthenticator(MailAuthenticator).",title:"Password",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters.",title:"Ssl Context Parameters",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The username for login. See also setAuthenticator(MailAuthenticator).",title:"Username",required:!1,deprecated:!1},sortTerm:{kind:"parameter",type:"object",description:"Sorting order for messages. Only natively supported for IMAP. Emulated to some degree when using POP3 or when IMAP server does not have the SORT capability.",title:"Sort Term",required:!1,deprecated:!1}}},snmp:{type:"object",title:"SNMP",group:"monitoring",icon:"generic24.png",description:"Receive traps and poll SNMP (Simple Network Management Protocol) capable devices.",properties:{host:{kind:"path",type:"string",description:"Hostname of the SNMP enabled device",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number of the SNMP enabled device",title:"Port",required:!0,deprecated:!1},oids:{kind:"parameter",type:"object",description:"Defines which values you are interested in. Please have a look at the Wikipedia to get a better understanding. You may provide a single OID or a coma separated list of OIDs. Example: oids=1.3.6.1.2.1.1.3.0,1.3.6.1.2.1.25.3.2.1.5.1,1.3.6.1.2.1.25.3.5.1.1.1,1.3.6.1.2.1.43.5.1.1.11.1",title:"Oids",required:!1,deprecated:!1},protocol:{kind:"parameter",type:"string",defaultValue:"udp",enum:["tcp","udp"],description:"Here you can select which protocol to use. You can use either udp or tcp.",title:"Protocol",required:!1,deprecated:!1},retries:{kind:"parameter",type:"integer",defaultValue:"2",description:"Defines how often a retry is made before canceling the request.",title:"Retries",required:!1,deprecated:!1},snmpCommunity:{kind:"parameter",type:"string",defaultValue:"public",description:"Sets the community octet string for the snmp request.",title:"Snmp Community",required:!1,deprecated:!1},snmpContextEngineId:{kind:"parameter",type:"string",description:"Sets the context engine ID field of the scoped PDU.",title:"Snmp Context Engine Id",required:!1,deprecated:!1},snmpContextName:{kind:"parameter",type:"string",description:"Sets the context name field of this scoped PDU.",title:"Snmp Context Name",required:!1,deprecated:!1},snmpVersion:{kind:"parameter",type:"integer",defaultValue:"0",enum:["0","1","3"],description:"Sets the snmp version for the request. The value 0 means SNMPv1, 1 means SNMPv2c, and the value 3 means SNMPv3",title:"Snmp Version",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"1500",description:"Sets the timeout value for the request in millis.",title:"Timeout",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",enum:["TRAP","POLL","GET_NEXT"],description:"Which operation to perform such as poll, trap, etc.",title:"Type",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"60000",description:"Sets update rate in seconds",title:"Delay",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},treeList:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets the flag whether the scoped PDU will be displayed as the list if it has child elements in its tree",title:"Tree List",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},authenticationPassphrase:{kind:"parameter",type:"string",description:"The authentication passphrase. If not null, authenticationProtocol must also be not null. RFC3414 11.2 requires passphrases to have a minimum length of 8 bytes. If the length of authenticationPassphrase is less than 8 bytes an IllegalArgumentException is thrown.",title:"Authentication Passphrase",required:!1,deprecated:!1},authenticationProtocol:{kind:"parameter",type:"string",enum:["MD5","SHA1"],description:"Authentication protocol to use if security level is set to enable authentication The possible values are: MD5, SHA1",title:"Authentication Protocol",required:!1,deprecated:!1},privacyPassphrase:{kind:"parameter",type:"string",description:"The privacy passphrase. If not null, privacyProtocol must also be not null. RFC3414 11.2 requires passphrases to have a minimum length of 8 bytes. If the length of authenticationPassphrase is less than 8 bytes an IllegalArgumentException is thrown.",title:"Privacy Passphrase",required:!1,deprecated:!1},privacyProtocol:{kind:"parameter",type:"string",description:"The privacy protocol ID to be associated with this user. If set to null, this user only supports unencrypted messages.",title:"Privacy Protocol",required:!1,deprecated:!1},securityLevel:{kind:"parameter",type:"integer",defaultValue:"3",enum:["1","2","3"],description:"Sets the security level for this target. The supplied security level must be supported by the security model dependent information associated with the security name set for this target. The value 1 means: No authentication and no encryption. Anyone can create and read messages with this security level The value 2 means: Authentication and no encryption. Only the one with the right authentication key can create messages with this security level, but anyone can read the contents of the message. The value 3 means: Authentication and encryption. Only the one with the right authentication key can create messages with this security level, and only the one with the right encryption/decryption key can read the contents of the message.",title:"Security Level",required:!1,deprecated:!1},securityName:{kind:"parameter",type:"string",description:"Sets the security name to be used with this target.",title:"Security Name",required:!1,deprecated:!1}}},splunk:{type:"object",title:"Splunk",group:"iot,monitoring",icon:"generic24.png",description:"Publish or search for events in Splunk.",properties:{name:{kind:"path",type:"string",description:"Name has no purpose",title:"Name",required:!0,deprecated:!1},app:{kind:"parameter",type:"string",description:"Splunk app",title:"App",required:!1,deprecated:!1},connectionTimeout:{kind:"parameter",type:"integer",defaultValue:"5000",description:"Timeout in MS when connecting to Splunk server",title:"Connection Timeout",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",defaultValue:"localhost",description:"Splunk host.",title:"Host",required:!1,deprecated:!1},owner:{kind:"parameter",type:"string",description:"Splunk owner",title:"Owner",required:!1,deprecated:!1},port:{kind:"parameter",type:"integer",defaultValue:"8089",description:"Splunk port",title:"Port",required:!1,deprecated:!1},scheme:{kind:"parameter",type:"string",defaultValue:"https",description:"Splunk scheme",title:"Scheme",required:!1,deprecated:!1},count:{kind:"parameter",type:"integer",description:"A number that indicates the maximum number of entities to return.",title:"Count",required:!1,deprecated:!1},earliestTime:{kind:"parameter",type:"string",description:"Earliest time of the search time window.",title:"Earliest Time",required:!1,deprecated:!1},initEarliestTime:{kind:"parameter",type:"string",description:"Initial start offset of the first search",title:"Init Earliest Time",required:!1,deprecated:!1},latestTime:{kind:"parameter",type:"string",description:"Latest time of the search time window.",title:"Latest Time",required:!1,deprecated:!1},savedSearch:{kind:"parameter",type:"string",description:"The name of the query saved in Splunk to run",title:"Saved Search",required:!1,deprecated:!1},search:{kind:"parameter",type:"string",description:"The Splunk query to run",title:"Search",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},streaming:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets streaming mode. Streaming mode sends exchanges as they are received, rather than in a batch.",title:"Streaming",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},eventHost:{kind:"parameter",type:"string",description:"Override the default Splunk event host field",title:"Event Host",required:!1,deprecated:!1},index:{kind:"parameter",type:"string",description:"Splunk index to write to",title:"Index",required:!1,deprecated:!1},raw:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should the payload be inserted raw",title:"Raw",required:!1,deprecated:!1},source:{kind:"parameter",type:"string",description:"Splunk source argument",title:"Source",required:!1,deprecated:!1},sourceType:{kind:"parameter",type:"string",description:"Splunk sourcetype argument",title:"Source Type",required:!1,deprecated:!1},tcpReceiverLocalPort:{kind:"parameter",type:"integer",description:"Splunk tcp receiver port defined locally on splunk server. (For example if splunk port 9997 is mapped to 12345, tcpReceiverLocalPort has to be 9997)",title:"Tcp Receiver Local Port",required:!1,deprecated:!1},tcpReceiverPort:{kind:"parameter",type:"integer",description:"Splunk tcp receiver port",title:"Tcp Receiver Port",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for Splunk",title:"Password",required:!1,deprecated:!1},sslProtocol:{kind:"parameter",type:"object",defaultValue:"TLSv1.2",enum:["TLSv1.2","TLSv1.1","TLSv1","SSLv3"],description:"Set the ssl protocol to use",title:"Ssl Protocol",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"User's token for Splunk. This takes precedence over password when both are set",title:"Token",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Username for Splunk",title:"Username",required:!1,deprecated:!1},useSunHttpsHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use sun.net.www.protocol.https.Handler Https handler to establish the Splunk Connection. Can be useful when running in application servers to avoid app. server https handling.",title:"Use Sun Https Handler",required:!1,deprecated:!1}}},"splunk-hec":{type:"object",title:"Splunk HEC",group:"monitoring",icon:"generic24.png",description:"The splunk component allows to publish events in Splunk using the HTTP Event Collector.",properties:{splunkURL:{kind:"path",type:"string",description:"Splunk Host and Port (example: my_splunk_server:8089)",title:"Splunk URL",required:!0,deprecated:!1},bodyOnly:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send only the message body",title:"Body Only",required:!1,deprecated:!1},headersOnly:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Send only message headers",title:"Headers Only",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"Splunk host field of the event message. This is not the Splunk host to connect to.",title:"Host",required:!1,deprecated:!1},index:{kind:"parameter",type:"string",defaultValue:"camel",description:"Splunk index to write to",title:"Index",required:!1,deprecated:!1},source:{kind:"parameter",type:"string",defaultValue:"camel",description:"Splunk source argument",title:"Source",required:!1,deprecated:!1},sourceType:{kind:"parameter",type:"string",defaultValue:"camel",description:"Splunk sourcetype argument",title:"Source Type",required:!1,deprecated:!1},splunkEndpoint:{kind:"parameter",type:"string",defaultValue:"/services/collector/event",description:"Splunk endpoint Defaults to /services/collector/event To write RAW data like JSON use /services/collector/raw For a list of all endpoints refer to splunk documentation (HTTP Event Collector REST API endpoints) Example for Spunk 8.2.x: https://docs.splunk.com/Documentation/SplunkCloud/8.2.2203/Data/HECRESTendpoints To extract timestamps in Splunk8.0 /services/collector/eventauto_extract_timestamp=true Remember to utilize RAW{} for questionmarks or slashes in parameters.",title:"Splunk Endpoint",required:!1,deprecated:!1},time:{kind:"parameter",type:"integer",description:"Time this even occurred. By default, the time will be when this event hits the splunk server.",title:"Time",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},https:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Contact HEC over https.",title:"Https",required:!1,deprecated:!1},skipTlsVerify:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Splunk HEC TLS verification.",title:"Skip Tls Verify",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"Splunk HEC token (this is the token created for HEC and not the user's token)",title:"Token",required:!0,deprecated:!1}}},"spring-batch":{type:"object",title:"Spring Batch",group:"workflow",icon:"generic24.png",description:"Send messages to Spring Batch for further processing.",properties:{jobName:{kind:"path",type:"string",description:"The name of the Spring Batch job located in the registry.",title:"Job Name",required:!0,deprecated:!1},jobFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Explicitly defines if the jobName should be taken from the headers instead of the URI.",title:"Job From Header",required:!1,deprecated:!1},jobLauncher:{kind:"parameter",type:"object",description:"Explicitly specifies a JobLauncher to be used.",title:"Job Launcher",required:!1,deprecated:!1},jobRegistry:{kind:"parameter",type:"object",description:"Explicitly specifies a JobRegistry to be used.",title:"Job Registry",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"spring-event":{type:"object",title:"Spring Event",group:"messaging",icon:"generic24.png",description:"Listen for Spring Application Events.",properties:{name:{kind:"path",type:"string",description:"Name of endpoint",title:"Name",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"spring-jdbc":{type:"object",title:"Spring JDBC",group:"database",icon:"generic24.png",description:"Access databases through SQL and JDBC with Spring Transaction support.",properties:{dataSourceName:{kind:"path",type:"string",description:"Name of DataSource to lookup in the Registry. If the name is dataSource or default, then Camel will attempt to lookup a default DataSource from the registry, meaning if there is a only one instance of DataSource found, then this DataSource will be used.",title:"Data Source Name",required:!0,deprecated:!1},allowNamedParameters:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using named parameters in the queries.",title:"Allow Named Parameters",required:!1,deprecated:!1},outputClass:{kind:"parameter",type:"string",description:"Specify the full package and class name to use as conversion when outputType=SelectOne or SelectList.",title:"Output Class",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"SelectList",enum:["SelectOne","SelectList","StreamList"],description:"Determines the output the producer should use.",title:"Output Type",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Optional parameters to the java.sql.Statement. For example to set maxRows, fetchSize etc.",title:"Parameters",required:!1,deprecated:!1},readSize:{kind:"parameter",type:"integer",description:"The default maximum number of rows that can be read by a polling query. The default value is 0.",title:"Read Size",required:!1,deprecated:!1},resetAutoCommit:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Camel will set the autoCommit on the JDBC connection to be false, commit the change after executed the statement and reset the autoCommit flag of the connection at the end, if the resetAutoCommit is true. If the JDBC connection doesn't support to reset the autoCommit flag, you can set the resetAutoCommit flag to be false, and Camel will not try to reset the autoCommit flag. When used with XA transactions you most likely need to set it to false so that the transaction manager is in charge of committing this tx.",title:"Reset Auto Commit",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether transactions are in use.",title:"Transacted",required:!1,deprecated:!1},useGetBytesForBlob:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To read BLOB columns as bytes instead of string data. This may be needed for certain databases such as Oracle where you must read BLOB columns as bytes.",title:"Use Get Bytes For Blob",required:!1,deprecated:!1},useHeadersAsParameters:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set this option to true to use the prepareStatementStrategy with named parameters. This allows to define queries with named placeholders, and use headers with the dynamic values for the query placeholders.",title:"Use Headers As Parameters",required:!1,deprecated:!1},useJDBC4ColumnNameAndLabelSemantics:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to use JDBC 4 or JDBC 3.0 or older semantic when retrieving column name. JDBC 4.0 uses columnLabel to get the column name where as JDBC 3.0 uses both columnName or columnLabel. Unfortunately JDBC drivers behave differently so you can use this option to work out issues around your JDBC driver if you get problem using this component This option is default true.",title:"Use JDBC4 Column Name And Label Semantics",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},beanRowMapper:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.component.jdbc.BeanRowMapper when using outputClass. The default implementation will lower case the row names and skip underscores, and dashes. For example CUST_ID is mapped as custId.",title:"Bean Row Mapper",required:!1,deprecated:!1},connectionStrategy:{kind:"parameter",type:"object",description:"To use a custom strategy for working with connections. Do not use a custom strategy when using the spring-jdbc component because a special Spring ConnectionStrategy is used by default to support Spring Transactions.",title:"Connection Strategy",required:!1,deprecated:!1},prepareStatementStrategy:{kind:"parameter",type:"object",description:"Allows the plugin to use a custom org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy to control preparation of the query and prepared statement.",title:"Prepare Statement Strategy",required:!1,deprecated:!1}}},"spring-ldap":{type:"object",title:"Spring LDAP",group:"security",icon:"generic24.png",description:"Perform searches in LDAP servers using filters as the message payload.",properties:{templateName:{kind:"path",type:"string",description:"Name of the Spring LDAP Template bean",title:"Template Name",required:!0,deprecated:!1},operation:{kind:"parameter",type:"object",enum:["SEARCH","BIND","UNBIND","AUTHENTICATE","MODIFY_ATTRIBUTES","FUNCTION_DRIVEN"],description:"The LDAP operation to be performed.",title:"Operation",required:!0,deprecated:!1},scope:{kind:"parameter",type:"string",defaultValue:"subtree",enum:["object","onelevel","subtree"],description:"The scope of the search operation.",title:"Scope",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"spring-rabbitmq":{type:"object",title:"Spring RabbitMQ",group:"messaging",icon:"generic24.png",description:"Send and receive messages from RabbitMQ using Spring RabbitMQ client.",properties:{exchangeName:{kind:"path",type:"string",description:"The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead.",title:"Exchange Name",required:!0,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"The connection factory to be use. A connection factory must be configured either on the component or endpoint.",title:"Connection Factory",required:!1,deprecated:!1},disableReplyTo:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another.",title:"Disable Reply To",required:!1,deprecated:!1},routingKey:{kind:"parameter",type:"string",description:"The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance.",title:"Routing Key",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.",title:"Test Connection On Startup",required:!1,deprecated:!1},acknowledgeMode:{kind:"parameter",type:"object",enum:["NONE","MANUAL","AUTO"],description:"Flag controlling the behaviour of the container with respect to message acknowledgement. The most common usage is to let the container handle the acknowledgements (so the listener doesn't need to know about the channel or the message). Set to AcknowledgeMode.MANUAL if the listener will send the acknowledgements itself using Channel.basicAck(long, boolean). Manual acks are consistent with either a transactional or non-transactional channel, but if you are doing no other work on the channel at the same other than receiving a single message then the transaction is probably unnecessary. Set to AcknowledgeMode.NONE to tell the broker not to expect any acknowledgements, and it will assume all messages are acknowledged as soon as they are sent (this is autoack in native Rabbit broker terms). If AcknowledgeMode.NONE then the channel cannot be transactional (so the container will fail on start up if that flag is accidentally set).",title:"Acknowledge Mode",required:!1,deprecated:!1},asyncConsumer:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the consumer processes the Exchange asynchronously. If enabled then the consumer may pickup the next message from the queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the consumer will pickup the next message from the queue.",title:"Async Consumer",required:!1,deprecated:!1},autoDeclare:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer should auto declare binding between exchange, queue and routing key when starting.",title:"Auto Declare",required:!1,deprecated:!1},autoStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether the consumer container should auto-startup.",title:"Auto Startup",required:!1,deprecated:!1},deadLetterExchange:{kind:"parameter",type:"string",description:"The name of the dead letter exchange",title:"Dead Letter Exchange",required:!1,deprecated:!1},deadLetterExchangeType:{kind:"parameter",type:"string",defaultValue:"direct",enum:["direct","fanout","headers","topic"],description:"The type of the dead letter exchange",title:"Dead Letter Exchange Type",required:!1,deprecated:!1},deadLetterQueue:{kind:"parameter",type:"string",description:"The name of the dead letter queue",title:"Dead Letter Queue",required:!1,deprecated:!1},deadLetterRoutingKey:{kind:"parameter",type:"string",description:"The routing key for the dead letter exchange",title:"Dead Letter Routing Key",required:!1,deprecated:!1},exchangeType:{kind:"parameter",type:"string",defaultValue:"direct",enum:["direct","fanout","headers","topic"],description:"The type of the exchange",title:"Exchange Type",required:!1,deprecated:!1},exclusive:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true for an exclusive consumer",title:"Exclusive",required:!1,deprecated:!1},maximumRetryAttempts:{kind:"parameter",type:"integer",defaultValue:"5",description:"How many times a Rabbitmq consumer will retry the same message if Camel failed to process the message",title:"Maximum Retry Attempts",required:!1,deprecated:!1},noLocal:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set to true for an no-local consumer",title:"No Local",required:!1,deprecated:!1},queues:{kind:"parameter",type:"string",description:"The queue(s) to use for consuming messages. Multiple queue names can be separated by comma. If none has been configured then Camel will generate an unique id as the queue name for the consumer.",title:"Queues",required:!1,deprecated:!1},rejectAndDontRequeue:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether a Rabbitmq consumer should reject the message without requeuing. This enables failed messages to be sent to a Dead Letter Exchange/Queue, if the broker is so configured.",title:"Reject And Dont Requeue",required:!1,deprecated:!1},retryDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Delay in millis a Rabbitmq consumer will wait before redelivering a message that Camel failed to process",title:"Retry Delay",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",description:"The number of consumers",title:"Concurrent Consumers",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},maxConcurrentConsumers:{kind:"parameter",type:"integer",description:"The maximum number of consumers (available only with SMLC)",title:"Max Concurrent Consumers",required:!1,deprecated:!1},messageListenerContainerType:{kind:"parameter",type:"string",defaultValue:"DMLC",enum:["DMLC","SMLC"],description:"The type of the MessageListenerContainer",title:"Message Listener Container Type",required:!1,deprecated:!1},prefetchCount:{kind:"parameter",type:"integer",description:"Tell the broker how many messages to send in a single request. Often this can be set quite high to improve throughput.",title:"Prefetch Count",required:!1,deprecated:!1},retry:{kind:"parameter",type:"object",description:"Custom retry configuration to use. If this is configured then the other settings such as maximumRetryAttempts for retry are not in use.",title:"Retry",required:!1,deprecated:!1},allowNullBody:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow sending messages with no body. If this option is false and the message body is null, then an MessageConversionException is thrown.",title:"Allow Null Body",required:!1,deprecated:!1},confirm:{kind:"parameter",type:"string",defaultValue:"auto",enum:["auto","enabled","disabled"],description:"Controls whether to wait for confirms. The connection factory must be configured for publisher confirms and this method. auto = Camel detects if the connection factory uses confirms or not. disabled = Confirms is disabled. enabled = Confirms is enabled.",title:"Confirm",required:!1,deprecated:!1},confirmTimeout:{kind:"parameter",type:"duration",defaultValue:"5000",description:"Specify the timeout in milliseconds to be used when waiting for a message sent to be confirmed by RabbitMQ when doing send only messaging (InOnly). The default value is 5 seconds. A negative value indicates an indefinite timeout.",title:"Confirm Timeout",required:!1,deprecated:!1},replyTimeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Specify the timeout in milliseconds to be used when waiting for a reply message when doing request/reply (InOut) messaging. The default value is 30 seconds. A negative value indicates an indefinite timeout (Beware that this will cause a memory leak if a reply is not received).",title:"Reply Timeout",required:!1,deprecated:!1},usePublisherConnection:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Use a separate connection for publishers and consumers",title:"Use Publisher Connection",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},args:{kind:"parameter",type:"object",description:"Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000",title:"Args",required:!1,deprecated:!1},messageConverter:{kind:"parameter",type:"object",description:"To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message.",title:"Message Converter",required:!1,deprecated:!1},messagePropertiesConverter:{kind:"parameter",type:"object",description:"To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties.",title:"Message Properties Converter",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1}}},"spring-redis":{type:"object",title:"Spring Redis",group:"cache",icon:"generic24.png",description:"Send and receive messages from Redis.",properties:{host:{kind:"path",type:"string",description:"The host where Redis server is running.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Redis server port number",title:"Port",required:!0,deprecated:!1},channels:{kind:"parameter",type:"string",description:"List of topic names or name patterns to subscribe to. Multiple names can be separated by comma.",title:"Channels",required:!1,deprecated:!1},command:{kind:"parameter",type:"object",defaultValue:"SET",enum:["PING","SET","GET","QUIT","EXISTS","DEL","TYPE","FLUSHDB","KEYS","RANDOMKEY","RENAME","RENAMENX","RENAMEX","DBSIZE","EXPIRE","EXPIREAT","TTL","SELECT","MOVE","FLUSHALL","GETSET","MGET","SETNX","SETEX","MSET","MSETNX","DECRBY","DECR","INCRBY","INCR","APPEND","SUBSTR","HSET","HGET","HSETNX","HMSET","HMGET","HINCRBY","HEXISTS","HDEL","HLEN","HKEYS","HVALS","HGETALL","RPUSH","LPUSH","LLEN","LRANGE","LTRIM","LINDEX","LSET","LREM","LPOP","RPOP","RPOPLPUSH","SADD","SMEMBERS","SREM","SPOP","SMOVE","SCARD","SISMEMBER","SINTER","SINTERSTORE","SUNION","SUNIONSTORE","SDIFF","SDIFFSTORE","SRANDMEMBER","ZADD","ZRANGE","ZREM","ZINCRBY","ZRANK","ZREVRANK","ZREVRANGE","ZCARD","ZSCORE","MULTI","DISCARD","EXEC","WATCH","UNWATCH","SORT","BLPOP","BRPOP","AUTH","SUBSCRIBE","PUBLISH","UNSUBSCRIBE","PSUBSCRIBE","PUNSUBSCRIBE","ZCOUNT","ZRANGEBYSCORE","ZREVRANGEBYSCORE","ZREMRANGEBYRANK","ZREMRANGEBYSCORE","ZUNIONSTORE","ZINTERSTORE","SAVE","BGSAVE","BGREWRITEAOF","LASTSAVE","SHUTDOWN","INFO","MONITOR","SLAVEOF","CONFIG","STRLEN","SYNC","LPUSHX","PERSIST","RPUSHX","ECHO","LINSERT","DEBUG","BRPOPLPUSH","SETBIT","GETBIT","SETRANGE","GETRANGE","PEXPIRE","PEXPIREAT","GEOADD","GEODIST","GEOHASH","GEOPOS","GEORADIUS","GEORADIUSBYMEMBER"],description:"Default command, which can be overridden by message header. Notice the consumer only supports the following commands: PSUBSCRIBE and SUBSCRIBE",title:"Command",required:!1,deprecated:!1},connectionFactory:{kind:"parameter",type:"object",description:"Reference to a pre-configured RedisConnectionFactory instance to use.",title:"Connection Factory",required:!1,deprecated:!1},redisTemplate:{kind:"parameter",type:"object",description:"Reference to a pre-configured RedisTemplate instance to use.",title:"Redis Template",required:!1,deprecated:!1},serializer:{kind:"parameter",type:"object",description:"Reference to a pre-configured RedisSerializer instance to use.",title:"Serializer",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},listenerContainer:{kind:"parameter",type:"object",description:"Reference to a pre-configured RedisMessageListenerContainer instance to use.",title:"Listener Container",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"spring-ws":{type:"object",title:"Spring WebService",group:"webservice",icon:"generic24.png",description:"Access external web services as a client or expose your own web services.",properties:{type:{kind:"path",type:"object",enum:["ROOT_QNAME","ACTION","TO","SOAP_ACTION","XPATHRESULT","URI","URI_PATH","BEANNAME"],description:"Endpoint mapping type if endpoint mapping is used. rootqname - Offers the option to map web service requests based on the qualified name of the root element contained in the message. soapaction - Used to map web service requests based on the SOAP action specified in the header of the message. uri - In order to map web service requests that target a specific URI. xpathresult - Used to map web service requests based on the evaluation of an XPath expression against the incoming message. The result of the evaluation should match the XPath result specified in the endpoint URI. beanname - Allows you to reference an org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher object in order to integrate with existing (legacy) endpoint mappings like PayloadRootQNameEndpointMapping, SoapActionEndpointMapping, etc",title:"Type",required:!1,deprecated:!1},lookupKey:{kind:"path",type:"string",description:"Endpoint mapping key if endpoint mapping is used",title:"Lookup Key",required:!1,deprecated:!1},webServiceEndpointUri:{kind:"path",type:"string",description:"The default Web Service endpoint uri to use for the producer.",title:"Web Service Endpoint Uri",required:!1,deprecated:!1},messageFilter:{kind:"parameter",type:"object",description:"Option to provide a custom MessageFilter. For example when you want to process your headers or attachments by your own.",title:"Message Filter",required:!1,deprecated:!1},messageIdStrategy:{kind:"parameter",type:"object",description:"Option to provide a custom MessageIdStrategy to control generation of WS-Addressing unique message ids.",title:"Message Id Strategy",required:!1,deprecated:!1},endpointDispatcher:{kind:"parameter",type:"object",description:"Spring org.springframework.ws.server.endpoint.MessageEndpoint for dispatching messages received by Spring-WS to a Camel endpoint, to integrate with existing (legacy) endpoint mappings like PayloadRootQNameEndpointMapping, SoapActionEndpointMapping, etc.",title:"Endpoint Dispatcher",required:!1,deprecated:!1},endpointMapping:{kind:"parameter",type:"object",description:"Reference to an instance of org.apache.camel.component.spring.ws.bean.CamelEndpointMapping in the Registry/ApplicationContext. Only one bean is required in the registry to serve all Camel/Spring-WS endpoints. This bean is auto-discovered by the MessageDispatcher and used to map requests to Camel endpoints based on characteristics specified on the endpoint (like root QName, SOAP action, etc)",title:"Endpoint Mapping",required:!1,deprecated:!1},expression:{kind:"parameter",type:"string",description:"The XPath expression to use when option type=xpathresult. Then this option is required to be configured.",title:"Expression",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},allowResponseAttachmentOverride:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to override soap response attachments in in/out exchange with attachments from the actual service layer. If the invoked service appends or rewrites the soap attachments this option when set to true, allows the modified soap attachments to be overwritten in in/out message attachments",title:"Allow Response Attachment Override",required:!1,deprecated:!1},allowResponseHeaderOverride:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Option to override soap response header in in/out exchange with header info from the actual service layer. If the invoked service appends or rewrites the soap header this option when set to true, allows the modified soap header to be overwritten in in/out message headers",title:"Allow Response Header Override",required:!1,deprecated:!1},faultAction:{kind:"parameter",type:"string",description:"Signifies the value for the faultAction response WS-Addressing Fault Action header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details.",title:"Fault Action",required:!1,deprecated:!1},faultTo:{kind:"parameter",type:"string",description:"Signifies the value for the faultAction response WS-Addressing FaultTo header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details.",title:"Fault To",required:!1,deprecated:!1},messageFactory:{kind:"parameter",type:"object",description:"Option to provide a custom WebServiceMessageFactory.",title:"Message Factory",required:!1,deprecated:!1},messageSender:{kind:"parameter",type:"object",description:"Option to provide a custom WebServiceMessageSender. For example to perform authentication or use alternative transports",title:"Message Sender",required:!1,deprecated:!1},outputAction:{kind:"parameter",type:"string",description:"Signifies the value for the response WS-Addressing Action header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details.",title:"Output Action",required:!1,deprecated:!1},replyTo:{kind:"parameter",type:"string",description:"Signifies the value for the replyTo response WS-Addressing ReplyTo header that is provided by the method. See org.springframework.ws.soap.addressing.server.annotation.Action annotation for more details.",title:"Reply To",required:!1,deprecated:!1},soapAction:{kind:"parameter",type:"string",description:"SOAP action to include inside a SOAP request when accessing remote web services",title:"Soap Action",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",description:"Sets the socket read timeout (in milliseconds) while invoking a webservice using the producer, see URLConnection.setReadTimeout() and CommonsHttpMessageSender.setReadTimeout(). This option works when using the built-in message sender implementations: CommonsHttpMessageSender and HttpUrlConnectionMessageSender. One of these implementations will be used by default for HTTP based services unless you customize the Spring WS configuration options supplied to the component. If you are using a non-standard sender, it is assumed that you will handle your own timeout configuration. The built-in message sender HttpComponentsMessageSender is considered instead of CommonsHttpMessageSender which has been deprecated, see HttpComponentsMessageSender.setReadTimeout().",title:"Timeout",required:!1,deprecated:!1},webServiceTemplate:{kind:"parameter",type:"object",description:"Option to provide a custom WebServiceTemplate. This allows for full control over client-side web services handling; like adding a custom interceptor or specifying a fault resolver, message sender or message factory.",title:"Web Service Template",required:!1,deprecated:!1},wsAddressingAction:{kind:"parameter",type:"string",description:"WS-Addressing 1.0 action header to include when accessing web services. The To header is set to the address of the web service as specified in the endpoint URI (default Spring-WS behavior).",title:"Ws Addressing Action",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},sql:{type:"object",title:"SQL",group:"database",icon:"generic24.png",description:"Perform SQL queries using Spring JDBC.",properties:{query:{kind:"path",type:"string",description:"Sets the SQL query to perform. You can externalize the query by using file: or classpath: as prefix and specify the location of the file.",title:"Query",required:!0,deprecated:!1},allowNamedParameters:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using named parameters in the queries.",title:"Allow Named Parameters",required:!1,deprecated:!1},dataSource:{kind:"parameter",type:"object",description:"Sets the DataSource to use to communicate with the database at endpoint level.",title:"Data Source",required:!1,deprecated:!1},outputClass:{kind:"parameter",type:"string",description:"Specify the full package and class name to use as conversion when outputType=SelectOne.",title:"Output Class",required:!1,deprecated:!1},outputHeader:{kind:"parameter",type:"string",description:"Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved.",title:"Output Header",required:!1,deprecated:!1},outputType:{kind:"parameter",type:"object",defaultValue:"SelectList",enum:["SelectOne","SelectList","StreamList"],description:"Make the output of consumer or producer to SelectList as List of Map, or SelectOne as single Java object in the following way: a) If the query has only single column, then that JDBC Column object is returned. (such as SELECT COUNT( ) FROM PROJECT will return a Long object. b) If the query has more than one column, then it will return a Map of that result. c) If the outputClass is set, then it will convert the query result into an Java bean object by calling all the setters that match the column names. It will assume your class has a default constructor to create instance with. d) If the query resulted in more than one rows, it throws an non-unique result exception. StreamList streams the result of the query using an Iterator. This can be used with the Splitter EIP in streaming mode to process the ResultSet in streaming fashion.",title:"Output Type",required:!1,deprecated:!1},separator:{kind:"parameter",type:"string",defaultValue:",",description:"The separator to use when parameter values is taken from message body (if the body is a String type), to be inserted at # placeholders. Notice if you use named parameters, then a Map type is used instead. The default value is comma",title:"Separator",required:!1,deprecated:!1},breakBatchOnConsumeFail:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to break batch if onConsume failed.",title:"Break Batch On Consume Fail",required:!1,deprecated:!1},expectedUpdateCount:{kind:"parameter",type:"integer",defaultValue:"-1",description:"Sets an expected update count to validate when using onConsume.",title:"Expected Update Count",required:!1,deprecated:!1},maxMessagesPerPoll:{kind:"parameter",type:"integer",description:"Sets the maximum number of messages to poll",title:"Max Messages Per Poll",required:!1,deprecated:!1},onConsume:{kind:"parameter",type:"string",description:"After processing each row then this query can be executed, if the Exchange was processed successfully, for example to mark the row as processed. The query can have parameter.",title:"On Consume",required:!1,deprecated:!1},onConsumeBatchComplete:{kind:"parameter",type:"string",description:"After processing the entire batch, this query can be executed to bulk update rows etc. The query cannot have parameters.",title:"On Consume Batch Complete",required:!1,deprecated:!1},onConsumeFailed:{kind:"parameter",type:"string",description:"After processing each row then this query can be executed, if the Exchange failed, for example to mark the row as failed. The query can have parameter.",title:"On Consume Failed",required:!1,deprecated:!1},routeEmptyResultSet:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether empty resultset should be allowed to be sent to the next hop. Defaults to false. So the empty resultset will be filtered out.",title:"Route Empty Result Set",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},transacted:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables or disables transaction. If enabled then if processing an exchange failed then the consumer breaks out processing any further exchanges to cause a rollback eager.",title:"Transacted",required:!1,deprecated:!1},useIterator:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets how resultset should be delivered to route. Indicates delivery as either a list or individual object. defaults to true.",title:"Use Iterator",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},processingStrategy:{kind:"parameter",type:"object",description:"Allows to plugin to use a custom org.apache.camel.component.sql.SqlProcessingStrategy to execute queries when the consumer has processed the rows/batch.",title:"Processing Strategy",required:!1,deprecated:!1},batch:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables or disables batch mode",title:"Batch",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set, will ignore the results of the SQL query and use the existing IN message as the OUT message for the continuation of processing",title:"Noop",required:!1,deprecated:!1},useMessageBodyForSql:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use the message body as the SQL and then headers for parameters. If this option is enabled then the SQL in the uri is not used. Note that query parameters in the message body are represented by a question mark instead of a # symbol.",title:"Use Message Body For Sql",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},alwaysPopulateStatement:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled then the populateStatement method from org.apache.camel.component.sql.SqlPrepareStatementStrategy is always invoked, also if there is no expected parameters to be prepared. When this is false then the populateStatement is only invoked if there is 1 or more expected parameters to be set; for example this avoids reading the message body/headers for SQL queries with no parameters.",title:"Always Populate Statement",required:!1,deprecated:!1},parametersCount:{kind:"parameter",type:"integer",description:"If set greater than zero, then Camel will use this count value of parameters to replace instead of querying via JDBC metadata API. This is useful if the JDBC vendor could not return correct parameters count, then user may override instead.",title:"Parameters Count",required:!1,deprecated:!1},placeholder:{kind:"parameter",type:"string",defaultValue:"#",description:"Specifies a character that will be replaced to in SQL query. Notice, that it is simple String.replaceAll() operation and no SQL parsing is involved (quoted strings will also change).",title:"Placeholder",required:!1,deprecated:!1},prepareStatementStrategy:{kind:"parameter",type:"object",description:"Allows to plugin to use a custom org.apache.camel.component.sql.SqlPrepareStatementStrategy to control preparation of the query and prepared statement.",title:"Prepare Statement Strategy",required:!1,deprecated:!1},rowMapperFactory:{kind:"parameter",type:"object",description:"Factory for creating RowMapper",title:"Row Mapper Factory",required:!1,deprecated:!1},templateOptions:{kind:"parameter",type:"object",description:"Configures the Spring JdbcTemplate with the key/values from the Map",title:"Template Options",required:!1,deprecated:!1},usePlaceholder:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sets whether to use placeholder and replace all placeholder characters with sign in the SQL queries.",title:"Use Placeholder",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},"sql-stored":{type:"object",title:"SQL Stored Procedure",group:"database",icon:"generic24.png",description:"Perform SQL queries as a JDBC Stored Procedures using Spring JDBC.",properties:{template:{kind:"path",type:"string",description:"Sets the stored procedure template to perform. You can externalize the template by using file: or classpath: as prefix and specify the location of the file.",title:"Template",required:!0,deprecated:!1},batch:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables or disables batch mode",title:"Batch",required:!1,deprecated:!1},dataSource:{kind:"parameter",type:"object",description:"Sets the DataSource to use to communicate with the database.",title:"Data Source",required:!1,deprecated:!1},function:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether this call is for a function.",title:"Function",required:!1,deprecated:!1},noop:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If set, will ignore the results of the stored procedure template and use the existing IN message as the OUT message for the continuation of processing",title:"Noop",required:!1,deprecated:!1},outputHeader:{kind:"parameter",type:"string",description:"Store the template result in a header instead of the message body. By default, outputHeader == null and the template result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the template result and the original message body is preserved.",title:"Output Header",required:!1,deprecated:!1},useMessageBodyForTemplate:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to use the message body as the stored procedure template and then headers for parameters. If this option is enabled then the template in the uri is not used.",title:"Use Message Body For Template",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},templateOptions:{kind:"parameter",type:"object",description:"Configures the Spring JdbcTemplate with the key/values from the Map",title:"Template Options",required:!1,deprecated:!1}}},ssh:{type:"object",title:"SSH",group:"file",icon:"generic24.png",description:"Execute commands on remote hosts using SSH.",properties:{host:{kind:"path",type:"string",description:"Sets the hostname of the remote SSH server.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",defaultValue:"22",description:"Sets the port number for the remote SSH server.",title:"Port",required:!1,deprecated:!1},failOnUnknownHost:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether a connection to an unknown host should fail or not. This value is only checked when the property knownHosts is set.",title:"Fail On Unknown Host",required:!1,deprecated:!1},knownHostsResource:{kind:"parameter",type:"string",description:"Sets the resource path for a known_hosts file",title:"Known Hosts Resource",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Sets the timeout in milliseconds to wait in establishing the remote SSH server connection. Defaults to 30000 milliseconds.",title:"Timeout",required:!1,deprecated:!1},pollCommand:{kind:"parameter",type:"string",description:"Sets the command string to send to the remote SSH server during every poll cycle. Only works with camel-ssh component being used as a consumer, i.e. from(ssh://...) You may need to end your command with a newline, and that must be URL encoded %0A",title:"Poll Command",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},channelType:{kind:"parameter",type:"string",defaultValue:"exec",description:"Sets the channel type to pass to the Channel as part of command execution. Defaults to exec.",title:"Channel Type",required:!1,deprecated:!1},clientBuilder:{kind:"parameter",type:"object",description:"Instance of ClientBuilder used by the producer or consumer to create a new SshClient",title:"Client Builder",required:!1,deprecated:!1},compressions:{kind:"parameter",type:"string",description:"Whether to use compression, and if so which.",title:"Compressions",required:!1,deprecated:!1},shellPrompt:{kind:"parameter",type:"string",description:"Sets the shellPrompt to be dropped when response is read after command execution",title:"Shell Prompt",required:!1,deprecated:!1},sleepForShellPrompt:{kind:"parameter",type:"integer",defaultValue:"100",description:"Sets the sleep period in milliseconds to wait reading response from shell prompt. Defaults to 100 milliseconds.",title:"Sleep For Shell Prompt",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},certResource:{kind:"parameter",type:"string",description:"Sets the resource path of the certificate to use for Authentication. Will use ResourceHelperKeyPairProvider to resolve file based certificate, and depends on keyType setting.",title:"Cert Resource",required:!1,deprecated:!1},certResourcePassword:{kind:"parameter",type:"string",description:"Sets the password to use in loading certResource, if certResource is an encrypted key.",title:"Cert Resource Password",required:!1,deprecated:!1},ciphers:{kind:"parameter",type:"string",description:"Comma-separated list of allowed/supported ciphers in their order of preference.",title:"Ciphers",required:!1,deprecated:!1},kex:{kind:"parameter",type:"string",description:"Comma-separated list of allowed/supported key exchange algorithms in their order of preference.",title:"Kex",required:!1,deprecated:!1},keyPairProvider:{kind:"parameter",type:"object",description:"Sets the KeyPairProvider reference to use when connecting using Certificates to the remote SSH Server.",title:"Key Pair Provider",required:!1,deprecated:!1},keyType:{kind:"parameter",type:"string",description:"Sets the key type to pass to the KeyPairProvider as part of authentication. KeyPairProvider.loadKey(...) will be passed this value. From Camel 3.0.0 / 2.25.0, by default Camel will select the first available KeyPair that is loaded. Prior to this, a KeyType of 'ssh-rsa' was enforced by default.",title:"Key Type",required:!1,deprecated:!1},macs:{kind:"parameter",type:"string",description:"Comma-separated list of allowed/supported message authentication code algorithms in their order of preference. The MAC algorithm is used for data integrity protection.",title:"Macs",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Sets the password to use in connecting to remote SSH server. Requires keyPairProvider to be set to null.",title:"Password",required:!1,deprecated:!1},signatures:{kind:"parameter",type:"string",description:"Comma-separated list of allowed/supported signature algorithms in their order of preference.",title:"Signatures",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"Sets the username to use in logging into the remote SSH server.",title:"Username",required:!1,deprecated:!1}}},stax:{type:"object",title:"StAX",group:"transformation",icon:"generic24.png",description:"Process XML payloads by a SAX ContentHandler.",properties:{contentHandlerClass:{kind:"path",type:"string",description:"The FQN class name for the ContentHandler implementation to use.",title:"Content Handler Class",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},stitch:{type:"object",title:"Stitch",group:"cloud,api,saas,bigdata",icon:"generic24.png",description:"Stitch is a cloud ETL service that integrates various data sources into a central data warehouse through various integrations.",properties:{tableName:{kind:"path",type:"string",description:"The name of the destination table the data is being pushed to. Table names must be unique in each destination schema, or loading issues will occur. Note: The number of characters in the table name should be within the destination's allowed limits or data will rejected.",title:"Table Name",required:!1,deprecated:!1},keyNames:{kind:"parameter",type:"string",description:"A collection of comma separated strings representing the Primary Key fields in the source table. Stitch use these Primary Keys to de-dupe data during loading If not provided, the table will be loaded in an append-only manner.",title:"Key Names",required:!1,deprecated:!1},region:{kind:"parameter",type:"object",defaultValue:"EUROPE",enum:["NORTH_AMERICA","EUROPE"],description:"Stitch account region, e.g: europe",title:"Region",required:!1,deprecated:!1},stitchSchema:{kind:"parameter",type:"object",description:"A schema that describes the record(s)",title:"Stitch Schema",required:!1,deprecated:!1},connectionProvider:{kind:"parameter",type:"object",description:"ConnectionProvider contain configuration for the HttpClient like Maximum connection limit .. etc, you can inject this ConnectionProvider and the StitchClient will initialize HttpClient with this ConnectionProvider",title:"Connection Provider",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"Reactor Netty HttpClient, you can injected it if you want to have custom HttpClient",title:"Http Client",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},stitchClient:{kind:"parameter",type:"object",description:"Set a custom StitchClient that implements org.apache.camel.component.stitch.client.StitchClient interface",title:"Stitch Client",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"Stitch access token for the Stitch Import API",title:"Token",required:!0,deprecated:!1}}},stomp:{type:"object",title:"Stomp",group:"messaging",icon:"generic24.png",description:"Send and rececive messages to/from STOMP (Simple Text Oriented Messaging Protocol) compliant message brokers.",properties:{destination:{kind:"path",type:"string",description:"Name of the queue",title:"Destination",required:!0,deprecated:!1},brokerURL:{kind:"parameter",type:"string",defaultValue:"tcp://localhost:61613",description:"The URI of the Stomp broker to connect to",title:"Broker URL",required:!0,deprecated:!1},customHeaders:{kind:"parameter",type:"object",description:"To set custom headers",title:"Custom Headers",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"The virtual host name",title:"Host",required:!1,deprecated:!1},version:{kind:"parameter",type:"string",description:"The stomp version (1.1, or 1.2)",title:"Version",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},login:{kind:"parameter",type:"string",description:"The username",title:"Login",required:!1,deprecated:!1},passcode:{kind:"parameter",type:"string",description:"The password",title:"Passcode",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},stream:{type:"object",title:"Stream",group:"file,core",icon:"generic24.png",description:"Read from system-in and write to system-out and system-err streams.",properties:{kind:{kind:"path",type:"string",enum:["in","out","err","header","file","http"],description:"Kind of stream to use such as System.in, System.out, a file, or a http url.",title:"Kind",required:!0,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"You can configure the encoding (is a charset name) to use text-based streams (for example, message body is a String object). If not provided, Camel uses the JVM default Charset.",title:"Encoding",required:!1,deprecated:!1},fileName:{kind:"parameter",type:"string",description:"When using the stream:file URI format, this option specifies the filename to stream to/from.",title:"File Name",required:!1,deprecated:!1},fileWatcher:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To use JVM file watcher to listen for file change events to support re-loading files that may be overwritten, somewhat like tail --retry",title:"File Watcher",required:!1,deprecated:!1},groupLines:{kind:"parameter",type:"integer",description:"To group X number of lines in the consumer. For example to group 10 lines and therefore only spit out an Exchange with 10 lines, instead of 1 Exchange per line.",title:"Group Lines",required:!1,deprecated:!1},groupStrategy:{kind:"parameter",type:"object",description:"Allows to use a custom GroupStrategy to control how to group lines.",title:"Group Strategy",required:!1,deprecated:!1},httpHeaders:{kind:"parameter",type:"string",description:"When using stream:http format, this option specifies optional http headers, such as Accept: application/json. Multiple headers can be separated by comma. The format of headers can be either HEADER=VALUE or HEADER:VALUE. In accordance with the HTTP/1.1 specification, leading and/or trailing whitespace is ignored",title:"Http Headers",required:!1,deprecated:!1},httpUrl:{kind:"parameter",type:"string",description:"When using stream:http format, this option specifies the http url to stream from.",title:"Http Url",required:!1,deprecated:!1},initialPromptDelay:{kind:"parameter",type:"integer",defaultValue:"2000",description:"Initial delay in milliseconds before showing the message prompt. This delay occurs only once. Can be used during system startup to avoid message prompts being written while other logging is done to the system out.",title:"Initial Prompt Delay",required:!1,deprecated:!1},promptDelay:{kind:"parameter",type:"integer",description:"Optional delay in milliseconds before showing the message prompt.",title:"Prompt Delay",required:!1,deprecated:!1},promptMessage:{kind:"parameter",type:"string",description:"Message prompt to use when reading from stream:in; for example, you could set this to Enter a command:",title:"Prompt Message",required:!1,deprecated:!1},readLine:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to read the input stream in line mode (terminate by line breaks). Setting this to false, will instead read the entire stream until EOL.",title:"Read Line",required:!1,deprecated:!1},retry:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Will retry opening the stream if it's overwritten, somewhat like tail --retry If reading from files then you should also enable the fileWatcher option, to make it work reliable.",title:"Retry",required:!1,deprecated:!1},scanStream:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To be used for continuously reading a stream such as the unix tail command.",title:"Scan Stream",required:!1,deprecated:!1},scanStreamDelay:{kind:"parameter",type:"integer",description:"Delay in milliseconds between read attempts when using scanStream.",title:"Scan Stream Delay",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},appendNewLine:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to append a new line character at end of output.",title:"Append New Line",required:!1,deprecated:!1},autoCloseCount:{kind:"parameter",type:"integer",description:"Number of messages to process before closing stream on Producer side. Never close stream by default (only when Producer is stopped). If more messages are sent, the stream is reopened for another autoCloseCount batch.",title:"Auto Close Count",required:!1,deprecated:!1},closeOnDone:{kind:"parameter",type:"boolean",defaultValue:"false",description:"This option is used in combination with Splitter and streaming to the same file. The idea is to keep the stream open and only close when the Splitter is done, to improve performance. Mind this requires that you only stream to the same file, and not 2 or more files.",title:"Close On Done",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",description:"Initial delay in milliseconds before producing the stream.",title:"Delay",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},readTimeout:{kind:"parameter",type:"integer",description:"Sets the read timeout to a specified timeout, in milliseconds. A non-zero value specifies the timeout when reading from Input stream when a connection is established to a resource. If the timeout expires before there is data available for read, a java.net.SocketTimeoutException is raised. A timeout of zero is interpreted as an infinite timeout.",title:"Read Timeout",required:!1,deprecated:!1}}},"string-template":{type:"object",title:"String Template",group:"transformation,script",icon:"generic24.png",description:"Transform messages using StringTemplate engine.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},delimiterStart:{kind:"parameter",type:"string",defaultValue:"<",description:"The variable start delimiter",title:"Delimiter Start",required:!1,deprecated:!1},delimiterStop:{kind:"parameter",type:"string",defaultValue:">",description:"The variable end delimiter",title:"Delimiter Stop",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},stub:{type:"object",title:"Stub",group:"core,testing",icon:"generic24.png",description:"Stub out any physical endpoints while in development or testing.",properties:{name:{kind:"path",type:"string",description:"Name of queue",title:"Name",required:!0,deprecated:!1},size:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The maximum capacity of the SEDA queue (i.e., the number of messages it can hold). Will by default use the defaultSize set on the SEDA component.",title:"Size",required:!1,deprecated:!1},concurrentConsumers:{kind:"parameter",type:"integer",defaultValue:"1",description:"Number of concurrent threads processing exchanges.",title:"Concurrent Consumers",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},limitConcurrentConsumers:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to limit the number of concurrentConsumers to the maximum of 500. By default, an exception will be thrown if an endpoint is configured with a greater number. You can disable that check by turning this option off.",title:"Limit Concurrent Consumers",required:!1,deprecated:!1},multipleConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether multiple consumers are allowed. If enabled, you can use SEDA for Publish-Subscribe messaging. That is, you can send a message to the SEDA queue and have each consumer receive a copy of the message. When enabled, this option should be specified on every consumer endpoint.",title:"Multiple Consumers",required:!1,deprecated:!1},pollTimeout:{kind:"parameter",type:"integer",defaultValue:"1000",description:"The timeout (in milliseconds) used when polling. When a timeout occurs, the consumer can check whether it is allowed to continue running. Setting a lower value allows the consumer to react more quickly upon shutdown.",title:"Poll Timeout",required:!1,deprecated:!1},purgeWhenStopping:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to purge the task queue when stopping the consumer/route. This allows to stop faster, as any pending messages on the queue is discarded.",title:"Purge When Stopping",required:!1,deprecated:!1},blockWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full SEDA queue will block until the queue's capacity is no longer exhausted. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will instead block and wait until the message can be accepted.",title:"Block When Full",required:!1,deprecated:!1},discardIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the producer should discard the message (do not add the message to the queue), when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsumers can be enabled at the same time.",title:"Discard If No Consumers",required:!1,deprecated:!1},discardWhenFull:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether a thread that sends messages to a full SEDA queue will be discarded. By default, an exception will be thrown stating that the queue is full. By enabling this option, the calling thread will give up sending and continue, meaning that the message was not sent to the SEDA queue.",title:"Discard When Full",required:!1,deprecated:!1},failIfNoConsumers:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the producer should fail by throwing an exception, when sending to a queue with no active consumers. Only one of the options discardIfNoConsumers and failIfNoConsumers can be enabled at the same time.",title:"Fail If No Consumers",required:!1,deprecated:!1},offerTimeout:{kind:"parameter",type:"duration",description:"Offer timeout (in milliseconds) can be added to the block case when queue is full. You can disable timeout by using 0 or a negative value.",title:"Offer Timeout",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Timeout (in milliseconds) before a SEDA producer will stop waiting for an asynchronous task to complete. You can disable timeout by using 0 or a negative value.",title:"Timeout",required:!1,deprecated:!1},waitForTaskToComplete:{kind:"parameter",type:"object",defaultValue:"IfReplyExpected",enum:["Never","IfReplyExpected","Always"],description:"Option to specify whether the caller should wait for the async task to complete or not before continuing. The following three options are supported: Always, Never or IfReplyExpected. The first two values are self-explanatory. The last value, IfReplyExpected, will only wait if the message is Request Reply based. The default option is IfReplyExpected.",title:"Wait For Task To Complete",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},queue:{kind:"parameter",type:"object",description:"Define the queue instance which will be used by the endpoint",title:"Queue",required:!1,deprecated:!1}}},telegram:{type:"object",title:"Telegram",group:"cloud,api,chat",icon:"generic24.png",description:"Send and receive messages acting as a Telegram Bot Telegram Bot API.",properties:{type:{kind:"path",type:"string",enum:["bots"],description:"The endpoint type. Currently, only the 'bots' type is supported.",title:"Type",required:!0,deprecated:!1},limit:{kind:"parameter",type:"integer",defaultValue:"100",description:"Limit on the number of updates that can be received in a single polling request.",title:"Limit",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"30",description:"Timeout in seconds for long polling. Put 0 for short polling or a bigger number for long polling. Long polling produces shorter response time.",title:"Timeout",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},chatId:{kind:"parameter",type:"string",description:"The identifier of the chat that will receive the produced messages. Chat ids can be first obtained from incoming messages (eg. when a telegram user starts a conversation with a bot, its client sends automatically a '/start' message containing the chat id). It is an optional parameter, as the chat id can be set dynamically for each outgoing message (using body or headers).",title:"Chat Id",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},baseUri:{kind:"parameter",type:"string",description:"Can be used to set an alternative base URI, e.g. when you want to test the component against a mock Telegram API",title:"Base Uri",required:!1,deprecated:!1},bufferSize:{kind:"parameter",type:"integer",defaultValue:"1048576",description:"The initial in-memory buffer size used when transferring data between Camel and AHC Client.",title:"Buffer Size",required:!1,deprecated:!1},client:{kind:"parameter",type:"object",description:"To use a custom HttpClient",title:"Client",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"HTTP proxy host which could be used when sending out the message.",title:"Proxy Host",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"HTTP proxy port which could be used when sending out the message.",title:"Proxy Port",required:!1,deprecated:!1},proxyType:{kind:"parameter",type:"object",defaultValue:"HTTP",enum:["HTTP","SOCKS4","SOCKS5"],description:"HTTP proxy type which could be used when sending out the message.",title:"Proxy Type",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},authorizationToken:{kind:"parameter",type:"string",description:"The authorization token for using the bot (ask the BotFather)",title:"Authorization Token",required:!0,deprecated:!1}}},thrift:{type:"object",title:"Thrift",group:"rpc,transformation",icon:"generic24.png",description:"Call and expose remote procedures (RPC) with Apache Thrift data format and serialization mechanism.",properties:{host:{kind:"path",type:"string",description:"The Thrift server host name. This is localhost or 0.0.0.0 (if not defined) when being a consumer or remote server host name when using producer.",title:"Host",required:!1,deprecated:!1},port:{kind:"path",type:"integer",description:"The Thrift server port",title:"Port",required:!0,deprecated:!1},service:{kind:"path",type:"string",description:"Fully qualified service name from the thrift descriptor file (package dot service definition name)",title:"Service",required:!0,deprecated:!1},compressionType:{kind:"parameter",type:"object",defaultValue:"NONE",enum:["NONE","ZLIB"],description:"Protocol compression mechanism type",title:"Compression Type",required:!1,deprecated:!1},exchangeProtocol:{kind:"parameter",type:"object",defaultValue:"BINARY",enum:["BINARY","JSON","SJSON","COMPACT"],description:"Exchange protocol serialization type",title:"Exchange Protocol",required:!1,deprecated:!1},clientTimeout:{kind:"parameter",type:"integer",description:"Client timeout for consumers",title:"Client Timeout",required:!1,deprecated:!1},maxPoolSize:{kind:"parameter",type:"integer",defaultValue:"10",description:"The Thrift server consumer max thread pool size",title:"Max Pool Size",required:!1,deprecated:!1},poolSize:{kind:"parameter",type:"integer",defaultValue:"1",description:"The Thrift server consumer initial thread pool size",title:"Pool Size",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},method:{kind:"parameter",type:"string",description:"The Thrift invoked method name",title:"Method",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},negotiationType:{kind:"parameter",type:"object",defaultValue:"PLAINTEXT",enum:["PLAINTEXT","SSL","SASL"],description:"Security negotiation type",title:"Negotiation Type",required:!1,deprecated:!1},sslParameters:{kind:"parameter",type:"object",description:"Configuration parameters for SSL/TLS security negotiation",title:"Ssl Parameters",required:!1,deprecated:!1}}},thymeleaf:{type:"object",title:"Thymeleaf",group:"transformation",icon:"generic24.png",description:"Transform messages using a Thymeleaf template.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},cacheable:{kind:"parameter",type:"boolean",description:"Whether templates have to be considered cacheable or not.",title:"Cacheable",required:!1,deprecated:!1},cacheTimeToLive:{kind:"parameter",type:"integer",description:"The cache Time To Live for templates, expressed in milliseconds.",title:"Cache Time To Live",required:!1,deprecated:!1},checkExistence:{kind:"parameter",type:"boolean",description:"Whether a template resources will be checked for existence before being returned.",title:"Check Existence",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},templateMode:{kind:"parameter",type:"string",defaultValue:"HTML",enum:["HTML","XML","TEXT","JAVASCRIPT","CSS","RAW"],description:"The template mode to be applied to templates.",title:"Template Mode",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"The character encoding to be used for reading template resources.",title:"Encoding",required:!1,deprecated:!1},order:{kind:"parameter",type:"integer",description:"The order in which this template will be resolved as part of the resolver chain.",title:"Order",required:!1,deprecated:!1},prefix:{kind:"parameter",type:"string",description:"An optional prefix added to template names to convert them into resource names.",title:"Prefix",required:!1,deprecated:!1},resolver:{kind:"parameter",type:"object",defaultValue:"CLASS_LOADER",enum:["CLASS_LOADER","DEFAULT","FILE","STRING","URL","WEB_APP"],description:"The type of resolver to be used by the template engine.",title:"Resolver",required:!1,deprecated:!1},suffix:{kind:"parameter",type:"string",description:"An optional suffix added to template names to convert them into resource names.",title:"Suffix",required:!1,deprecated:!1}}},tika:{type:"object",title:"Tika",group:"document,transformation",icon:"generic24.png",description:"Parse documents and extract metadata and text using Apache Tika.",properties:{operation:{kind:"path",type:"object",enum:["parse","detect"],description:"Operation type",title:"Operation",required:!0,deprecated:!1},tikaParseOutputEncoding:{kind:"parameter",type:"string",description:"Tika Parse Output Encoding",title:"Tika Parse Output Encoding",required:!1,deprecated:!1},tikaParseOutputFormat:{kind:"parameter",type:"object",defaultValue:"xml",enum:["xml","html","text","textMain"],description:"Tika Output Format. Supported output formats. xml: Returns Parsed Content as XML. html: Returns Parsed Content as HTML. text: Returns Parsed Content as Text. textMain: Uses the boilerpipe library to automatically extract the main content from a web page.",title:"Tika Parse Output Format",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},tikaConfig:{kind:"parameter",type:"object",description:"Tika Config",title:"Tika Config",required:!1,deprecated:!1},tikaConfigUri:{kind:"parameter",type:"string",description:"Tika Config Url",title:"Tika Config Uri",required:!1,deprecated:!1}}},timer:{type:"object",title:"Timer",group:"core,scheduling",icon:"generic24.png",description:"Generate messages in specified intervals using java.util.Timer.",properties:{timerName:{kind:"path",type:"string",description:"The name of the timer",title:"Timer Name",required:!0,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"1000",description:"Delay before first event is triggered.",title:"Delay",required:!1,deprecated:!1},fixedRate:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Events take place at approximately regular intervals, separated by the specified period.",title:"Fixed Rate",required:!1,deprecated:!1},includeMetadata:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to include metadata in the exchange such as fired time, timer name, timer count etc.",title:"Include Metadata",required:!1,deprecated:!1},period:{kind:"parameter",type:"duration",defaultValue:"1000",description:"If greater than 0, generate periodic events every period.",title:"Period",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the timer will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},daemon:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether or not the thread associated with the timer endpoint runs as a daemon. The default value is true.",title:"Daemon",required:!1,deprecated:!1},pattern:{kind:"parameter",type:"string",description:"Allows you to specify a custom Date pattern to use for setting the time option using URI syntax.",title:"Pattern",required:!1,deprecated:!1},synchronous:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether synchronous processing should be strictly used",title:"Synchronous",required:!1,deprecated:!1},time:{kind:"parameter",type:"string",description:"A java.util.Date the first event should be generated. If using the URI, the pattern expected is: yyyy-MM-dd HH:mm:ss or yyyy-MM-dd'T'HH:mm:ss.",title:"Time",required:!1,deprecated:!1},timer:{kind:"parameter",type:"object",description:"To use a custom Timer",title:"Timer",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1}}},twilio:{type:"object",title:"Twilio",group:"api,messaging,cloud",icon:"generic24.png",description:"Interact with Twilio REST APIs using Twilio Java SDK.",properties:{apiName:{kind:"path",type:"object",enum:["ACCOUNT","ADDRESS","APPLICATION","AVAILABLE_PHONE_NUMBER_COUNTRY","CALL","CONFERENCE","CONNECT_APP","INCOMING_PHONE_NUMBER","KEY","MESSAGE","NEW_KEY","NEW_SIGNING_KEY","NOTIFICATION","OUTGOING_CALLER_ID","QUEUE","RECORDING","SHORT_CODE","SIGNING_KEY","TOKEN","TRANSCRIPTION","VALIDATION_REQUEST","ADDRESS_DEPENDENT_PHONE_NUMBER","AVAILABLE_PHONE_NUMBER_COUNTRY_LOCAL","AVAILABLE_PHONE_NUMBER_COUNTRY_MOBILE","AVAILABLE_PHONE_NUMBER_COUNTRY_TOLL_FREE","CALL_FEEDBACK","CALL_FEEDBACK_SUMMARY","CALL_NOTIFICATION","CALL_RECORDING","CONFERENCE_PARTICIPANT","INCOMING_PHONE_NUMBER_LOCAL","INCOMING_PHONE_NUMBER_MOBILE","INCOMING_PHONE_NUMBER_TOLL_FREE","MESSAGE_FEEDBACK","MESSAGE_MEDIA","QUEUE_MEMBER","RECORDING_ADD_ON_RESULT","RECORDING_TRANSCRIPTION","RECORDING_ADD_ON_RESULT_PAYLOAD","SIP_CREDENTIAL_LIST","SIP_DOMAIN","SIP_IP_ACCESS_CONTROL_LIST","SIP_CREDENTIAL_LIST_CREDENTIAL","SIP_DOMAIN_CREDENTIAL_LIST_MAPPING","SIP_DOMAIN_IP_ACCESS_CONTROL_LIST_MAPPING","SIP_IP_ACCESS_CONTROL_LIST_IP_ADDRESS","USAGE_RECORD","USAGE_TRIGGER","USAGE_RECORD_ALL_TIME","USAGE_RECORD_DAILY","USAGE_RECORD_LAST_MONTH","USAGE_RECORD_MONTHLY","USAGE_RECORD_THIS_MONTH","USAGE_RECORD_TODAY","USAGE_RECORD_YEARLY","USAGE_RECORD_YESTERDAY"],description:"What kind of operation to perform",title:"Api Name",required:!0,deprecated:!1},methodName:{kind:"path",type:"string",enum:["create","delete","fetch","read","update"],description:"What sub operation to use for the selected operation",title:"Method Name",required:!0,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},"twitter-directmessage":{type:"object",title:"Twitter Direct Message",group:"saas,social",icon:"generic24.png",description:"Send and receive Twitter direct messages.",properties:{user:{kind:"path",type:"string",description:"The user name to send a direct message. This will be ignored for consumer.",title:"User",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",defaultValue:"polling",enum:["polling","direct"],description:"Endpoint type to use.",title:"Type",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},distanceMetric:{kind:"parameter",type:"string",defaultValue:"km",enum:["km","mi"],description:"Used by the geography search, to search by radius using the configured metrics. The unit can either be mi for miles, or km for kilometers. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Distance Metric",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},extendedMode:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for enabling full text from twitter (eg receive tweets that contains more than 140 characters).",title:"Extended Mode",required:!1,deprecated:!1},latitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by latitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Latitude",required:!1,deprecated:!1},locations:{kind:"parameter",type:"string",description:"Bounding boxes, created by pairs of lat/lons. Can be used for filter. A pair is defined as lat,lon. And multiple pairs can be separated by semicolon.",title:"Locations",required:!1,deprecated:!1},longitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by longitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Longitude",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},radius:{kind:"parameter",type:"number",description:"Used by the geography search to search by radius. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Radius",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},count:{kind:"parameter",type:"integer",defaultValue:"5",description:"Limiting number of results per page.",title:"Count",required:!1,deprecated:!1},filterOld:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Filter out old tweets, that has previously been polled. This state is stored in memory only, and based on last tweet id.",title:"Filter Old",required:!1,deprecated:!1},lang:{kind:"parameter",type:"string",description:"The lang string ISO_639-1 which will be used for searching",title:"Lang",required:!1,deprecated:!1},numberOfPages:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of pages result which you want camel-twitter to consume.",title:"Number Of Pages",required:!1,deprecated:!1},sinceId:{kind:"parameter",type:"integer",defaultValue:"1",description:"The last tweet id which will be used for pulling the tweets. It is useful when the camel route is restarted after a long running.",title:"Since Id",required:!1,deprecated:!1},userIds:{kind:"parameter",type:"string",description:"To filter by user ids for filter. Multiple values can be separated by comma.",title:"User Ids",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"The http proxy host which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"The http proxy password which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",description:"The http proxy port which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUser:{kind:"parameter",type:"string",description:"The http proxy user which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy User",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token. Can also be configured on the TwitterComponent level instead.",title:"Access Token",required:!1,deprecated:!1},accessTokenSecret:{kind:"parameter",type:"string",description:"The access secret. Can also be configured on the TwitterComponent level instead.",title:"Access Token Secret",required:!1,deprecated:!1},consumerKey:{kind:"parameter",type:"string",description:"The consumer key. Can also be configured on the TwitterComponent level instead.",title:"Consumer Key",required:!1,deprecated:!1},consumerSecret:{kind:"parameter",type:"string",description:"The consumer secret. Can also be configured on the TwitterComponent level instead.",title:"Consumer Secret",required:!1,deprecated:!1},sortById:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sorts by id, so the oldest are first, and newest last.",title:"Sort By Id",required:!1,deprecated:!1}}},"twitter-search":{type:"object",title:"Twitter Search",group:"saas,social",icon:"generic24.png",description:"Access Twitter Search.",properties:{keywords:{kind:"path",type:"string",description:"The search query, use the keywords AND, OR, - and () to narrow the search results.",title:"Keywords",required:!0,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",defaultValue:"polling",enum:["polling","direct"],description:"Endpoint type to use.",title:"Type",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},distanceMetric:{kind:"parameter",type:"string",defaultValue:"km",enum:["km","mi"],description:"Used by the geography search, to search by radius using the configured metrics. The unit can either be mi for miles, or km for kilometers. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Distance Metric",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},extendedMode:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for enabling full text from twitter (eg receive tweets that contains more than 140 characters).",title:"Extended Mode",required:!1,deprecated:!1},latitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by latitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Latitude",required:!1,deprecated:!1},locations:{kind:"parameter",type:"string",description:"Bounding boxes, created by pairs of lat/lons. Can be used for filter. A pair is defined as lat,lon. And multiple pairs can be separated by semicolon.",title:"Locations",required:!1,deprecated:!1},longitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by longitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Longitude",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},radius:{kind:"parameter",type:"number",description:"Used by the geography search to search by radius. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Radius",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},count:{kind:"parameter",type:"integer",defaultValue:"5",description:"Limiting number of results per page.",title:"Count",required:!1,deprecated:!1},filterOld:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Filter out old tweets, that has previously been polled. This state is stored in memory only, and based on last tweet id.",title:"Filter Old",required:!1,deprecated:!1},lang:{kind:"parameter",type:"string",description:"The lang string ISO_639-1 which will be used for searching",title:"Lang",required:!1,deprecated:!1},numberOfPages:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of pages result which you want camel-twitter to consume.",title:"Number Of Pages",required:!1,deprecated:!1},sinceId:{kind:"parameter",type:"integer",defaultValue:"1",description:"The last tweet id which will be used for pulling the tweets. It is useful when the camel route is restarted after a long running.",title:"Since Id",required:!1,deprecated:!1},userIds:{kind:"parameter",type:"string",description:"To filter by user ids for filter. Multiple values can be separated by comma.",title:"User Ids",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"The http proxy host which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"The http proxy password which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",description:"The http proxy port which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUser:{kind:"parameter",type:"string",description:"The http proxy user which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy User",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token. Can also be configured on the TwitterComponent level instead.",title:"Access Token",required:!1,deprecated:!1},accessTokenSecret:{kind:"parameter",type:"string",description:"The access secret. Can also be configured on the TwitterComponent level instead.",title:"Access Token Secret",required:!1,deprecated:!1},consumerKey:{kind:"parameter",type:"string",description:"The consumer key. Can also be configured on the TwitterComponent level instead.",title:"Consumer Key",required:!1,deprecated:!1},consumerSecret:{kind:"parameter",type:"string",description:"The consumer secret. Can also be configured on the TwitterComponent level instead.",title:"Consumer Secret",required:!1,deprecated:!1},sortById:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sorts by id, so the oldest are first, and newest last.",title:"Sort By Id",required:!1,deprecated:!1}}},"twitter-timeline":{type:"object",title:"Twitter Timeline",group:"saas,social",icon:"generic24.png",description:"Send tweets and receive tweets from user's timeline.",properties:{timelineType:{kind:"path",type:"object",enum:["PUBLIC","HOME","USER","MENTIONS","LIST","UNKNOWN"],description:"The timeline type to produce/consume.",title:"Timeline Type",required:!0,deprecated:!1},list:{kind:"parameter",type:"string",description:"The list name when using timelineType=list",title:"List",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"The username when using timelineType=user",title:"User",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},type:{kind:"parameter",type:"object",defaultValue:"polling",enum:["polling","direct"],description:"Endpoint type to use.",title:"Type",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},distanceMetric:{kind:"parameter",type:"string",defaultValue:"km",enum:["km","mi"],description:"Used by the geography search, to search by radius using the configured metrics. The unit can either be mi for miles, or km for kilometers. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Distance Metric",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},extendedMode:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Used for enabling full text from twitter (eg receive tweets that contains more than 140 characters).",title:"Extended Mode",required:!1,deprecated:!1},latitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by latitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Latitude",required:!1,deprecated:!1},locations:{kind:"parameter",type:"string",description:"Bounding boxes, created by pairs of lat/lons. Can be used for filter. A pair is defined as lat,lon. And multiple pairs can be separated by semicolon.",title:"Locations",required:!1,deprecated:!1},longitude:{kind:"parameter",type:"number",description:"Used by the geography search to search by longitude. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Longitude",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},radius:{kind:"parameter",type:"number",description:"Used by the geography search to search by radius. You need to configure all the following options: longitude, latitude, radius, and distanceMetric.",title:"Radius",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},count:{kind:"parameter",type:"integer",defaultValue:"5",description:"Limiting number of results per page.",title:"Count",required:!1,deprecated:!1},filterOld:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Filter out old tweets, that has previously been polled. This state is stored in memory only, and based on last tweet id.",title:"Filter Old",required:!1,deprecated:!1},lang:{kind:"parameter",type:"string",description:"The lang string ISO_639-1 which will be used for searching",title:"Lang",required:!1,deprecated:!1},numberOfPages:{kind:"parameter",type:"integer",defaultValue:"1",description:"The number of pages result which you want camel-twitter to consume.",title:"Number Of Pages",required:!1,deprecated:!1},sinceId:{kind:"parameter",type:"integer",defaultValue:"1",description:"The last tweet id which will be used for pulling the tweets. It is useful when the camel route is restarted after a long running.",title:"Since Id",required:!1,deprecated:!1},userIds:{kind:"parameter",type:"string",description:"To filter by user ids for filter. Multiple values can be separated by comma.",title:"User Ids",required:!1,deprecated:!1},httpProxyHost:{kind:"parameter",type:"string",description:"The http proxy host which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Host",required:!1,deprecated:!1},httpProxyPassword:{kind:"parameter",type:"string",description:"The http proxy password which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Password",required:!1,deprecated:!1},httpProxyPort:{kind:"parameter",type:"integer",description:"The http proxy port which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy Port",required:!1,deprecated:!1},httpProxyUser:{kind:"parameter",type:"string",description:"The http proxy user which can be used for the camel-twitter. Can also be configured on the TwitterComponent level instead.",title:"Http Proxy User",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"duration",defaultValue:"30000",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},accessToken:{kind:"parameter",type:"string",description:"The access token. Can also be configured on the TwitterComponent level instead.",title:"Access Token",required:!1,deprecated:!1},accessTokenSecret:{kind:"parameter",type:"string",description:"The access secret. Can also be configured on the TwitterComponent level instead.",title:"Access Token Secret",required:!1,deprecated:!1},consumerKey:{kind:"parameter",type:"string",description:"The consumer key. Can also be configured on the TwitterComponent level instead.",title:"Consumer Key",required:!1,deprecated:!1},consumerSecret:{kind:"parameter",type:"string",description:"The consumer secret. Can also be configured on the TwitterComponent level instead.",title:"Consumer Secret",required:!1,deprecated:!1},sortById:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Sorts by id, so the oldest are first, and newest last.",title:"Sort By Id",required:!1,deprecated:!1}}},undertow:{type:"object",title:"Undertow",group:"http,networking",icon:"generic24.png",description:"Expose HTTP and WebSocket endpoints and access external HTTP/WebSocket servers.",properties:{httpURI:{kind:"path",type:"string",description:"The url of the HTTP endpoint to use.",title:"Http URI",required:!0,deprecated:!1},useStreaming:{kind:"parameter",type:"boolean",defaultValue:"false",description:"For HTTP endpoint: if true, text and binary messages will be wrapped as java.io.InputStream before they are passed to an Exchange; otherwise they will be passed as byte. For WebSocket endpoint: if true, text and binary messages will be wrapped as java.io.Reader and java.io.InputStream respectively before they are passed to an Exchange; otherwise they will be passed as String and byte respectively.",title:"Use Streaming",required:!1,deprecated:!1},accessLog:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should write access log",title:"Access Log",required:!1,deprecated:!1},httpMethodRestrict:{kind:"parameter",type:"string",description:"Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple methods can be specified separated by comma.",title:"Http Method Restrict",required:!1,deprecated:!1},matchOnUriPrefix:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found.",title:"Match On Uri Prefix",required:!1,deprecated:!1},muteException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side the response's body won't contain the exception's stack trace.",title:"Mute Exception",required:!1,deprecated:!1},optionsEnabled:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.",title:"Options Enabled",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},handlers:{kind:"parameter",type:"string",description:"Specifies a comma-delimited set of io.undertow.server.HttpHandler instances to lookup in your Registry. These handlers are added to the Undertow handler chain (for example, to add security). Important: You can not use different handlers with different Undertow endpoints using the same port number. The handlers is associated to the port number. If you need different handlers, then use different port numbers.",title:"Handlers",required:!1,deprecated:!1},cookieHandler:{kind:"parameter",type:"object",description:"Configure a cookie handler to maintain a HTTP session",title:"Cookie Handler",required:!1,deprecated:!1},keepAlive:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to ensure socket is not closed due to inactivity",title:"Keep Alive",required:!1,deprecated:!1},options:{kind:"parameter",type:"object",description:"Sets additional channel options. The options that can be used are defined in org.xnio.Options. To configure from endpoint uri, then prefix each option with option., such as option.close-abort=true&option.send-buffer=8192",title:"Options",required:!1,deprecated:!1},preserveHostHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"If the option is true, UndertowProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server to reflect the URL called by the upstream client, this allows applications which use the Host header to generate accurate URL's for a proxied service.",title:"Preserve Host Header",required:!1,deprecated:!1},reuseAddresses:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to facilitate socket multiplexing",title:"Reuse Addresses",required:!1,deprecated:!1},tcpNoDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Setting to improve TCP protocol performance",title:"Tcp No Delay",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code.",title:"Throw Exception On Failure",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},accessLogReceiver:{kind:"parameter",type:"object",description:"Which Undertow AccessLogReceiver should be used Will use JBossLoggingAccessLogReceiver if not specified",title:"Access Log Receiver",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},undertowHttpBinding:{kind:"parameter",type:"object",description:"To use a custom UndertowHttpBinding to control the mapping between Camel message and undertow.",title:"Undertow Http Binding",required:!1,deprecated:!1},allowedRoles:{kind:"parameter",type:"string",description:"Configuration used by UndertowSecurityProvider. Comma separated list of allowed roles.",title:"Allowed Roles",required:!1,deprecated:!1},securityConfiguration:{kind:"parameter",type:"object",description:"OConfiguration used by UndertowSecurityProvider. Security configuration object for use from UndertowSecurityProvider. Configuration is UndertowSecurityProvider specific. Each provider decides whether accepts configuration.",title:"Security Configuration",required:!1,deprecated:!1},securityProvider:{kind:"parameter",type:"object",description:"Security provider allows plug in the provider, which will be used to secure requests. SPI approach could be used too (endpoint then finds security provider using SPI).",title:"Security Provider",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1},fireWebSocketChannelEvents:{kind:"parameter",type:"boolean",defaultValue:"false",description:"if true, the consumer will post notifications to the route when a new WebSocket peer connects, disconnects, etc. See UndertowConstants.EVENT_TYPE and EventType.",title:"Fire Web Socket Channel Events",required:!1,deprecated:!1},sendTimeout:{kind:"parameter",type:"integer",defaultValue:"30000",description:"Timeout in milliseconds when sending to a websocket channel. The default timeout is 30000 (30 seconds).",title:"Send Timeout",required:!1,deprecated:!1},sendToAll:{kind:"parameter",type:"boolean",description:"To send to all websocket subscribers. Can be used to configure on endpoint level, instead of having to use the UndertowConstants.SEND_TO_ALL header on the message.",title:"Send To All",required:!1,deprecated:!1}}},validator:{type:"object",title:"Validator",group:"core,validation",icon:"generic24.png",description:"Validate the payload using XML Schema and JAXP Validation.",properties:{resourceUri:{kind:"path",type:"string",description:"URL to a local resource on the classpath, or a reference to lookup a bean in the Registry, or a full URL to a remote resource or resource on the file system which contains the XSD to validate against.",title:"Resource Uri",required:!0,deprecated:!1},failOnNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to fail if no body exists.",title:"Fail On Null Body",required:!1,deprecated:!1},failOnNullHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to fail if no header exists when validating against a header.",title:"Fail On Null Header",required:!1,deprecated:!1},headerName:{kind:"parameter",type:"string",description:"To validate against a header instead of the message body.",title:"Header Name",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},errorHandler:{kind:"parameter",type:"object",description:"To use a custom org.apache.camel.processor.validation.ValidatorErrorHandler. The default error handler captures the errors and throws an exception.",title:"Error Handler",required:!1,deprecated:!1},resourceResolver:{kind:"parameter",type:"object",description:"To use a custom LSResourceResolver. Do not use together with resourceResolverFactory",title:"Resource Resolver",required:!1,deprecated:!1},resourceResolverFactory:{kind:"parameter",type:"object",description:"To use a custom LSResourceResolver which depends on a dynamic endpoint resource URI. The default resource resolver factory resturns a resource resolver which can read files from the class path and file system. Do not use together with resourceResolver.",title:"Resource Resolver Factory",required:!1,deprecated:!1},schemaFactory:{kind:"parameter",type:"object",description:"To use a custom javax.xml.validation.SchemaFactory",title:"Schema Factory",required:!1,deprecated:!1},schemaLanguage:{kind:"parameter",type:"string",defaultValue:"http://www.w3.org/2001/XMLSchema",description:"Configures the W3C XML Schema Namespace URI.",title:"Schema Language",required:!1,deprecated:!1},useSharedSchema:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the Schema instance should be shared or not. This option is introduced to work around a JDK 1.6.x bug. Xerces should not have this issue.",title:"Use Shared Schema",required:!1,deprecated:!1}}},velocity:{type:"object",title:"Velocity",group:"transformation",icon:"generic24.png",description:"Transform messages using a Velocity template.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.",title:"Resource Uri",required:!0,deprecated:!1},allowContextMapAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API.",title:"Allow Context Map All",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Sets whether to use resource content cache or not",title:"Content Cache",required:!1,deprecated:!1},encoding:{kind:"parameter",type:"string",description:"Character encoding of the resource content.",title:"Encoding",required:!1,deprecated:!1},loaderCache:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enables / disables the velocity resource loader cache which is enabled by default",title:"Loader Cache",required:!1,deprecated:!1},propertiesFile:{kind:"parameter",type:"string",description:"The URI of the properties file which is used for VelocityEngine initialization.",title:"Properties File",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},vertx:{type:"object",title:"Vert.x",group:"messaging",icon:"generic24.png",description:"Send and receive messages to/from Vert.x Event Bus.",properties:{address:{kind:"path",type:"string",description:"Sets the event bus address used to communicate",title:"Address",required:!0,deprecated:!1},pubSub:{kind:"parameter",type:"boolean",description:"Whether to use publish/subscribe instead of point to point when sending to a vertx endpoint.",title:"Pub Sub",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"vertx-http":{type:"object",title:"Vert.x HTTP Client",group:"http",icon:"generic24.png",description:"Send requests to external HTTP servers using Vert.x",properties:{httpUri:{kind:"path",type:"string",description:"The HTTP URI to connect to",title:"Http Uri",required:!0,deprecated:!1},connectTimeout:{kind:"parameter",type:"integer",defaultValue:"60000",description:"The amount of time in milliseconds until a connection is established. A timeout value of zero is interpreted as an infinite timeout.",title:"Connect Timeout",required:!1,deprecated:!1},cookieStore:{kind:"parameter",type:"object",defaultValue:"InMemoryCookieStore",description:"A custom CookieStore to use when session management is enabled. If this option is not set then an in-memory CookieStore is used",title:"Cookie Store",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",defaultValue:"VertxHttpHeaderFilterStrategy",description:"A custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},httpMethod:{kind:"parameter",type:"object",enum:["OPTIONS","GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PATCH","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","MKCALENDAR","VERSION_CONTROL","REPORT","CHECKIN","CHECKOUT","UNCHECKOUT","MKWORKSPACE","UPDATE","LABEL","MERGE","BASELINE_CONTROL","MKACTIVITY","ORDERPATCH","ACL","SEARCH"],description:"The HTTP method to use. The HttpMethod header cannot override this option if set",title:"Http Method",required:!1,deprecated:!1},okStatusCodeRange:{kind:"parameter",type:"string",defaultValue:"200-299",description:"The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included",title:"Ok Status Code Range",required:!1,deprecated:!1},responsePayloadAsByteArray:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the response body should be byte or as io.vertx.core.buffer.Buffer",title:"Response Payload As Byte Array",required:!1,deprecated:!1},sessionManagement:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Enables session management via WebClientSession. By default the client is configured to use an in-memory CookieStore. The cookieStore option can be used to override this",title:"Session Management",required:!1,deprecated:!1},throwExceptionOnFailure:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Disable throwing HttpOperationFailedException in case of failed responses from the remote server",title:"Throw Exception On Failure",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"-1",description:"The amount of time in milliseconds after which if the request does not return any data within the timeout period a TimeoutException fails the request. Setting zero or a negative value disables the timeout.",title:"Timeout",required:!1,deprecated:!1},transferException:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was sent back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Camel will deserialize the incoming data from the request to a Java object, which can be a potential security risk.",title:"Transfer Exception",required:!1,deprecated:!1},useCompression:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set whether compression is enabled to handled compressed (E.g gzipped) responses",title:"Use Compression",required:!1,deprecated:!1},vertxHttpBinding:{kind:"parameter",type:"object",description:"A custom VertxHttpBinding which can control how to bind between Vert.x and Camel.",title:"Vertx Http Binding",required:!1,deprecated:!1},webClientOptions:{kind:"parameter",type:"object",description:"Sets customized options for configuring the Vert.x WebClient",title:"Web Client Options",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},proxyHost:{kind:"parameter",type:"string",description:"The proxy server host address",title:"Proxy Host",required:!1,deprecated:!1},proxyPassword:{kind:"parameter",type:"string",description:"The proxy server password if authentication is required",title:"Proxy Password",required:!1,deprecated:!1},proxyPort:{kind:"parameter",type:"integer",description:"The proxy server port",title:"Proxy Port",required:!1,deprecated:!1},proxyType:{kind:"parameter",type:"object",enum:["HTTP","SOCKS4","SOCKS5"],description:"The proxy server type",title:"Proxy Type",required:!1,deprecated:!1},proxyUsername:{kind:"parameter",type:"string",description:"The proxy server username if authentication is required",title:"Proxy Username",required:!1,deprecated:!1},basicAuthPassword:{kind:"parameter",type:"string",description:"The password to use for basic authentication",title:"Basic Auth Password",required:!1,deprecated:!1},basicAuthUsername:{kind:"parameter",type:"string",description:"The user name to use for basic authentication",title:"Basic Auth Username",required:!1,deprecated:!1},bearerToken:{kind:"parameter",type:"string",description:"The bearer token to use for bearer token authentication",title:"Bearer Token",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},"vertx-websocket":{type:"object",title:"Vert.x WebSocket",group:"http,networking",icon:"generic24.png",description:"Expose WebSocket endpoints and connect to remote WebSocket servers using Vert.x",properties:{host:{kind:"path",type:"string",description:"WebSocket hostname, such as localhost or a remote host when in client mode.",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"WebSocket port number to use.",title:"Port",required:!0,deprecated:!1},path:{kind:"path",type:"string",description:"WebSocket path to use.",title:"Path",required:!1,deprecated:!1},allowedOriginPattern:{kind:"parameter",type:"string",description:"Regex pattern to match the origin header sent by WebSocket clients",title:"Allowed Origin Pattern",required:!1,deprecated:!1},allowOriginHeader:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the WebSocket client should add the Origin header to the WebSocket handshake request.",title:"Allow Origin Header",required:!1,deprecated:!1},consumeAsClient:{kind:"parameter",type:"boolean",defaultValue:"false",description:"When set to true, the consumer acts as a WebSocket client, creating exchanges on each received WebSocket event.",title:"Consume As Client",required:!1,deprecated:!1},fireWebSocketConnectionEvents:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the server consumer will create a message exchange when a new WebSocket peer connects or disconnects",title:"Fire Web Socket Connection Events",required:!1,deprecated:!1},maxReconnectAttempts:{kind:"parameter",type:"integer",defaultValue:"0",description:"When consumeAsClient is set to true this sets the maximum number of allowed reconnection attempts to a previously closed WebSocket. A value of 0 (the default) will attempt to reconnect indefinitely.",title:"Max Reconnect Attempts",required:!1,deprecated:!1},originHeaderUrl:{kind:"parameter",type:"string",description:"The value of the Origin header that the WebSocket client should use on the WebSocket handshake request. When not specified, the WebSocket client will automatically determine the value for the Origin from the request URL.",title:"Origin Header Url",required:!1,deprecated:!1},reconnectInitialDelay:{kind:"parameter",type:"integer",defaultValue:"0",description:"When consumeAsClient is set to true this sets the initial delay in milliseconds before attempting to reconnect to a previously closed WebSocket.",title:"Reconnect Initial Delay",required:!1,deprecated:!1},reconnectInterval:{kind:"parameter",type:"integer",defaultValue:"1000",description:"When consumeAsClient is set to true this sets the interval in milliseconds at which reconnecting to a previously closed WebSocket occurs.",title:"Reconnect Interval",required:!1,deprecated:!1},router:{kind:"parameter",type:"object",description:"To use an existing vertx router for the HTTP server",title:"Router",required:!1,deprecated:!1},serverOptions:{kind:"parameter",type:"object",description:"Sets customized options for configuring the HTTP server hosting the WebSocket for the consumer",title:"Server Options",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},clientOptions:{kind:"parameter",type:"object",description:"Sets customized options for configuring the WebSocket client used in the producer",title:"Client Options",required:!1,deprecated:!1},clientSubProtocols:{kind:"parameter",type:"string",description:"Comma separated list of WebSocket subprotocols that the client should use for the Sec-WebSocket-Protocol header",title:"Client Sub Protocols",required:!1,deprecated:!1},sendToAll:{kind:"parameter",type:"boolean",defaultValue:"false",description:"To send to all websocket subscribers. Can be used to configure at the endpoint level, instead of providing the VertxWebsocketConstants.SEND_TO_ALL header on the message. Note that when using this option, the host name specified for the vertx-websocket producer URI must match one used for an existing vertx-websocket consumer. Note that this option only applies when producing messages to endpoints hosted by the vertx-websocket consumer and not to an externally hosted WebSocket.",title:"Send To All",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},sslContextParameters:{kind:"parameter",type:"object",description:"To configure security using SSLContextParameters",title:"Ssl Context Parameters",required:!1,deprecated:!1}}},wasm:{type:"object",title:"Wasm",group:"core,script",icon:"generic24.png",description:"Invoke Wasm functions.",properties:{functionName:{kind:"path",type:"string",description:"The Function Name",title:"Function Name",required:!0,deprecated:!1},module:{kind:"parameter",type:"string",description:"Set the module (the distributable, loadable, and executable unit of code in WebAssembly) resource that provides the producer function.",title:"Module",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},weather:{type:"object",title:"Weather",group:"api",icon:"generic24.png",description:"Poll the weather information from Open Weather Map.",properties:{name:{kind:"path",type:"string",description:"The name value is not used.",title:"Name",required:!0,deprecated:!1},appid:{kind:"parameter",type:"string",description:"APPID ID used to authenticate the user connected to the API Server",title:"Appid",required:!0,deprecated:!1},headerName:{kind:"parameter",type:"string",description:"To store the weather result in this header instead of the message body. This is useable if you want to keep current message body as-is.",title:"Header Name",required:!1,deprecated:!1},language:{kind:"parameter",type:"object",defaultValue:"en",enum:["en","ru","it","es","sp","uk","ua","de","pt","ro","pl","fi","nl","fr","bg","sv","se","zh_tw","zh","zh_cn","tr","hr","ca"],description:"Language of the response.",title:"Language",required:!1,deprecated:!1},mode:{kind:"parameter",type:"object",defaultValue:"JSON",enum:["HTML","JSON","XML"],description:"The output format of the weather data.",title:"Mode",required:!1,deprecated:!1},period:{kind:"parameter",type:"string",description:"If null, the current weather will be returned, else use values of 5, 7, 14 days. Only the numeric value for the forecast period is actually parsed, so spelling, capitalisation of the time period is up to you (its ignored)",title:"Period",required:!1,deprecated:!1},units:{kind:"parameter",type:"object",enum:["IMPERIAL","METRIC"],description:"The units for temperature measurement.",title:"Units",required:!1,deprecated:!1},weatherApi:{kind:"parameter",type:"object",enum:["Current","Station","Hourly","Daily"],description:"The API to use (current, forecast/3 hour, forecast daily, station)",title:"Weather Api",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},geoLocationProvider:{kind:"parameter",type:"object",description:"A custum geolocation provider to determine the longitude and latitude to use when no location information is set. The default implementaion uses the ipstack API and requires geolocationAccessKey and geolocationRequestHostIP",title:"Geo Location Provider",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"To use an existing configured http client (for example with http proxy)",title:"Http Client",required:!1,deprecated:!1},cnt:{kind:"parameter",type:"integer",description:"Number of results to be found",title:"Cnt",required:!1,deprecated:!1},ids:{kind:"parameter",type:"string",description:"List of id's of city/stations. You can separate multiple ids by comma.",title:"Ids",required:!1,deprecated:!1},lat:{kind:"parameter",type:"string",description:"Latitude of location. You can use lat and lon options instead of location. For boxed queries this is the bottom latitude.",title:"Lat",required:!1,deprecated:!1},location:{kind:"parameter",type:"string",description:"If null Camel will try and determine your current location using the geolocation of your ip address, else specify the city,country. For well known city names, Open Weather Map will determine the best fit, but multiple results may be returned. Hence specifying and country as well will return more accurate data. If you specify current as the location then the component will try to get the current latitude and longitude and use that to get the weather details. You can use lat and lon options instead of location.",title:"Location",required:!1,deprecated:!1},lon:{kind:"parameter",type:"string",description:"Longitude of location. You can use lat and lon options instead of location. For boxed queries this is the left longtitude.",title:"Lon",required:!1,deprecated:!1},rightLon:{kind:"parameter",type:"string",description:"For boxed queries this is the right longtitude. Needs to be used in combination with topLat and zoom.",title:"Right Lon",required:!1,deprecated:!1},topLat:{kind:"parameter",type:"string",description:"For boxed queries this is the top latitude. Needs to be used in combination with rightLon and zoom.",title:"Top Lat",required:!1,deprecated:!1},zip:{kind:"parameter",type:"string",description:"Zip-code, e.g. 94040,us",title:"Zip",required:!1,deprecated:!1},zoom:{kind:"parameter",type:"integer",description:"For boxed queries this is the zoom. Needs to be used in combination with rightLon and topLat.",title:"Zoom",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},geolocationAccessKey:{kind:"parameter",type:"string",description:"The geolocation service now needs an accessKey to be used",title:"Geolocation Access Key",required:!0,deprecated:!1},geolocationRequestHostIP:{kind:"parameter",type:"string",description:"The geolocation service now needs to specify the IP associated to the accessKey you're using",title:"Geolocation Request Host IP",required:!0,deprecated:!1}}},web3j:{type:"object",title:"Web3j Ethereum Blockchain",group:"blockchain",icon:"generic24.png",description:"Interact with Ethereum nodes using web3j client API.",properties:{nodeAddress:{kind:"path",type:"string",description:"Sets the node address used to communicate",title:"Node Address",required:!0,deprecated:!1},addresses:{kind:"parameter",type:"array",description:"Contract address or a list of addresses.",title:"Addresses",required:!1,deprecated:!1},fromAddress:{kind:"parameter",type:"string",description:"The address the transaction is send from",title:"From Address",required:!1,deprecated:!1},fromBlock:{kind:"parameter",type:"string",defaultValue:"latest",description:"The block number, or the string latest for the last mined block or pending, earliest for not yet mined transactions.",title:"From Block",required:!1,deprecated:!1},fullTransactionObjects:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true it returns the full transaction objects, if false only the hashes of the transactions.",title:"Full Transaction Objects",required:!1,deprecated:!1},gasLimit:{kind:"parameter",type:"object",description:"The maximum gas allowed in this block.",title:"Gas Limit",required:!1,deprecated:!1},privateFor:{kind:"parameter",type:"array",description:"A transaction privateFor nodes with public keys in a Quorum network",title:"Private For",required:!1,deprecated:!1},quorumAPI:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, this will support Quorum API.",title:"Quorum API",required:!1,deprecated:!1},toAddress:{kind:"parameter",type:"string",description:"The address the transaction is directed to.",title:"To Address",required:!1,deprecated:!1},toBlock:{kind:"parameter",type:"string",defaultValue:"latest",description:"The block number, or the string latest for the last mined block or pending, earliest for not yet mined transactions.",title:"To Block",required:!1,deprecated:!1},topics:{kind:"parameter",type:"string",description:"Topics are order-dependent. Each topic can also be a list of topics. Specify multiple topics separated by comma.",title:"Topics",required:!1,deprecated:!1},web3j:{kind:"parameter",type:"object",description:"The preconfigured Web3j object.",title:"Web3j",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},address:{kind:"parameter",type:"string",description:"Contract address.",title:"Address",required:!1,deprecated:!1},atBlock:{kind:"parameter",type:"string",defaultValue:"latest",description:"The block number, or the string latest for the last mined block or pending, earliest for not yet mined transactions.",title:"At Block",required:!1,deprecated:!1},blockHash:{kind:"parameter",type:"string",description:"Hash of the block where this transaction was in.",title:"Block Hash",required:!1,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"A random hexadecimal(32 bytes) ID identifying the client.",title:"Client Id",required:!1,deprecated:!1},data:{kind:"parameter",type:"string",description:"The compiled code of a contract OR the hash of the invoked method signature and encoded parameters.",title:"Data",required:!1,deprecated:!1},databaseName:{kind:"parameter",type:"string",description:"The local database name.",title:"Database Name",required:!1,deprecated:!1},filterId:{kind:"parameter",type:"object",description:"The filter id to use.",title:"Filter Id",required:!1,deprecated:!1},gasPrice:{kind:"parameter",type:"object",description:"Gas price used for each paid gas.",title:"Gas Price",required:!1,deprecated:!1},hashrate:{kind:"parameter",type:"string",description:"A hexadecimal string representation (32 bytes) of the hash rate.",title:"Hashrate",required:!1,deprecated:!1},headerPowHash:{kind:"parameter",type:"string",description:"The header's pow-hash (256 bits) used for submitting a proof-of-work solution.",title:"Header Pow Hash",required:!1,deprecated:!1},index:{kind:"parameter",type:"object",description:"The transactions/uncle index position in the block.",title:"Index",required:!1,deprecated:!1},keyName:{kind:"parameter",type:"string",description:"The key name in the database.",title:"Key Name",required:!1,deprecated:!1},mixDigest:{kind:"parameter",type:"string",description:"The mix digest (256 bits) used for submitting a proof-of-work solution.",title:"Mix Digest",required:!1,deprecated:!1},nonce:{kind:"parameter",type:"string",description:"The nonce found (64 bits) used for submitting a proof-of-work solution.",title:"Nonce",required:!1,deprecated:!1},operation:{kind:"parameter",type:"string",defaultValue:"transaction",description:"Operation to use.",title:"Operation",required:!1,deprecated:!1},position:{kind:"parameter",type:"object",description:"The transaction index position withing a block.",title:"Position",required:!1,deprecated:!1},priority:{kind:"parameter",type:"object",description:"The priority of a whisper message.",title:"Priority",required:!1,deprecated:!1},sha3HashOfDataToSign:{kind:"parameter",type:"string",description:"Message to sign by calculating an Ethereum specific signature.",title:"Sha3 Hash Of Data To Sign",required:!1,deprecated:!1},signedTransactionData:{kind:"parameter",type:"string",description:"The signed transaction data for a new message call transaction or a contract creation for signed transactions.",title:"Signed Transaction Data",required:!1,deprecated:!1},sourceCode:{kind:"parameter",type:"string",description:"The source code to compile.",title:"Source Code",required:!1,deprecated:!1},transactionHash:{kind:"parameter",type:"string",description:"The information about a transaction requested by transaction hash.",title:"Transaction Hash",required:!1,deprecated:!1},ttl:{kind:"parameter",type:"object",description:"The time to live in seconds of a whisper message.",title:"Ttl",required:!1,deprecated:!1},value:{kind:"parameter",type:"object",description:"The value sent within a transaction.",title:"Value",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},webhook:{type:"object",title:"Webhook",group:"cloud",icon:"generic24.png",description:"Expose webhook endpoints to receive push notifications for other Camel components.",properties:{endpointUri:{kind:"path",type:"string",description:"The delegate uri. Must belong to a component that supports webhooks.",title:"Endpoint Uri",required:!0,deprecated:!1},webhookAutoRegister:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Automatically register the webhook at startup and unregister it on shutdown.",title:"Webhook Auto Register",required:!1,deprecated:!1},webhookBasePath:{kind:"parameter",type:"string",description:"The first (base) path element where the webhook will be exposed. It's a good practice to set it to a random string, so that it cannot be guessed by unauthorized parties.",title:"Webhook Base Path",required:!1,deprecated:!1},webhookComponentName:{kind:"parameter",type:"string",description:"The Camel Rest component to use for the REST transport, such as netty-http.",title:"Webhook Component Name",required:!1,deprecated:!1},webhookExternalUrl:{kind:"parameter",type:"string",description:"The URL of the current service as seen by the webhook provider",title:"Webhook External Url",required:!1,deprecated:!1},webhookPath:{kind:"parameter",type:"string",description:"The path where the webhook endpoint will be exposed (relative to basePath, if any)",title:"Webhook Path",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}},whatsapp:{type:"object",title:"WhatsApp",group:"cloud,api,chat",icon:"generic24.png",description:"Send messages to WhatsApp.",properties:{phoneNumberId:{kind:"path",type:"string",description:"The phone number ID taken from whatsapp-business dashboard.",title:"Phone Number Id",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},apiVersion:{kind:"parameter",type:"string",description:"Facebook graph api version.",title:"Api Version",required:!1,deprecated:!1},baseUri:{kind:"parameter",type:"string",description:"Can be used to set an alternative base URI, e.g. when you want to test the component against a mock WhatsApp API",title:"Base Uri",required:!1,deprecated:!1},httpClient:{kind:"parameter",type:"object",description:"HttpClient implementation",title:"Http Client",required:!1,deprecated:!1},webhookPath:{kind:"parameter",type:"string",defaultValue:"webhook",description:"Webhook path",title:"Webhook Path",required:!1,deprecated:!1},webhookVerifyToken:{kind:"parameter",type:"string",description:"Webhook verify token",title:"Webhook Verify Token",required:!1,deprecated:!1},whatsappService:{kind:"parameter",type:"object",description:"WhatsApp service implementation",title:"Whatsapp Service",required:!1,deprecated:!1},authorizationToken:{kind:"parameter",type:"string",description:"The authorization access token taken from whatsapp-business dashboard.",title:"Authorization Token",required:!0,deprecated:!1}}},wordpress:{type:"object",title:"Wordpress",group:"cloud,api,cms",icon:"generic24.png",description:"Manage posts and users using Wordpress API.",properties:{operation:{kind:"path",type:"string",enum:["post","user"],description:"The endpoint operation.",title:"Operation",required:!0,deprecated:!1},operationDetail:{kind:"path",type:"string",enum:["delete"],description:"The second part of an endpoint operation. Needed only when endpoint semantic is not enough, like wordpress:post:delete",title:"Operation Detail",required:!1,deprecated:!1},apiVersion:{kind:"parameter",type:"string",defaultValue:"2",description:"The Wordpress REST API version",title:"Api Version",required:!1,deprecated:!1},criteria:{kind:"parameter",type:"object",description:"The criteria to use with complex searches.",title:"Criteria",required:!1,deprecated:!1},force:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to bypass trash and force deletion.",title:"Force",required:!1,deprecated:!1},id:{kind:"parameter",type:"integer",description:"The entity ID. Should be passed when the operation performed requires a specific entity, e.g. deleting a post",title:"Id",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password from authorized user",title:"Password",required:!1,deprecated:!1},searchCriteria:{kind:"parameter",type:"object",description:"Search criteria",title:"Search Criteria",required:!1,deprecated:!1},url:{kind:"parameter",type:"string",description:"The Wordpress API URL from your site, e.g. http://myblog.com/wp-json/",title:"Url",required:!0,deprecated:!1},user:{kind:"parameter",type:"string",description:"Authorized user to perform writing operations",title:"User",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},workday:{type:"object",title:"Workday",group:"cloud,api,saas",icon:"generic24.png",description:"Detect and parse documents using Workday.",properties:{entity:{kind:"path",type:"object",enum:["report","commonAPI"],description:"The entity to be requested or subscribed via API.",title:"Entity",required:!0,deprecated:!1},path:{kind:"path",type:"string",description:"The API path to access an entity structure.",title:"Path",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},httpConnectionManager:{kind:"parameter",type:"object",description:"Pool connection manager for advanced configuration.",title:"Http Connection Manager",required:!1,deprecated:!1},reportFormat:{kind:"parameter",type:"string",defaultValue:"json",enum:["json"],description:"Workday Report as a service output format.",title:"Report Format",required:!1,deprecated:!1},host:{kind:"parameter",type:"string",description:"Workday Host name.",title:"Host",required:!0,deprecated:!1},clientId:{kind:"parameter",type:"string",description:"Workday client Id generated by API client for integrations.",title:"Client Id",required:!0,deprecated:!1},clientSecret:{kind:"parameter",type:"string",description:"Workday client Secret generated by API client for integrations.",title:"Client Secret",required:!0,deprecated:!1},tokenRefresh:{kind:"parameter",type:"string",description:"Workday token Refresh generated for integrations system user.",title:"Token Refresh",required:!0,deprecated:!1},tenant:{kind:"parameter",type:"string",description:"Workday Tenant name.",title:"Tenant",required:!0,deprecated:!1}}},xchange:{type:"object",title:"XChange",group:"blockchain",icon:"generic24.png",description:"Access market data and trade on Bitcoin and Altcoin exchanges.",properties:{name:{kind:"path",type:"string",description:"The exchange to connect to",title:"Name",required:!0,deprecated:!1},currency:{kind:"parameter",type:"object",description:"The currency",title:"Currency",required:!1,deprecated:!1},currencyPair:{kind:"parameter",type:"string",description:"The currency pair",title:"Currency Pair",required:!1,deprecated:!1},method:{kind:"parameter",type:"object",enum:["balances","fundingHistory","wallets","currencies","currencyMetaData","currencyPairs","currencyPairMetaData","ticker"],description:"The method to execute",title:"Method",required:!0,deprecated:!1},service:{kind:"parameter",type:"object",enum:["marketdata","metadata","account"],description:"The service to call",title:"Service",required:!0,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},xj:{type:"object",title:"XJ",group:"transformation",icon:"generic24.png",description:"Transform JSON and XML message using a XSLT.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the template. The following is supported by the default URIResolver. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod",title:"Resource Uri",required:!0,deprecated:!1},allowStAX:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using StAX as the javax.xml.transform.Source. You can enable this if the XSLT library supports StAX such as the Saxon library (camel-saxon). The Xalan library (default in JVM) does not support StAXSource.",title:"Allow StAX",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Cache for the resource content (the stylesheet file) when it is loaded on startup. If set to false Camel will reload the stylesheet file on each message processing. This is good for development. A cached stylesheet can be forced to reload at runtime via JMX using the clearCachedStylesheet operation.",title:"Content Cache",required:!1,deprecated:!1},deleteOutputFile:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If you have output=file then this option dictates whether or not the output file should be deleted when the Exchange is done processing. For example suppose the output file is a temporary file, then it can be a good idea to delete it after use.",title:"Delete Output File",required:!1,deprecated:!1},failOnNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to throw an exception if the input body is null.",title:"Fail On Null Body",required:!1,deprecated:!1},output:{kind:"parameter",type:"object",defaultValue:"string",enum:["string","bytes","DOM","file"],description:"Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key XsltConstants.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime.",title:"Output",required:!1,deprecated:!1},transformDirection:{kind:"parameter",type:"object",enum:["XML2JSON","JSON2XML"],description:"Transform direction. Either XML2JSON or JSON2XML",title:"Transform Direction",required:!0,deprecated:!1},transformerCacheSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The number of javax.xml.transform.Transformer object that are cached for reuse to avoid calls to Template.newTransformer().",title:"Transformer Cache Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},entityResolver:{kind:"parameter",type:"object",description:"To use a custom org.xml.sax.EntityResolver with javax.xml.transform.sax.SAXSource.",title:"Entity Resolver",required:!1,deprecated:!1},errorListener:{kind:"parameter",type:"object",description:"Allows to configure to use a custom javax.xml.transform.ErrorListener. Beware when doing this then the default error listener which captures any errors or fatal errors and store information on the Exchange as properties is not in use. So only use this option for special use-cases.",title:"Error Listener",required:!1,deprecated:!1},resultHandlerFactory:{kind:"parameter",type:"object",description:"Allows you to use a custom org.apache.camel.builder.xml.ResultHandlerFactory which is capable of using custom org.apache.camel.builder.xml.ResultHandler types.",title:"Result Handler Factory",required:!1,deprecated:!1},saxonConfiguration:{kind:"parameter",type:"object",description:"To use a custom Saxon configuration",title:"Saxon Configuration",required:!1,deprecated:!1},saxonExtensionFunctions:{kind:"parameter",type:"string",description:"Allows you to use a custom net.sf.saxon.lib.ExtensionFunctionDefinition. You would need to add camel-saxon to the classpath. The function is looked up in the registry, where you can comma to separate multiple values to lookup.",title:"Saxon Extension Functions",required:!1,deprecated:!1},secureProcessing:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Feature for XML secure processing (see javax.xml.XMLConstants). This is enabled by default. However, when using Saxon Professional you may need to turn this off to allow Saxon to be able to use Java extension functions.",title:"Secure Processing",required:!1,deprecated:!1},transformerFactory:{kind:"parameter",type:"object",description:"To use a custom XSLT transformer factory",title:"Transformer Factory",required:!1,deprecated:!1},transformerFactoryClass:{kind:"parameter",type:"string",description:"To use a custom XSLT transformer factory, specified as a FQN class name",title:"Transformer Factory Class",required:!1,deprecated:!1},transformerFactoryConfigurationStrategy:{kind:"parameter",type:"object",description:"A configuration strategy to apply on freshly created instances of TransformerFactory.",title:"Transformer Factory Configuration Strategy",required:!1,deprecated:!1},uriResolver:{kind:"parameter",type:"object",description:"To use a custom javax.xml.transform.URIResolver",title:"Uri Resolver",required:!1,deprecated:!1},xsltMessageLogger:{kind:"parameter",type:"object",description:"A consumer to messages generated during XSLT transformations.",title:"Xslt Message Logger",required:!1,deprecated:!1}}},"xmlsecurity-sign":{type:"object",title:"XML Security Sign",group:"security,transformation",icon:"generic24.png",description:"Sign XML payloads using the XML signature specification.",properties:{name:{kind:"path",type:"string",description:"The name part in the URI can be chosen by the user to distinguish between different signer endpoints within the camel context.",title:"Name",required:!0,deprecated:!1},addKeyInfoReference:{kind:"parameter",type:"boolean",defaultValue:"true",description:"In order to protect the KeyInfo element from tampering you can add a reference to the signed info element so that it is protected via the signature value. The default value is true. Only relevant when a KeyInfo is returned by KeyAccessor. and KeyInfo#getId() is not null.",title:"Add Key Info Reference",required:!1,deprecated:!1},baseUri:{kind:"parameter",type:"string",description:"You can set a base URI which is used in the URI dereferencing. Relative URIs are then concatenated with the base URI.",title:"Base Uri",required:!1,deprecated:!1},canonicalizationMethod:{kind:"parameter",type:"object",defaultValue:"http://www.w3.org/TR/2001/REC-xml-c14n-20010315",description:"Canonicalization method used to canonicalize the SignedInfo element before the digest is calculated. You can use the helper methods XmlSignatureHelper.getCanonicalizationMethod(String algorithm) or getCanonicalizationMethod(String algorithm, List inclusiveNamespacePrefixes) to create a canonicalization method.",title:"Canonicalization Method",required:!1,deprecated:!1},clearHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Determines if the XML signature specific headers be cleared after signing and verification. Defaults to true.",title:"Clear Headers",required:!1,deprecated:!1},contentObjectId:{kind:"parameter",type:"string",description:"Sets the content object Id attribute value. By default a UUID is generated. If you set the null value, then a new UUID will be generated. Only used in the enveloping case.",title:"Content Object Id",required:!1,deprecated:!1},contentReferenceType:{kind:"parameter",type:"string",description:"Type of the content reference. The default value is null. This value can be overwritten by the header XmlSignatureConstants#HEADER_CONTENT_REFERENCE_TYPE.",title:"Content Reference Type",required:!1,deprecated:!1},contentReferenceUri:{kind:"parameter",type:"string",description:"Reference URI for the content to be signed. Only used in the enveloped case. If the reference URI contains an ID attribute value, then the resource schema URI ( setSchemaResourceUri(String)) must also be set because the schema validator will then find out which attributes are ID attributes. Will be ignored in the enveloping or detached case.",title:"Content Reference Uri",required:!1,deprecated:!1},cryptoContextProperties:{kind:"parameter",type:"object",description:"Sets the crypto context properties. See {link XMLCryptoContext#setProperty(String, Object)}. Possible properties are defined in XMLSignContext an XMLValidateContext (see Supported Properties). The following properties are set by default to the value Boolean#TRUE for the XML validation. If you want to switch these features off you must set the property value to Boolean#FALSE. org.jcp.xml.dsig.validateManifests javax.xml.crypto.dsig.cacheReference",title:"Crypto Context Properties",required:!1,deprecated:!1},digestAlgorithm:{kind:"parameter",type:"string",description:"Digest algorithm URI. Optional parameter. This digest algorithm is used for calculating the digest of the input message. If this digest algorithm is not specified then the digest algorithm is calculated from the signature algorithm. Example: http://www.w3.org/2001/04/xmlenc#sha256",title:"Digest Algorithm",required:!1,deprecated:!1},disallowDoctypeDecl:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Disallows that the incoming XML document contains DTD DOCTYPE declaration. The default value is Boolean#TRUE.",title:"Disallow Doctype Decl",required:!1,deprecated:!1},keyAccessor:{kind:"parameter",type:"object",description:"For the signing process, a private key is necessary. You specify a key accessor bean which provides this private key. The key accessor bean must implement the KeyAccessor interface. The package org.apache.camel.component.xmlsecurity.api contains the default implementation class DefaultKeyAccessor which reads the private key from a Java keystore.",title:"Key Accessor",required:!1,deprecated:!1},omitXmlDeclaration:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicator whether the XML declaration in the outgoing message body should be omitted. Default value is false. Can be overwritten by the header XmlSignatureConstants#HEADER_OMIT_XML_DECLARATION.",title:"Omit Xml Declaration",required:!1,deprecated:!1},outputXmlEncoding:{kind:"parameter",type:"string",description:"The character encoding of the resulting signed XML document. If null then the encoding of the original XML document is used.",title:"Output Xml Encoding",required:!1,deprecated:!1},parentLocalName:{kind:"parameter",type:"string",description:"Local name of the parent element to which the XML signature element will be added. Only relevant for enveloped XML signature. Alternatively you can also use setParentXpath(XPathFilterParameterSpec). Default value is null. The value must be null for enveloping and detached XML signature. This parameter or the parameter setParentXpath(XPathFilterParameterSpec) for enveloped signature and the parameter setXpathsToIdAttributes(List) for detached signature must not be set in the same configuration. If the parameters parentXpath and parentLocalName are specified in the same configuration then an exception is thrown.",title:"Parent Local Name",required:!1,deprecated:!1},parentNamespace:{kind:"parameter",type:"string",description:"Namespace of the parent element to which the XML signature element will be added.",title:"Parent Namespace",required:!1,deprecated:!1},parentXpath:{kind:"parameter",type:"object",description:"Sets the XPath to find the parent node in the enveloped case. Either you specify the parent node via this method or the local name and namespace of the parent with the methods setParentLocalName(String) and setParentNamespace(String). Default value is null. The value must be null for enveloping and detached XML signature. If the parameters parentXpath and parentLocalName are specified in the same configuration then an exception is thrown.",title:"Parent Xpath",required:!1,deprecated:!1},plainText:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicator whether the message body contains plain text. The default value is false, indicating that the message body contains XML. The value can be overwritten by the header XmlSignatureConstants#HEADER_MESSAGE_IS_PLAIN_TEXT.",title:"Plain Text",required:!1,deprecated:!1},plainTextEncoding:{kind:"parameter",type:"string",defaultValue:"UTF-8",description:"Encoding of the plain text. Only relevant if the message body is plain text (see parameter plainText. Default value is UTF-8.",title:"Plain Text Encoding",required:!1,deprecated:!1},prefixForXmlSignatureNamespace:{kind:"parameter",type:"string",defaultValue:"ds",description:"Namespace prefix for the XML signature namespace http://www.w3.org/2000/09/xmldsig#. Default value is ds. If null or an empty value is set then no prefix is used for the XML signature namespace. See best practice http://www.w3.org/TR/xmldsig-bestpractices/#signing-xml- without-namespaces",title:"Prefix For Xml Signature Namespace",required:!1,deprecated:!1},properties:{kind:"parameter",type:"object",description:"For adding additional References and Objects to the XML signature which contain additional properties, you can provide a bean which implements the XmlSignatureProperties interface.",title:"Properties",required:!1,deprecated:!1},schemaResourceUri:{kind:"parameter",type:"string",description:"Classpath to the XML Schema. Must be specified in the detached XML Signature case for determining the ID attributes, might be set in the enveloped and enveloping case. If set, then the XML document is validated with the specified XML schema. The schema resource URI can be overwritten by the header XmlSignatureConstants#HEADER_SCHEMA_RESOURCE_URI.",title:"Schema Resource Uri",required:!1,deprecated:!1},signatureAlgorithm:{kind:"parameter",type:"string",defaultValue:"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",description:"Signature algorithm. Default value is http://www.w3.org/2000/09/xmldsig#rsa-sha1.",title:"Signature Algorithm",required:!1,deprecated:!1},signatureId:{kind:"parameter",type:"string",description:"Sets the signature Id. If this parameter is not set (null value) then a unique ID is generated for the signature ID (default). If this parameter is set to (empty string) then no Id attribute is created in the signature element.",title:"Signature Id",required:!1,deprecated:!1},transformMethods:{kind:"parameter",type:"array",description:"Transforms which are executed on the message body before the digest is calculated. By default, C14n is added and in the case of enveloped signature (see option parentLocalName) also http://www.w3.org/2000/09/xmldsig#enveloped-signature is added at position 0 of the list. Use methods in XmlSignatureHelper to create the transform methods.",title:"Transform Methods",required:!1,deprecated:!1},xpathsToIdAttributes:{kind:"parameter",type:"array",description:"Define the elements which are signed in the detached case via XPATH expressions to ID attributes (attributes of type ID). For each element found via the XPATH expression a detached signature is created whose reference URI contains the corresponding attribute value (preceded by '#'). The signature becomes the last sibling of the signed element. Elements with deeper hierarchy level are signed first. You can also set the XPATH list dynamically via the header XmlSignatureConstants#HEADER_XPATHS_TO_ID_ATTRIBUTES. The parameter setParentLocalName(String) or setParentXpath(XPathFilterParameterSpec) for enveloped signature and this parameter for detached signature must not be set in the same configuration.",title:"Xpaths To Id Attributes",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},uriDereferencer:{kind:"parameter",type:"object",description:"If you want to restrict the remote access via reference URIs, you can set an own dereferencer. Optional parameter. If not set the provider default dereferencer is used which can resolve URI fragments, HTTP, file and XPpointer URIs. Attention: The implementation is provider dependent!",title:"Uri Dereferencer",required:!1,deprecated:!1}}},"xmlsecurity-verify":{type:"object",title:"XML Security Verify",group:"security,transformation",icon:"generic24.png",description:"Verify XML payloads using the XML signature specification.",properties:{name:{kind:"path",type:"string",description:"The name part in the URI can be chosen by the user to distinguish between different verify endpoints within the camel context.",title:"Name",required:!0,deprecated:!1},baseUri:{kind:"parameter",type:"string",description:"You can set a base URI which is used in the URI dereferencing. Relative URIs are then concatenated with the base URI.",title:"Base Uri",required:!1,deprecated:!1},clearHeaders:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Determines if the XML signature specific headers be cleared after signing and verification. Defaults to true.",title:"Clear Headers",required:!1,deprecated:!1},cryptoContextProperties:{kind:"parameter",type:"object",description:"Sets the crypto context properties. See {link XMLCryptoContext#setProperty(String, Object)}. Possible properties are defined in XMLSignContext an XMLValidateContext (see Supported Properties). The following properties are set by default to the value Boolean#TRUE for the XML validation. If you want to switch these features off you must set the property value to Boolean#FALSE. org.jcp.xml.dsig.validateManifests javax.xml.crypto.dsig.cacheReference",title:"Crypto Context Properties",required:!1,deprecated:!1},disallowDoctypeDecl:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Disallows that the incoming XML document contains DTD DOCTYPE declaration. The default value is Boolean#TRUE.",title:"Disallow Doctype Decl",required:!1,deprecated:!1},keySelector:{kind:"parameter",type:"object",description:"Provides the key for validating the XML signature.",title:"Key Selector",required:!1,deprecated:!1},omitXmlDeclaration:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicator whether the XML declaration in the outgoing message body should be omitted. Default value is false. Can be overwritten by the header XmlSignatureConstants#HEADER_OMIT_XML_DECLARATION.",title:"Omit Xml Declaration",required:!1,deprecated:!1},outputNodeSearch:{kind:"parameter",type:"object",description:"Sets the output node search value for determining the node from the XML signature document which shall be set to the output message body. The class of the value depends on the type of the output node search. The output node search is forwarded to XmlSignature2Message.",title:"Output Node Search",required:!1,deprecated:!1},outputNodeSearchType:{kind:"parameter",type:"string",defaultValue:"Default",description:"Determines the search type for determining the output node which is serialized into the output message bodyF. See setOutputNodeSearch(Object). The supported default search types you can find in DefaultXmlSignature2Message.",title:"Output Node Search Type",required:!1,deprecated:!1},outputXmlEncoding:{kind:"parameter",type:"string",description:"The character encoding of the resulting signed XML document. If null then the encoding of the original XML document is used.",title:"Output Xml Encoding",required:!1,deprecated:!1},removeSignatureElements:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Indicator whether the XML signature elements (elements with local name Signature and namesapce http://www.w3.org/2000/09/xmldsig#) shall be removed from the document set to the output message. Normally, this is only necessary, if the XML signature is enveloped. The default value is Boolean#FALSE. This parameter is forwarded to XmlSignature2Message. This indicator has no effect if the output node search is of type DefaultXmlSignature2Message#OUTPUT_NODE_SEARCH_TYPE_DEFAULT.F",title:"Remove Signature Elements",required:!1,deprecated:!1},schemaResourceUri:{kind:"parameter",type:"string",description:"Classpath to the XML Schema. Must be specified in the detached XML Signature case for determining the ID attributes, might be set in the enveloped and enveloping case. If set, then the XML document is validated with the specified XML schema. The schema resource URI can be overwritten by the header XmlSignatureConstants#HEADER_SCHEMA_RESOURCE_URI.",title:"Schema Resource Uri",required:!1,deprecated:!1},secureValidation:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Enables secure validation. If true then secure validation is enabled.",title:"Secure Validation",required:!1,deprecated:!1},validationFailedHandler:{kind:"parameter",type:"object",description:"Handles the different validation failed situations. The default implementation throws specific exceptions for the different situations (All exceptions have the package name org.apache.camel.component.xmlsecurity.api and are a sub-class of XmlSignatureInvalidException. If the signature value validation fails, a XmlSignatureInvalidValueException is thrown. If a reference validation fails, a XmlSignatureInvalidContentHashException is thrown. For more detailed information, see the JavaDoc.",title:"Validation Failed Handler",required:!1,deprecated:!1},xmlSignature2Message:{kind:"parameter",type:"object",description:"Bean which maps the XML signature to the output-message after the validation. How this mapping should be done can be configured by the options outputNodeSearchType, outputNodeSearch, and removeSignatureElements. The default implementation offers three possibilities which are related to the three output node search types Default, ElementName, and XPath. The default implementation determines a node which is then serialized and set to the body of the output message If the search type is ElementName then the output node (which must be in this case an element) is determined by the local name and namespace defined in the search value (see option outputNodeSearch). If the search type is XPath then the output node is determined by the XPath specified in the search value (in this case the output node can be of type Element, TextNode or Document). If the output node search type is Default then the following rules apply: In the enveloped XML signature case (there is a reference with URI= and transform http://www.w3.org/2000/09/xmldsig#enveloped-signature), the incoming XML document without the Signature element is set to the output message body. In the non-enveloped XML signature case, the message body is determined from a referenced Object; this is explained in more detail in chapter Output Node Determination in Enveloping XML Signature Case.",title:"Xml Signature2 Message",required:!1,deprecated:!1},xmlSignatureChecker:{kind:"parameter",type:"object",description:"This interface allows the application to check the XML signature before the validation is executed. This step is recommended in http://www.w3.org/TR/xmldsig-bestpractices/#check-what-is-signed",title:"Xml Signature Checker",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},uriDereferencer:{kind:"parameter",type:"object",description:"If you want to restrict the remote access via reference URIs, you can set an own dereferencer. Optional parameter. If not set the provider default dereferencer is used which can resolve URI fragments, HTTP, file and XPpointer URIs. Attention: The implementation is provider dependent!",title:"Uri Dereferencer",required:!1,deprecated:!1}}},xmpp:{type:"object",title:"XMPP",group:"chat,messaging",icon:"generic24.png",description:"Send and receive messages to/from an XMPP chat server.",properties:{host:{kind:"path",type:"string",description:"Hostname for the chat server",title:"Host",required:!0,deprecated:!1},port:{kind:"path",type:"integer",description:"Port number for the chat server",title:"Port",required:!0,deprecated:!1},participant:{kind:"path",type:"string",description:"JID (Jabber ID) of person to receive messages. room parameter has precedence over participant.",title:"Participant",required:!1,deprecated:!1},login:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to login the user.",title:"Login",required:!1,deprecated:!1},nickname:{kind:"parameter",type:"string",description:"Use nickname when joining room. If room is specified and nickname is not, user will be used for the nickname.",title:"Nickname",required:!1,deprecated:!1},pubsub:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Accept pubsub packets on input, default is false",title:"Pubsub",required:!1,deprecated:!1},room:{kind:"parameter",type:"string",description:"If this option is specified, the component will connect to MUC (Multi User Chat). Usually, the domain name for MUC is different from the login domain. For example, if you are supermanjabber.org and want to join the krypton room, then the room URL is kryptonconference.jabber.org. Note the conference part. It is not a requirement to provide the full room JID. If the room parameter does not contain the symbol, the domain part will be discovered and added by Camel",title:"Room",required:!1,deprecated:!1},serviceName:{kind:"parameter",type:"string",description:"The name of the service you are connecting to. For Google Talk, this would be gmail.com.",title:"Service Name",required:!1,deprecated:!1},testConnectionOnStartup:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Specifies whether to test the connection on startup. This is used to ensure that the XMPP client has a valid connection to the XMPP server when the route starts. Camel throws an exception on startup if a connection cannot be established. When this option is set to false, Camel will attempt to establish a lazy connection when needed by a producer, and will poll for a consumer connection until the connection is established. Default is true.",title:"Test Connection On Startup",required:!1,deprecated:!1},createAccount:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If true, an attempt to create an account will be made. Default is false.",title:"Create Account",required:!1,deprecated:!1},resource:{kind:"parameter",type:"string",defaultValue:"Camel",description:"XMPP resource. The default is Camel.",title:"Resource",required:!1,deprecated:!1},connectionPollDelay:{kind:"parameter",type:"integer",defaultValue:"10",description:"The amount of time in seconds between polls (in seconds) to verify the health of the XMPP connection, or between attempts to establish an initial consumer connection. Camel will try to re-establish a connection if it has become inactive. Default is 10 seconds.",title:"Connection Poll Delay",required:!1,deprecated:!1},doc:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Set a doc header on the IN message containing a Document form of the incoming packet; default is true if presence or pubsub are true, otherwise false",title:"Doc",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},connectionConfig:{kind:"parameter",type:"object",description:"To use an existing connection configuration. Currently org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration is only supported (XMPP over TCP).",title:"Connection Config",required:!1,deprecated:!1},headerFilterStrategy:{kind:"parameter",type:"object",description:"To use a custom HeaderFilterStrategy to filter header to and from Camel message.",title:"Header Filter Strategy",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"Password for login",title:"Password",required:!1,deprecated:!1},roomPassword:{kind:"parameter",type:"string",description:"Password for room",title:"Room Password",required:!1,deprecated:!1},user:{kind:"parameter",type:"string",description:"User name (without server name). If not specified, anonymous login will be attempted.",title:"User",required:!1,deprecated:!1}}},xquery:{type:"object",title:"XQuery",group:"transformation",icon:"generic24.png",description:"Query and/or transform XML payloads using XQuery and Saxon.",properties:{resourceUri:{kind:"path",type:"string",description:"The name of the template to load from classpath or file system",title:"Resource Uri",required:!0,deprecated:!1},allowStAX:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow using StAX mode",title:"Allow St AX",required:!1,deprecated:!1},namespacePrefixes:{kind:"parameter",type:"object",description:"Allows to control which namespace prefixes to use for a set of namespace mappings",title:"Namespace Prefixes",required:!1,deprecated:!1},resultsFormat:{kind:"parameter",type:"object",defaultValue:"DOM",enum:["Bytes","BytesSource","DOM","DOMSource","List","String","StringSource"],description:"What output result to use",title:"Results Format",required:!1,deprecated:!1},resultType:{kind:"parameter",type:"string",description:"What output result to use defined as a class",title:"Result Type",required:!1,deprecated:!1},source:{kind:"parameter",type:"string",description:"Source to use, instead of message body. You can prefix with variable:, header:, or property: to specify kind of source. Otherwise, the source is assumed to be a variable. Use empty or null to use default source, which is the message body.",title:"Source",required:!1,deprecated:!1},stripsAllWhiteSpace:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to strip all whitespaces",title:"Strips All White Space",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},configuration:{kind:"parameter",type:"object",description:"To use a custom Saxon configuration",title:"Configuration",required:!1,deprecated:!1},configurationProperties:{kind:"parameter",type:"object",description:"To set custom Saxon configuration properties",title:"Configuration Properties",required:!1,deprecated:!1},moduleURIResolver:{kind:"parameter",type:"object",description:"To use the custom ModuleURIResolver",title:"Module URIResolver",required:!1,deprecated:!1},parameters:{kind:"parameter",type:"object",description:"Additional parameters",title:"Parameters",required:!1,deprecated:!1},properties:{kind:"parameter",type:"object",description:"Properties to configure the serialization parameters",title:"Properties",required:!1,deprecated:!1},staticQueryContext:{kind:"parameter",type:"object",description:"To use a custom Saxon StaticQueryContext",title:"Static Query Context",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1}}},xslt:{type:"object",title:"XSLT",group:"core,transformation",icon:"generic24.png",description:"Transforms XML payload using an XSLT template.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the template. The following is supported by the default URIResolver. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod",title:"Resource Uri",required:!0,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Cache for the resource content (the stylesheet file) when it is loaded on startup. If set to false Camel will reload the stylesheet file on each message processing. This is good for development. A cached stylesheet can be forced to reload at runtime via JMX using the clearCachedStylesheet operation.",title:"Content Cache",required:!1,deprecated:!1},deleteOutputFile:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If you have output=file then this option dictates whether or not the output file should be deleted when the Exchange is done processing. For example suppose the output file is a temporary file, then it can be a good idea to delete it after use.",title:"Delete Output File",required:!1,deprecated:!1},failOnNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to throw an exception if the input body is null.",title:"Fail On Null Body",required:!1,deprecated:!1},output:{kind:"parameter",type:"object",defaultValue:"string",enum:["string","bytes","DOM","file"],description:"Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key XsltConstants.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime.",title:"Output",required:!1,deprecated:!1},transformerCacheSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The number of javax.xml.transform.Transformer object that are cached for reuse to avoid calls to Template.newTransformer().",title:"Transformer Cache Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},entityResolver:{kind:"parameter",type:"object",description:"To use a custom org.xml.sax.EntityResolver with javax.xml.transform.sax.SAXSource.",title:"Entity Resolver",required:!1,deprecated:!1},errorListener:{kind:"parameter",type:"object",description:"Allows to configure to use a custom javax.xml.transform.ErrorListener. Beware when doing this then the default error listener which captures any errors or fatal errors and store information on the Exchange as properties is not in use. So only use this option for special use-cases.",title:"Error Listener",required:!1,deprecated:!1},resultHandlerFactory:{kind:"parameter",type:"object",description:"Allows you to use a custom org.apache.camel.builder.xml.ResultHandlerFactory which is capable of using custom org.apache.camel.builder.xml.ResultHandler types.",title:"Result Handler Factory",required:!1,deprecated:!1},transformerFactory:{kind:"parameter",type:"object",description:"To use a custom XSLT transformer factory",title:"Transformer Factory",required:!1,deprecated:!1},transformerFactoryClass:{kind:"parameter",type:"string",description:"To use a custom XSLT transformer factory, specified as a FQN class name",title:"Transformer Factory Class",required:!1,deprecated:!1},transformerFactoryConfigurationStrategy:{kind:"parameter",type:"object",description:"A configuration strategy to apply on freshly created instances of TransformerFactory.",title:"Transformer Factory Configuration Strategy",required:!1,deprecated:!1},uriResolver:{kind:"parameter",type:"object",description:"To use a custom javax.xml.transform.URIResolver",title:"Uri Resolver",required:!1,deprecated:!1},xsltMessageLogger:{kind:"parameter",type:"object",description:"A consumer to messages generated during XSLT transformations.",title:"Xslt Message Logger",required:!1,deprecated:!1}}},"xslt-saxon":{type:"object",title:"XSLT Saxon",group:"core,transformation",icon:"generic24.png",description:"Transform XML payloads using an XSLT template using Saxon.",properties:{resourceUri:{kind:"path",type:"string",description:"Path to the template. The following is supported by the default URIResolver. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod",title:"Resource Uri",required:!0,deprecated:!1},allowStAX:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether to allow using StAX as the javax.xml.transform.Source. You can enable this if the XSLT library supports StAX such as the Saxon library (camel-saxon). The Xalan library (default in JVM) does not support StAXSource.",title:"Allow StAX",required:!1,deprecated:!1},allowTemplateFromHeader:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.",title:"Allow Template From Header",required:!1,deprecated:!1},contentCache:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Cache for the resource content (the stylesheet file) when it is loaded on startup. If set to false Camel will reload the stylesheet file on each message processing. This is good for development. A cached stylesheet can be forced to reload at runtime via JMX using the clearCachedStylesheet operation.",title:"Content Cache",required:!1,deprecated:!1},deleteOutputFile:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If you have output=file then this option dictates whether or not the output file should be deleted when the Exchange is done processing. For example suppose the output file is a temporary file, then it can be a good idea to delete it after use.",title:"Delete Output File",required:!1,deprecated:!1},failOnNullBody:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether or not to throw an exception if the input body is null.",title:"Fail On Null Body",required:!1,deprecated:!1},output:{kind:"parameter",type:"object",defaultValue:"string",enum:["string","bytes","DOM","file"],description:"Option to specify which output type to use. Possible values are: string, bytes, DOM, file. The first three options are all in memory based, where as file is streamed directly to a java.io.File. For file you must specify the filename in the IN header with the key XsltConstants.XSLT_FILE_NAME which is also CamelXsltFileName. Also any paths leading to the filename must be created beforehand, otherwise an exception is thrown at runtime.",title:"Output",required:!1,deprecated:!1},transformerCacheSize:{kind:"parameter",type:"integer",defaultValue:"0",description:"The number of javax.xml.transform.Transformer object that are cached for reuse to avoid calls to Template.newTransformer().",title:"Transformer Cache Size",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},entityResolver:{kind:"parameter",type:"object",description:"To use a custom org.xml.sax.EntityResolver with javax.xml.transform.sax.SAXSource.",title:"Entity Resolver",required:!1,deprecated:!1},errorListener:{kind:"parameter",type:"object",description:"Allows to configure to use a custom javax.xml.transform.ErrorListener. Beware when doing this then the default error listener which captures any errors or fatal errors and store information on the Exchange as properties is not in use. So only use this option for special use-cases.",title:"Error Listener",required:!1,deprecated:!1},resultHandlerFactory:{kind:"parameter",type:"object",description:"Allows you to use a custom org.apache.camel.builder.xml.ResultHandlerFactory which is capable of using custom org.apache.camel.builder.xml.ResultHandler types.",title:"Result Handler Factory",required:!1,deprecated:!1},saxonConfiguration:{kind:"parameter",type:"object",description:"To use a custom Saxon configuration",title:"Saxon Configuration",required:!1,deprecated:!1},saxonExtensionFunctions:{kind:"parameter",type:"string",description:"Allows you to use a custom net.sf.saxon.lib.ExtensionFunctionDefinition. You would need to add camel-saxon to the classpath. The function is looked up in the registry, where you can comma to separate multiple values to lookup.",title:"Saxon Extension Functions",required:!1,deprecated:!1},secureProcessing:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Feature for XML secure processing (see javax.xml.XMLConstants). This is enabled by default. However, when using Saxon Professional you may need to turn this off to allow Saxon to be able to use Java extension functions.",title:"Secure Processing",required:!1,deprecated:!1},transformerFactory:{kind:"parameter",type:"object",description:"To use a custom XSLT transformer factory",title:"Transformer Factory",required:!1,deprecated:!1},transformerFactoryClass:{kind:"parameter",type:"string",description:"To use a custom XSLT transformer factory, specified as a FQN class name",title:"Transformer Factory Class",required:!1,deprecated:!1},transformerFactoryConfigurationStrategy:{kind:"parameter",type:"object",description:"A configuration strategy to apply on freshly created instances of TransformerFactory.",title:"Transformer Factory Configuration Strategy",required:!1,deprecated:!1},uriResolver:{kind:"parameter",type:"object",description:"To use a custom javax.xml.transform.URIResolver",title:"Uri Resolver",required:!1,deprecated:!1},xsltMessageLogger:{kind:"parameter",type:"object",description:"A consumer to messages generated during XSLT transformations.",title:"Xslt Message Logger",required:!1,deprecated:!1}}},zeebe:{type:"object",title:"Zeebe",group:"workflow,saas",icon:"generic24.png",description:"Zeebe component which does integrage with Camunda Zeebe to interact with the API.",properties:{operationName:{kind:"path",type:"object",enum:["startProcess","cancelProcess","publishMessage","completeJob","failJob","updateJobRetries","worker","throwError","deployResource"],description:"The operation to use",title:"Operation Name",required:!0,deprecated:!1},formatJSON:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Format the result in the body as JSON.",title:"Format JSON",required:!1,deprecated:!1},jobKey:{kind:"parameter",type:"string",description:"JobKey for the job worker.",title:"Job Key",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"10",description:"Timeout for job worker.",title:"Timeout",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},zendesk:{type:"object",title:"Zendesk",group:"cloud,api,saas",icon:"generic24.png",description:"Manage Zendesk tickets, users, organizations, etc.",properties:{methodName:{kind:"path",type:"object",enum:["ADD_TAG_TO_ORGANISATIONS","ADD_TAG_TO_TICKET","ADD_TAG_TO_TOPICS","ASSOCIATE_ATTACHMENTS_TO_ARTICLE","CHANGE_USER_PASSWORD","CREATE_ARTICLE","CREATE_ARTICLE_1","CREATE_ARTICLE_TRANSLATION","CREATE_AUTOMATION","CREATE_CATEGORY","CREATE_CATEGORY_TRANSLATION","CREATE_COMMENT","CREATE_CONTENT_TAG","CREATE_DYNAMIC_CONTENT_ITEM","CREATE_DYNAMIC_CONTENT_ITEM_VARIANT","CREATE_FORUM","CREATE_GROUP","CREATE_GROUP_MEMBERSHIP","CREATE_GROUP_MEMBERSHIP_1","CREATE_MACRO","CREATE_OR_UPDATE_ORGANIZATION","CREATE_OR_UPDATE_USER","CREATE_OR_UPDATE_USERS","CREATE_OR_UPDATE_USERS_1","CREATE_OR_UPDATE_USERS_ASYNC","CREATE_ORGANIZATION","CREATE_ORGANIZATION_MEMBERSHIP","CREATE_ORGANIZATION_MEMBERSHIP_1","CREATE_ORGANIZATION_MEMBERSHIPS","CREATE_ORGANIZATION_MEMBERSHIPS_1","CREATE_ORGANIZATION_MEMBERSHIPS_ASYNC","CREATE_ORGANIZATIONS","CREATE_ORGANIZATIONS_1","CREATE_ORGANIZATIONS_ASYNC","CREATE_PERMISSION_GROUP","CREATE_REQUEST","CREATE_SATISFACTION_RATING","CREATE_SATISFACTION_RATING_1","CREATE_SECTION","CREATE_SECTION_TRANSLATION","CREATE_TARGET","CREATE_TICKET","CREATE_TICKET_ASYNC","CREATE_TICKET_FIELD","CREATE_TICKET_FORM","CREATE_TICKET_FROM_TWEET","CREATE_TICKETS","CREATE_TICKETS_1","CREATE_TICKETS_ASYNC","CREATE_TOPIC","CREATE_TRIGGER","CREATE_UPLOAD","CREATE_UPLOAD_1","CREATE_UPLOAD_2","CREATE_UPLOAD_ARTICLE","CREATE_UPLOAD_ARTICLE_1","CREATE_USER","CREATE_USER_IDENTITY","CREATE_USER_IDENTITY_1","CREATE_USER_SEGMENT","CREATE_USERS","CREATE_USERS_1","CREATE_USERS_ASYNC","DELETE_ARTICLE","DELETE_ARTICLE_ATTACHMENT","DELETE_ARTICLE_ATTACHMENT_1","DELETE_ATTACHMENT","DELETE_ATTACHMENT_1","DELETE_AUTOMATION","DELETE_CATEGORY","DELETE_CONTENT_TAG","DELETE_DYNAMIC_CONTENT_ITEM","DELETE_DYNAMIC_CONTENT_ITEM_VARIANT","DELETE_FORUM","DELETE_GROUP","DELETE_GROUP_1","DELETE_GROUP_MEMBERSHIP","DELETE_GROUP_MEMBERSHIP_1","DELETE_GROUP_MEMBERSHIP_2","DELETE_GROUP_MEMBERSHIP_3","DELETE_ORGANIZATION","DELETE_ORGANIZATION_1","DELETE_ORGANIZATION_MEMBERSHIP","DELETE_ORGANIZATION_MEMBERSHIP_1","DELETE_ORGANIZATION_MEMBERSHIP_2","DELETE_ORGANIZATION_MEMBERSHIPS","DELETE_ORGANIZATIONS","DELETE_PERMISSION_GROUP","DELETE_PERMISSION_GROUP_1","DELETE_SECTION","DELETE_SUSPENDED_TICKET","DELETE_SUSPENDED_TICKET_1","DELETE_TARGET","DELETE_TICKET","DELETE_TICKET_1","DELETE_TICKET_FIELD","DELETE_TICKET_FIELD_1","DELETE_TICKET_FORM","DELETE_TICKET_FORM_1","DELETE_TICKETS","DELETE_TOPIC","DELETE_TRANSLATION","DELETE_TRANSLATION_1","DELETE_TRIGGER","DELETE_UPLOAD","DELETE_UPLOAD_1","DELETE_USER","DELETE_USER_1","DELETE_USER_IDENTITY","DELETE_USER_IDENTITY_1","DELETE_USER_IDENTITY_2","DELETE_USER_SEGMENT","DELETE_USER_SEGMENT_1","DELETE_USERS","GET_ACTIVE_TRIGGERS","GET_ARTICLE","GET_ARTICLE_FROM_SEARCH","GET_ARTICLE_FROM_SEARCH_1","GET_ARTICLE_SUBSCRIPTIONS","GET_ARTICLE_SUBSCRIPTIONS_1","GET_ARTICLE_TRANSLATIONS","GET_ARTICLES","GET_ARTICLES_1","GET_ARTICLES_2","GET_ARTICLES_3","GET_ARTICLES_FROM_ALL_LABELS","GET_ARTICLES_FROM_ANY_LABELS","GET_ARTICLES_FROM_PAGE","GET_ARTICLES_INCREMENTALLY","GET_ASSIGNABLE_GROUP_MEMBERSHIPS","GET_ASSIGNABLE_GROUP_MEMBERSHIPS_1","GET_ASSIGNABLE_GROUPS","GET_ASSIGNED_TICKETS_COUNT_FOR_USER","GET_ATTACHMENT","GET_ATTACHMENT_1","GET_ATTACHMENTS_FROM_ARTICLE","GET_AUTHENTICATED_USER","GET_AUTO_COMPLETE_ORGANIZATIONS","GET_AUTOMATION","GET_AUTOMATIONS","GET_BRANDS","GET_CC_REQUESTS","GET_CATEGORIES","GET_CATEGORY","GET_CATEGORY_TRANSLATIONS","GET_CCD_TICKETS_COUNT_FOR_USER","GET_COMPLIANCE_DELETION_STATUSES","GET_CONTENT_TAG","GET_CONTENT_TAGS","GET_CONTENT_TAGS_1","GET_CONTENT_TAGS_2","GET_CURRENT_USER","GET_CUSTOM_AGENT_ROLES","GET_CUSTOM_TICKET_STATUSES","GET_DELETED_TICKETS","GET_DELETED_TICKETS_1","GET_DYNAMIC_CONTENT_ITEM","GET_DYNAMIC_CONTENT_ITEM_VARIANT","GET_DYNAMIC_CONTENT_ITEM_VARIANTS","GET_DYNAMIC_CONTENT_ITEMS","GET_FORUM","GET_FORUMS","GET_FORUMS_1","GET_GROUP","GET_GROUP_MEMBERSHIP","GET_GROUP_MEMBERSHIP_1","GET_GROUP_MEMBERSHIP_BY_USER","GET_GROUP_MEMBERSHIPS","GET_GROUP_MEMBERSHIPS_1","GET_GROUP_ORGANIZATION","GET_GROUP_USERS","GET_GROUPS","GET_HELP_CENTER_LOCALES","GET_HOLIDAYS_FOR_SCHEDULE","GET_HOLIDAYS_FOR_SCHEDULE_1","GET_INCREMENTAL_TICKETS_RESULT","GET_JOB_STATUS","GET_JOB_STATUS_ASYNC","GET_JOB_STATUSES","GET_JOB_STATUSES_ASYNC","GET_LOCALES","GET_MACRO","GET_MACROS","GET_OPEN_REQUESTS","GET_ORGANIZATION","GET_ORGANIZATION_FIELDS","GET_ORGANIZATION_MEMBERSHIP","GET_ORGANIZATION_MEMBERSHIP_BY_USER","GET_ORGANIZATION_MEMBERSHIP_FOR_USER","GET_ORGANIZATION_MEMBERSHIPS","GET_ORGANIZATION_MEMBERSHIPS_FOR_ORG","GET_ORGANIZATION_MEMBERSHIPS_FOR_USER","GET_ORGANIZATION_REQUESTS","GET_ORGANIZATION_TICKETS","GET_ORGANIZATION_USERS","GET_ORGANIZATIONS","GET_ORGANIZATIONS_1","GET_ORGANIZATIONS_INCREMENTALLY","GET_PERMISSION_GROUP","GET_PERMISSION_GROUPS","GET_RECENT_TICKETS","GET_REQUEST","GET_REQUEST_COMMENT","GET_REQUEST_COMMENT_1","GET_REQUEST_COMMENT_2","GET_REQUEST_COMMENTS","GET_REQUEST_COMMENTS_1","GET_REQUESTS","GET_SATISFACTION_RATING","GET_SATISFACTION_RATINGS","GET_SCHEDULE","GET_SCHEDULE_1","GET_SCHEDULES","GET_SEARCH_TICKET_RESULTS","GET_SECTION","GET_SECTION_SUBSCRIPTIONS","GET_SECTION_SUBSCRIPTIONS_1","GET_SECTION_TRANSLATIONS","GET_SECTIONS","GET_SECTIONS_1","GET_SECTIONS_2","GET_SOLVED_REQUESTS","GET_SUSPENDED_TICKETS","GET_TARGET","GET_TARGETS","GET_TICKET","GET_TICKET_AUDIT","GET_TICKET_AUDIT_1","GET_TICKET_AUDIT_2","GET_TICKET_AUDITS","GET_TICKET_AUDITS_1","GET_TICKET_COLLABORATORS","GET_TICKET_COMMENTS","GET_TICKET_COMMENTS_1","GET_TICKET_FIELD","GET_TICKET_FIELDS","GET_TICKET_FORM","GET_TICKET_FORMS","GET_TICKET_INCIDENTS","GET_TICKET_METRIC","GET_TICKET_METRIC_BY_TICKET","GET_TICKET_METRICS","GET_TICKETS","GET_TICKETS_1","GET_TICKETS_BY_EXTERNAL_ID","GET_TICKETS_BY_EXTERNAL_ID_1","GET_TICKETS_COUNT","GET_TICKETS_COUNT_FOR_ORGANIZATION","GET_TICKETS_FROM_SEARCH","GET_TICKETS_INCREMENTALLY","GET_TICKETS_INCREMENTALLY_1","GET_TIME_ZONES","GET_TOPIC","GET_TOPICS","GET_TOPICS_1","GET_TOPICS_2","GET_TOPICS_3","GET_TOPICS_BY_USER","GET_TRIGGER","GET_TRIGGERS","GET_TRIGGERS_1","GET_TWITTER_MONITORS","GET_USER","GET_USER_CCD_TICKETS","GET_USER_FIELDS","GET_USER_IDENTITIES","GET_USER_IDENTITIES_1","GET_USER_IDENTITY","GET_USER_IDENTITY_1","GET_USER_IDENTITY_2","GET_USER_RELATED_INFO","GET_USER_REQUESTED_TICKETS","GET_USER_REQUESTS","GET_USER_REQUESTS_1","GET_USER_SEGMENT","GET_USER_SEGMENTS","GET_USER_SEGMENTS_1","GET_USER_SEGMENTS_APPLICABLE","GET_USER_SUBSCRIPTIONS","GET_USER_SUBSCRIPTIONS_1","GET_USERS","GET_USERS_1","GET_USERS_BY_EXTERNAL_IDS","GET_USERS_BY_EXTERNAL_IDS_1","GET_USERS_BY_ROLE","GET_USERS_INCREMENTALLY","GET_VIEW","GET_VIEWS","IMPORT_TICKET","IMPORT_TOPIC","LIST_HELP_CENTER_LOCALES","LOOKUP_ORGANIZATIONS_BY_EXTERNAL_ID","LOOKUP_USER_BY_EMAIL","LOOKUP_USER_BY_EXTERNAL_ID","MACROS_SHOW_CHANGES_TO_TICKET","MACROS_SHOW_TICKET_AFTER_CHANGES","MAKE_PRIVATE_TICKET_AUDIT","MAKE_PRIVATE_TICKET_AUDIT_1","MAKE_PRIVATE_TICKET_AUDIT_2","MARK_TICKET_AS_SPAM","MARK_TICKET_AS_SPAM_1","MERGE_USERS","NOTIFY_APP","PERMANENTLY_DELETE_TICKET","PERMANENTLY_DELETE_TICKET_1","PERMANENTLY_DELETE_TICKETS","PERMANENTLY_DELETE_USER","PERMANENTLY_DELETE_USER_1","QUEUE_CREATE_TICKET_ASYNC","REMOVE_TAG_FROM_ORGANISATIONS","REMOVE_TAG_FROM_TICKET","REMOVE_TAG_FROM_TOPICS","REQUEST_VERIFY_USER_IDENTITY","REQUEST_VERIFY_USER_IDENTITY_1","REQUEST_VERIFY_USER_IDENTITY_2","RESET_USER_PASSWORD","RESET_USER_PASSWORD_1","SEARCH_TRIGGERS","SEARCH_TRIGGERS_1","SET_GROUP_MEMBERSHIP_AS_DEFAULT","SET_ORGANIZATION_MEMBERSHIP_AS_DEFAULT","SET_TAG_ON_ORGANISATIONS","SET_TAG_ON_TICKET","SET_TAG_ON_TOPICS","SET_USER_PRIMARY_IDENTITY","SET_USER_PRIMARY_IDENTITY_1","SET_USER_PRIMARY_IDENTITY_2","SHOW_ARTICLE_TRANSLATION","SHOW_CATEGORY_TRANSLATION","SHOW_SECTION_TRANSLATION","SUSPEND_USER","TRUST_TICKET_AUDIT","TRUST_TICKET_AUDIT_1","TRUST_TICKET_AUDIT_2","UNSUSPEND_USER","UPDATE_ARTICLE","UPDATE_ARTICLE_TRANSLATION","UPDATE_AUTOMATION","UPDATE_CATEGORY","UPDATE_CATEGORY_TRANSLATION","UPDATE_CONTENT_TAG","UPDATE_DYNAMIC_CONTENT_ITEM","UPDATE_DYNAMIC_CONTENT_ITEM_VARIANT","UPDATE_FORUM","UPDATE_GROUP","UPDATE_INSTALLATION","UPDATE_MACRO","UPDATE_ORGANIZATION","UPDATE_ORGANIZATIONS","UPDATE_ORGANIZATIONS_1","UPDATE_ORGANIZATIONS_ASYNC","UPDATE_PERMISSION_GROUP","UPDATE_REQUEST","UPDATE_SECTION","UPDATE_SECTION_TRANSLATION","UPDATE_TICKET","UPDATE_TICKET_FIELD","UPDATE_TICKET_FORM","UPDATE_TICKETS","UPDATE_TICKETS_1","UPDATE_TICKETS_ASYNC","UPDATE_TOPIC","UPDATE_TRIGGER","UPDATE_USER","UPDATE_USER_IDENTITY","UPDATE_USER_IDENTITY_1","UPDATE_USER_SEGMENT","UPDATE_USERS","UPDATE_USERS_1","UPDATE_USERS_ASYNC","VERIFY_USER_IDENTITY","VERIFY_USER_IDENTITY_1","VERIFY_USER_IDENTITY_2"],description:"What operation to use",title:"Method Name",required:!0,deprecated:!1},inBody:{kind:"parameter",type:"string",description:"Sets the name of a parameter to be passed in the exchange In Body",title:"In Body",required:!1,deprecated:!1},serverUrl:{kind:"parameter",type:"string",description:"The server URL to connect.",title:"Server Url",required:!1,deprecated:!1},sendEmptyMessageWhenIdle:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",title:"Send Empty Message When Idle",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},pollStrategy:{kind:"parameter",type:"object",description:"A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",title:"Poll Strategy",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1},backoffErrorThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",title:"Backoff Error Threshold",required:!1,deprecated:!1},backoffIdleThreshold:{kind:"parameter",type:"integer",description:"The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",title:"Backoff Idle Threshold",required:!1,deprecated:!1},backoffMultiplier:{kind:"parameter",type:"integer",description:"To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.",title:"Backoff Multiplier",required:!1,deprecated:!1},delay:{kind:"parameter",type:"integer",defaultValue:"500",description:"Milliseconds before the next poll.",title:"Delay",required:!1,deprecated:!1},greedy:{kind:"parameter",type:"boolean",defaultValue:"false",description:"If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",title:"Greedy",required:!1,deprecated:!1},initialDelay:{kind:"parameter",type:"integer",defaultValue:"1000",description:"Milliseconds before the first poll starts.",title:"Initial Delay",required:!1,deprecated:!1},repeatCount:{kind:"parameter",type:"integer",defaultValue:"0",description:"Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",title:"Repeat Count",required:!1,deprecated:!1},runLoggingLevel:{kind:"parameter",type:"object",defaultValue:"TRACE",enum:["TRACE","DEBUG","INFO","WARN","ERROR","OFF"],description:"The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.",title:"Run Logging Level",required:!1,deprecated:!1},scheduledExecutorService:{kind:"parameter",type:"object",description:"Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",title:"Scheduled Executor Service",required:!1,deprecated:!1},scheduler:{kind:"parameter",type:"object",defaultValue:"none",description:"To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",title:"Scheduler",required:!1,deprecated:!1},schedulerProperties:{kind:"parameter",type:"object",description:"To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",title:"Scheduler Properties",required:!1,deprecated:!1},startScheduler:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Whether the scheduler should be auto started.",title:"Start Scheduler",required:!1,deprecated:!1},timeUnit:{kind:"parameter",type:"object",defaultValue:"MILLISECONDS",enum:["NANOSECONDS","MICROSECONDS","MILLISECONDS","SECONDS","MINUTES","HOURS","DAYS"],description:"Time unit for initialDelay and delay options.",title:"Time Unit",required:!1,deprecated:!1},useFixedDelay:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",title:"Use Fixed Delay",required:!1,deprecated:!1},oauthToken:{kind:"parameter",type:"string",description:"The OAuth token.",title:"Oauth Token",required:!1,deprecated:!1},password:{kind:"parameter",type:"string",description:"The password.",title:"Password",required:!1,deprecated:!1},token:{kind:"parameter",type:"string",description:"The security token.",title:"Token",required:!1,deprecated:!1},username:{kind:"parameter",type:"string",description:"The user name.",title:"Username",required:!1,deprecated:!1}}},zookeeper:{type:"object",title:"ZooKeeper",group:"clustering,management,bigdata",icon:"generic24.png",description:"Manage ZooKeeper clusters.",properties:{serverUrls:{kind:"path",type:"string",description:"The zookeeper server hosts (multiple servers can be separated by comma)",title:"Server Urls",required:!0,deprecated:!1},path:{kind:"path",type:"string",description:"The node in the ZooKeeper server (aka znode)",title:"Path",required:!0,deprecated:!1},listChildren:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Whether the children of the node should be listed",title:"List Children",required:!1,deprecated:!1},timeout:{kind:"parameter",type:"integer",defaultValue:"5000",description:"The time interval to wait on connection before timing out.",title:"Timeout",required:!1,deprecated:!1},backoff:{kind:"parameter",type:"integer",defaultValue:"5000",description:"The time interval to backoff for after an error before retrying.",title:"Backoff",required:!1,deprecated:!1},repeat:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should changes to the znode be 'watched' and repeatedly processed.",title:"Repeat",required:!1,deprecated:!1},sendEmptyMessageOnDelete:{kind:"parameter",type:"boolean",defaultValue:"true",description:"Upon the delete of a znode, should an empty message be send to the consumer",title:"Send Empty Message On Delete",required:!1,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1},create:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Should the endpoint create the node if it does not currently exist.",title:"Create",required:!1,deprecated:!1},createMode:{kind:"parameter",type:"string",defaultValue:"EPHEMERAL",enum:["PERSISTENT","PERSISTENT_SEQUENTIAL","EPHEMERAL","EPHEMERAL_SEQUENTIAL"],description:"The create mode that should be used for the newly created node",title:"Create Mode",required:!1,deprecated:!1},lazyStartProducer:{kind:"parameter",type:"boolean",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 fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",title:"Lazy Start Producer",required:!1,deprecated:!1}}},"zookeeper-master":{type:"object",title:"ZooKeeper Master",group:"clustering,management,bigdata",icon:"generic24.png",description:"Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.",properties:{groupName:{kind:"path",type:"string",description:"The name of the cluster group to use",title:"Group Name",required:!0,deprecated:!1},consumerEndpointUri:{kind:"path",type:"string",description:"The consumer endpoint to use in master/slave mode",title:"Consumer Endpoint Uri",required:!0,deprecated:!1},bridgeErrorHandler:{kind:"parameter",type:"boolean",defaultValue:"false",description:"Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Bridge Error Handler",required:!1,deprecated:!1},exceptionHandler:{kind:"parameter",type:"object",description:"To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",title:"Exception Handler",required:!1,deprecated:!1},exchangePattern:{kind:"parameter",type:"object",enum:["InOnly","InOut"],description:"Sets the exchange pattern when the consumer creates an exchange.",title:"Exchange Pattern",required:!1,deprecated:!1}}}},u="4.4.0"},84240:(e,t,r)=>{"use strict";var i,n=Object.create,o=Object.defineProperty,a=Object.defineProperties,s=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyDescriptors,d=Object.getOwnPropertyNames,c=Object.getOwnPropertySymbols,p=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,m=(e,t,r)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,f=(e,t)=>{for(var r in t||(t={}))u.call(t,r)&&m(e,r,t[r]);if(c)for(var r of c(t))h.call(t,r)&&m(e,r,t[r]);return e},g=(e,t)=>a(e,l(t)),b=(e,t)=>{for(var r in t)o(e,r,{get:t[r],enumerable:!0})},y=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of d(t))u.call(e,n)||n===r||o(e,n,{get:()=>t[n],enumerable:!(i=s(t,n))||i.enumerable});return e},v=(e,t,r)=>(y(e,t,"default"),r&&y(r,t,"default")),w=(e,t,r)=>(r=null!=e?n(p(e)):{},y(!t&&e&&e.__esModule?r:o(r,"default",{value:e,enumerable:!0}),e)),A=(e,t,r)=>(m(e,"symbol"!=typeof t?t+"":t,r),r),C=(e,t,r)=>new Promise(((i,n)=>{var o=e=>{try{s(r.next(e))}catch(e){n(e)}},a=e=>{try{s(r.throw(e))}catch(e){n(e)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(o,a);s((r=r.apply(e,t)).next())})),k={};b(k,{ADD:()=>Kp,AttributeModal:()=>oi,AttributeTable:()=>ui,Attributes:()=>si,Chart:()=>ki,DEFAULT_APP_NAME:()=>j,DEFAULT_AUTO_REFRESH:()=>Gr,DEFAULT_LOGIN_TITLE:()=>F,DEFAULT_MAX_COLLECTION_SIZE:()=>zr,DEFAULT_MAX_DEPTH:()=>Vr,DEFAULT_UPDATE_RATE:()=>Ur,DELETE:()=>Yp,EVENT_LOGIN:()=>ie,EVENT_LOGOUT:()=>ne,EVENT_NOTIFY:()=>re,EVENT_PLUGINS_UPDATED:()=>ae,EVENT_REFRESH:()=>oe,HAWTCONFIG_JSON:()=>H,Hawtio:()=>mb,HawtioEmptyCard:()=>Wt,HawtioLoadingCard:()=>Jt,HawtioLoadingPage:()=>Ee,IMPORT:()=>Zp,INITIAL_CONNECTION:()=>Br,Icons:()=>Gi,JmxContentMBeans:()=>tr,JolokiaListMethod:()=>Kr,Logger:()=>N,MBEAN_NODE_ID_SEPARATOR:()=>Ji,MBeanNode:()=>Ki,MBeanTree:()=>Xi,Operations:()=>Hi,PARAM_KEY_CONNECTION:()=>jr,PARAM_KEY_REDIRECT:()=>Fr,PUBLIC_USER:()=>W,PluginNodeSelectionContext:()=>$t,PluginTreeViewToolbar:()=>or,PropertyList:()=>Qi,RESET:()=>Xp,STORAGE_KEY_AUTO_REFRESH:()=>Xr,STORAGE_KEY_CHILD_LOGGERS:()=>q,STORAGE_KEY_JOLOKIA_OPTIONS:()=>Yr,STORAGE_KEY_LOG_LEVEL:()=>O,STORAGE_KEY_UPDATE_RATE:()=>Zr,UPDATE:()=>Qp,__testing__:()=>Y,camel:()=>zp,configManager:()=>V,connect:()=>Gu,connectService:()=>Hr,eventService:()=>se,hawtio:()=>pe,helpRegistry:()=>kt,isUniversalHeaderItem:()=>de,jmx:()=>uh,jolokiaService:()=>ei,keycloak:()=>Ot,logs:()=>Rh,oidc:()=>Ht,preferencesRegistry:()=>tn,quartz:()=>zm,rbac:()=>Jm,reducer:()=>eu,registerPlugins:()=>dg,runtime:()=>kf,springboot:()=>lg,treeProcessorRegistry:()=>Zi,useHawtconfig:()=>me,usePluginNodeSelected:()=>Xt,usePlugins:()=>he,useUser:()=>Z,userService:()=>Q,workspace:()=>en}),e.exports=(i=k,y(o({},"__esModule",{value:!0}),i));var x={};b(x,{DEFAULT_APP_NAME:()=>j,DEFAULT_LOGIN_TITLE:()=>F,EVENT_LOGIN:()=>ie,EVENT_LOGOUT:()=>ne,EVENT_NOTIFY:()=>re,EVENT_PLUGINS_UPDATED:()=>ae,EVENT_REFRESH:()=>oe,HAWTCONFIG_JSON:()=>H,Logger:()=>N,STORAGE_KEY_CHILD_LOGGERS:()=>q,STORAGE_KEY_LOG_LEVEL:()=>O,configManager:()=>V,eventService:()=>se,hawtio:()=>pe,isUniversalHeaderItem:()=>de,useHawtconfig:()=>me,usePlugins:()=>he});var S=w(r(74692)),T={};function E(e){return null==e||"string"==typeof e&&0===e.trim().length}function _(e){return e?`{ ${Object.entries(e).map((([e,t])=>{let r=t;return"password"===e.toLowerCase()?r="string"!=typeof(i=t)?"":i.split("").map((e=>"*")).join(""):"object"==typeof t&&(r=_(r)),`${e}: ${r}`;var i})).join(", ")} }`:"{}"}function I(e,t,r){let i=e.localeCompare(t);return r&&(i*=-1),i}function P(e){return!!e&&(/^true$/i.test(e)||1===parseInt(e))}function M(e){return e.split("-").filter((e=>!E(e))).map((e=>e.replace(/^./,(e=>e.toUpperCase())))).join(" ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\b([A-Z]+)([A-Z])([a-z])/,"$1 $2$3").replace("M Bean","MBean").replace("Mbean","MBean").replace(/^./,(e=>e.toUpperCase())).replace(/ +/," ").trim()}function R(e,t){if(!t.includes("*"))return e===t;const r=t.split("*").map((e=>e.replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1"))).join(".*"),i=new RegExp(`^${r}$`,"i");return null!==e.match(i)}b(T,{Logger:()=>N,STORAGE_KEY_CHILD_LOGGERS:()=>q,STORAGE_KEY_LOG_LEVEL:()=>O});var D=w(r(61586)),B=r(2150);v(T,r(61586));var O="core.logging.logLevel",q="core.logging.childLoggers",N=new class{constructor(){A(this,"TRACE",D.default.TRACE),A(this,"DEBUG",D.default.DEBUG),A(this,"INFO",D.default.INFO),A(this,"TIME",D.default.TIME),A(this,"WARN",D.default.WARN),A(this,"ERROR",D.default.ERROR),A(this,"OFF",D.default.OFF),A(this,"trace",D.default.trace),A(this,"debug",D.default.debug),A(this,"info",D.default.info),A(this,"log",D.default.log),A(this,"warn",D.default.warn),A(this,"error",D.default.error),A(this,"time",D.default.time),A(this,"timeEnd",D.default.timeEnd),A(this,"getLevel",D.default.getLevel),A(this,"enabledFor",D.default.enabledFor),A(this,"useDefaults",D.default.useDefaults),A(this,"setHandler",D.default.setHandler),A(this,"createDefaultHandler",D.default.createDefaultHandler),A(this,"LOG_LEVEL_MAP",{TRACE:this.TRACE,DEBUG:this.DEBUG,INFO:this.INFO,TIME:this.TIME,WARN:this.WARN,ERROR:this.ERROR,OFF:this.OFF}),A(this,"loggers",{});try{const e=this.loadLogLevel();D.default.setLevel(e)}catch(e){console.error("Failed to load log level from local storage:",e)}try{this.loadChildLoggers().forEach((e=>this.get(e.name).setLevel(e.filterLevel)))}catch(e){console.error("Failed to load child loggers from local storage:",e)}this.setHandler(this.createDefaultHandler())}get(e){let t=this.loggers[e];return t||(t=D.default.get(e),this.loggers[e]=t,t)}setLevel(e){const t=this.toLogLevel(e);D.default.setLevel(t),this.saveLogLevel(t)}toLogLevel(e){if("string"!=typeof e)return e;return this.LOG_LEVEL_MAP[e]||(console.error("Unknown log level:",e),this.INFO)}loadLogLevel(){const e=localStorage.getItem(O);return e?JSON.parse(e):this.INFO}saveLogLevel(e){localStorage.setItem(O,JSON.stringify(e))}loadChildLoggers(){const e=localStorage.getItem(q);return e?JSON.parse(e):[]}saveChildLoggers(e){localStorage.setItem(q,JSON.stringify(e))}getChildLoggers(){const e=this.loadChildLoggers();return e.sort(((e,t)=>I(e.name,t.name))),e}getAvailableChildLoggers(){const e=[];Object.values(this.loggers).forEach((t=>{(0,B.is)(t,(0,B.type)({context:(0,B.object)()}))?e.push(t.context):console.error("Logger does not have context:",t)}));const t=this.getChildLoggers(),r=e.filter((e=>!t.some((t=>t.name===e.name))));return r.sort(((e,t)=>I(e.name,t.name))),r}addChildLogger(e){const t=this.getChildLoggers();t.push(e),this.saveChildLoggers(t),this.get(e.name).setLevel(e.filterLevel)}updateChildLogger(e,t){const r=this.toLogLevel(t),i=this.getChildLoggers().map((t=>(t.name===e&&(t.filterLevel=r),t)));this.saveChildLoggers(i),this.get(e).setLevel(r)}removeChildLogger(e){const t=this.getChildLoggers().filter((t=>t.name!==e.name));this.saveChildLoggers(t),this.get(e.name).setLevel(this.getLevel())}},L=N.get("hawtio-core-config"),j="Hawtio Management Console",F="Log in to your account",H="hawtconfig.json",V=new class{constructor(){A(this,"config")}reset(){this.config=void 0}setHawtconfig(e){this.config=Promise.resolve(e)}getHawtconfig(){return this.config||(this.config=this.loadConfig()),this.config}loadConfig(){return C(this,null,(function*(){L.info("Loading",H);try{const e=yield fetch(H);if(!e.ok)return L.error("Failed to fetch",H,"-",e.status,e.statusText),{};const t=yield e.json();return L.debug(H,"=",t),L.info("Loaded",H),t}catch(e){return L.error("Error fetching",H,"-",e),{}}}))}configure(e){return C(this,null,(function*(){const t=yield this.getHawtconfig();e(t)}))}applyBranding(){return C(this,null,(function*(){const{branding:e}=yield this.getHawtconfig();if(!e)return!1;L.info("Apply branding",e);let t=!1;return e.appName&&(L.info("Updating title -",e.appName),document.title=e.appName,t=!0),e.css&&(this.updateHref("#branding",e.css,!0),t=!0),e.favicon&&(this.updateHref("#favicon",e.favicon),t=!0),t}))}updateHref(e,t,r=!1){L.info("Updating href for",e,"-",t,r);const i=(0,S.default)(e);i.prop("disabled",!0),i.attr({href:t}),r&&(i.remove(),(0,S.default)("head").append(i)),i.prop("disabled",!1)}isRouteEnabled(e){return C(this,null,(function*(){const{disabledRoutes:t}=yield this.getHawtconfig();return!t||!t.includes(e)}))}filterEnabledPlugins(e){return C(this,null,(function*(){const t=[];for(const r of e)(yield this.isRouteEnabled(r.path))?t.push(r):L.debug(`Plugin "${r.id}" disabled by hawtconfig.json`);return t}))}addProductInfo(e,t){return C(this,null,(function*(){const r=yield this.getHawtconfig();r.about||(r.about={}),r.about.productInfo||(r.about.productInfo=[]),r.about.productInfo.push({name:e,value:t})}))}},z=N.get("hawtio-auth"),W="public",U="user",G="auth/logout",J=r(44914),K=class{constructor(){A(this,"user"),A(this,"resolveUser",(()=>{})),A(this,"fetchUserHooks",{}),A(this,"logoutHooks",{}),A(this,"token",null),this.user=new Promise((e=>{this.resolveUser=e}))}addFetchUserHook(e,t){this.fetchUserHooks[e]=t}addLogoutHook(e,t){this.logoutHooks[e]=t}fetchUser(e=!0,t){return C(this,null,(function*(){for(const[e,r]of Object.entries(this.fetchUserHooks)){const i=yield r(this.resolveUser,t);if(t&&!t())return;if(z.debug("Invoke fetch user hook",e,": resolved =",i),i)return void se.login()}try{const t=yield fetch(U);if(!t.ok)return z.error("Failed to fetch user:",t.status,t.statusText),e&&403===t.status?(yield new Promise((e=>setTimeout(e,1e3))),this.fetchUser(!1)):void this.resolveUser({username:W,isLogin:!1});const r=yield t.json();z.info("Logged in as:",r),this.resolveUser({username:r,isLogin:!0}),se.login()}catch(e){z.debug("Failed to get logged-in user from",U,"-",e),this.resolveUser({username:W,isLogin:!1})}}))}getUsername(){return C(this,null,(function*(){return(yield this.user).username}))}isLogin(){return C(this,null,(function*(){return(yield this.user).isLogin}))}isLoading(){return C(this,null,(function*(){var e;return null!=(e=(yield this.user).isLoading)&&e}))}getToken(){return this.token}setToken(e){this.token=e}logout(){return C(this,null,(function*(){const e=yield this.user;if(e.isLogin){z.info("Log out:",e.username),se.logout();for(const[e,t]of Object.entries(this.logoutHooks)){const r=yield t();if(z.debug("Invoke logout hook",e,": result =",r),r)return}z.debug("Redirect to:",G),window.location.href=G}else z.debug("Not logged in")}))}},Q=new K,Y={UserService:K};function Z(){const[e,t]=(0,J.useState)(""),[r,i]=(0,J.useState)(!1),[n,o]=(0,J.useState)(!1),[a,s]=(0,J.useState)(!0);return(0,J.useEffect)((()=>{let e=!0;const r=()=>e;return(()=>{C(this,null,(function*(){yield Q.fetchUser(!0,(()=>r()));const e=yield Q.getUsername(),n=yield Q.isLogin(),a=yield Q.isLoading();r()&&(t(e),i(n),s(a),o(!0))}))})(),()=>{e=!1}}),[]),{username:e,isLogin:r,userLoaded:n,userLoading:a}}var X=r(50680),$=w(r(74692)),ee=w(r(30228)),te=N.get("hawtio-core-event"),re="notify",ie="login",ne="logout",oe="refresh",ae="pluginsUpdated",se=new class{constructor(){A(this,"eventEmitter",new ee.default)}notify(e){e.duration||(e.duration=8e3),this.eventEmitter.emit(re,e)}onNotify(e){this.eventEmitter.on(re,e),te.debug("Number of listeners on",re,"=",this.eventEmitter.listenerCount(re))}login(){this.eventEmitter.emit(ie)}onLogin(e){this.eventEmitter.on(ie,e)}logout(){this.eventEmitter.emit(ne)}onLogout(e){this.eventEmitter.on(ne,e)}refresh(){this.eventEmitter.emit(oe)}onRefresh(e){this.eventEmitter.on(oe,e)}pluginsUpdated(){this.eventEmitter.emit(ae)}onPluginsUpdated(e){this.eventEmitter.on(ae,e)}removeListener(e,t){this.eventEmitter.removeListener(e,t)}},le=N.get("hawtio-core");function de(e){return"component"in e&&"universal"in e&&"boolean"==typeof e.universal}var ce="plugin",pe=new class{constructor(){A(this,"basePath"),A(this,"urls",[]),A(this,"plugins",{})}setBasePath(e){e.length>1&&e.endsWith("/")?this.basePath=e.slice(0,-1):this.basePath=e}getBasePath(){if(!this.basePath){const e=this.documentBase();le.info("Base path from html head:",e),e&&e.length>1&&e.endsWith("/")?this.basePath=e.slice(0,-1):this.basePath=e}return this.basePath}documentBase(){const e=(0,$.default)("head").find("base");if(e&&e.length>0)return e.attr("href")}addPlugin(e){if(le.info("Add plugin:",e.id),this.plugins[e.id])throw new Error(`Plugin "${e.id}" already exists`);return this.plugins[e.id]=e,this}addUrl(e){return le.info("Add URL:",e),this.urls.push(e),this}bootstrap(){return C(this,null,(function*(){le.info("Bootstrapping Hawtio..."),yield this.loadPlugins();const e=yield V.applyBranding();le.info("Branding applied:",e),le.info("Bootstrapped Hawtio")}))}loadPlugins(){return C(this,null,(function*(){if(0===this.urls.length)return void le.info("No URLs provided to load external plugins");const e=Object.keys(this.plugins).length;le.info(e,"plugins before loading:",f({},this.plugins)),yield Promise.all(this.urls.map(this.loadExternalPlugins));const t=Object.keys(this.plugins).length;le.info(t,"plugins after loaded:",this.plugins),e!==t&&(le.debug("Notify plugins update"),se.pluginsUpdated())}))}loadExternalPlugins(e){return C(this,null,(function*(){le.debug("Trying url:",e);try{const t=yield fetch(e);if(!t.ok)return void le.error("Failed to fetch url:",e,"-",t.status,t.statusText);const r=yield t.json();le.debug("Loaded remotes from url:",e,"=",r),yield Promise.all(r.map((e=>C(this,null,(function*(){le.debug("Loading remote",e);try{const t=(yield(0,X.importRemote)(e))[e.pluginEntry||ce];if(!t)throw new Error(`Plugin entry not found: ${e.pluginEntry||ce}`);t(),le.debug("Loaded remote",e)}catch(t){le.error("Error loading remote:",e,"-",t)}})))))}catch(t){le.error("Error fetching url:",e,"-",t)}}))}getPlugins(){return Object.values(this.plugins)}resolvePlugins(){return C(this,null,(function*(){const e=yield Q.isLogin();le.debug("Resolve plugins: login =",e);const t=[];for(const r of this.getPlugins())le.debug("Resolve plugin:",r.id),e&&r.isLogin||!e&&!r.isLogin||(yield r.isActive())&&t.push(r);return le.debug("Resolved plugins:",t),t.sort(((e,t)=>{var r,i;return(null!=(r=e.order)?r:100)-(null!=(i=t.order)?i:100)})),t}))}},ue=r(44914);function he(){const[e,t]=(0,ue.useState)([]),[r,i]=(0,ue.useState)(!1);return le.debug("usePlugins - Plugins:",pe.getPlugins()),(0,ue.useEffect)((()=>{const e=()=>C(this,null,(function*(){const e=yield pe.resolvePlugins(),r=yield V.filterEnabledPlugins(e);t(r),i(!0)}));return e(),se.onPluginsUpdated(e),()=>se.removeListener(ae,e)}),[]),{plugins:e,pluginsLoaded:r}}function me(){const[e,t]=(0,ue.useState)({}),[r,i]=(0,ue.useState)(!1);return(0,ue.useEffect)((()=>{(()=>{C(this,null,(function*(){t(yield V.getHawtconfig()),i(!0)}))})()}),[]),{hawtconfig:e,hawtconfigLoaded:r}}v(x,T);var fe=r(78765),ge='data:image/svg+xml,\x3c!-- Generator: Gravit.io --\x3e',be={xs:"data:image/jpeg;base64,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",xs2x:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/2wCEAAICAgMCAwQCAgQFBAMEBQYFBQUFBggHBwcHBwgLCQkJCQkJCwsLCwsLCwsMDAwMDAwMDAwMDAwMDAwMDAwMDAwBAwMDBwQHDQcHDQ8NDQ0PDw4ODg4PDwwMDAwMDw8MDAwMDAwPDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/CABEIAwAEgAMBEQACEQEDEQH/xAAeAAABBQEBAQEBAAAAAAAAAAACAQMEBQYABwgKCf/aAAgBAQAAAAD+LCZ+I1rZJOEqK4XKSkSg6xmOy+u1NMVtWBIlxm5pRjKcwISilrF5xTUh6T5vK9Aq5ElbPxveFVpdwLi97kRVHA3uK9GtykSZFUGrDwj6Q01LqbS5rNFo8/5X7z9pevtonIq8hGnd3JwpwCI8AiH5q4dgWab00s14nANzlIi5Obr/ADzZXrtc5YV4TH4ZyTjI/PbZXjlc6KiJH03y2610fjk3jMLyD0urtqfQWbivpyI3W+R+wWUspEmqc07sjziV6lp7u+r7rT1eM1n2/wCypzZIJdxcq8bZDxNogCII2jX5rosxmxiZt7TvKkjkPnuMuFqv8912lFIch2As1yCcp+IRzlY5p2crqI0XdM8o12prekleDEcrPMvRKTVzikDIReYqMbc6K7dNYE2/ds51H4P9UazQsWmgDzr0X6192VEEg5wSMSQu5O4U4EEAQAa/NM6/FdekwszP0rpq6iSQV1G4Pnmn01ZaxwkhD6wSKsp+IT8zhQQlSiREcjyvJN9sH6qlsrg6ttZmb869Ws33Ddd7odLlvXE8x9MJamw0h2Mxqx8d9Q9ojWOre8h9O+zPZRQeUSQkUl4xNrl4eTmhVpGxD8zNj3Ta1bfqnPW2icNuQJPiLPm+g11RInVz0pmG7YxGnZiME9YDHMkdlc4PA7496TZ37iV0nqohatsZDDdyZBOqjOcz3r0pzN5ra0FtpHJk1rW6Wo+efqm11lh5dq/tP3FsUHuRS5CNV5e5OQBRFAQBsE/NCcawcYlsR7jqfP3t44avL0bz+42NUs5hsrCADsytJy0YYN+csZTGU+DiG3496hNeatZ8V2jacA6K4uPMb/YynxYYqM/6xPdNrzl2/wBBOdmwtprbp75R989bnec6v7B9/aaHgIXB4yJTRTVvhBA7uEQRoA/NPDesIcl+vKxh2D2eob++J8msI7ukghaVZvuxAndE56yhc5KmJFV5XXldeg+O+qTJHN2PSUbpGnaLQ91p5H6JoH2Y1HV+qSpfEmZw/qco7BrWavQXVbjvG/svC7L6j+jWWuQO5FLlV1wl4+bFW+RvkbHgAWvzQrLrys4yT64pbjFhnabQX45KDv1YbkJBKxaZ6R0VZzsQnpb4MlJakGU2D496dexyeCZ1PoGo1XRaPkcYs/KvT545uJ66r5uhlLZMxvpkTY6m200KxtPkj6C031P9RMtAIqg8qq4vOugaELZiKgCgiNoyP5lrBpqfHSwYDpsRuxasc3Uy6n0astq059ahz4BSHIqDPODMOVLYivyxXreo8i13oTbfLKStbcsq/LaPnFrwuz8s9RpF9YIjMMjobeR5xtZOi115exrXVl5BbfZ/06y2CBwEgrxkTiiRtqQg4HcnAgI223+Zh9ua007OhHNgjNKKdvAxzOn0DtNOk1ozCgLYNsEc2MpTZqRTdNUsqjyv1qRj/QVBYsVlVbptAKdBC2kmx5bvfVX14mcre3kpx3xz27Z2+jgWWquPK9t9CfVzQC3wLyCir3E5zgpy8PEJAopzaADf5mGXbSH0yvkWlWpWNYVzCyW/7L0Gl0aDXnMhI5MhGkpyPJ6bIaiPyeZu6byn2G5ei4HRXldHUUbo9M5Gai9dKMaJntL6i+ptYzQ3MmVJh10T3nQt2WgtvM9X679trHRoUTubUuRS4iQu5O5FNteQeEW+a/Mi5KhypMIrFuO89FS5axO5mcqZTP6PTNx1ilMBg35kVqYcs47rhs2UHyT2W5e4WspWbmnHiz2j5tuK9YSRgRe2mIvPQ5UbI3VtNM6zT6bAeg+hTtLY+eaT1v7afajggi2hKB8qoXIZcicvGCqiCooDY/mPlxFsYwzEakLG6xkYzU2LycvBnMzoNKdStlWG7PKBL6e7HGUYzIPk/sdrMPhbjQsHtmVp7cSa43nwbhFsFPz/AHG6w46WwlOVeg2ttb+E+6ek2GFn+zfcrTINNCTad3CvEnKScfKKryGgmCogoAfmTBJMZ2dCV6TXvLOpT1JKhEQG1n8rdauI7XFOkw1luS+iyHXjjeS+yXEhHk5pkYuEOwvmmmJZgbr1c3r3pHM+eX2tl3D79fZavT6I4/jX09ibv2r7glRmmlYIBThJFJEJF7iQkc7kJFTlERTmvzCvToLsoGHp0BJR9nNw7x8JGjnKFDmJupcr5BRZZzzYcfedZ8i9iunycTgZ5I9ZlC3ldCfcGLYTIUPVPSZbzeWwnr+lFyPN2ltoJt1qk+Q/rT0r70WuZbbBFbFRJCFCRSQk4u4hXuNO5E4U4PzBSx6SkWwGN0oJ2M3kku54V5DR3lbwkVzYSIEebJnsszH3g8g9kvHQdMeRrmKrPTrDH627qkqrmZXtaZZEqQ/UyR8t9gt2l395oFtNva+cauX/AEat2oLYtiKDyJ3EioacvcScpJyl3KopzZg1+YuM9ZVxy0YWXCtcvoLfjR1QcJOU1HKaGyq8SerlxLA49gfSfGvXdM6TiKrTfN1eUt16bQDvaNLKFD1auvyH6mXdyovjHqNn6NoL9yRtrfKQfUfvizaZZEGw4UUO5xEUV5SVRIuFSRS4xThThD8vb8oBkLEfNuwhVWvd4nBVVcQyDs+5qCd6rxUPX3cYZbkvxv1LWyScUGzaaCvyd82rE1iVkt08FFqH33XZFRKtrCfLpPBve/U9VOc2dpj2PVfvKyZaaBngFEHlAkPkQiRSQ+RV5DQl7hUeDg/MKjTs2GsxhtyXkN2T5cZipcfKtPU7ZxwyEo2Kqddpq+38d3+1lSEJtCRliHjNEiR7SOVRf5p6Rr49kr8usO9dk2b2a1fk3rHs8P0y2pKP0r7zt2GmxZbERQRMDHiXl7jEjTiXhLuJFVR4VEfzBR5D8NZKgs7N3dqTiuLznK43xs4r0YuR8jc5Qy1JaU+h9CeV3uQeRqHh9udPDuo1dwTSomdrZSXHmYumkHLkZ+0ttl5ZC+wNVEx/pX9ALRkI6NA2jYrwoQ8QqvKXc5yKpIScvL3ci83y/l0sI/Pk01ObPPbB8+cLjLucLmcTvpYEjz5SBc4oXjMrS7+zkHzZLwNee6C+4WYcBpJE7OehR8VO2z8ZvTOSH5VOa6faHaeG+u/QVF/RPUMNgDQtIACncK8ncqkikS9xLxL3IvKnJ3Dwfl8JTkQnJ9fYZWSdzbK6RtmZpyZe00BLxuFKMzCP5tW+qxsM76JbEZEjeGtJCTpLBMVHXWL9J59zO5TdFtOlvv1UlJvoPXeguarJ/wBFPoIGQFppsUAFBR4HE5VRVJONe4uPiFCXkQuEgD8uzkyKFgzHtoFVpuqYRWd28TiOcldn9q88oOK9KU1YxWD9gs3UjYis2GtJwMm5OJxqzh2BdW4v0mY8/wA3XedbvfzXZVRYVNp6OGjPW6ST9p+uR2m1ZFgRbVABe4eVUMSFzi415EMuA0VFUVTlH8vQsSnWDcm5HXuKhJHqmnr2yNxnDb57iSTxOuGp5nyb2G5fd5K2VlM7otjUVl0LwWzmfdsJXnu7tpTzbgZTXx8xu9bDdodHs7p2202l0X1r7RHabAEZa5rg4U7kIUVD5CVSIk4UNONO40QVJEL8trsyKbwkFZpiQnENwW6mGssLm7TjeJ0laNIfjXp+klqbMeWSdQ4hj1GTXDoGKtqTIz2jupUpx1rNaCZKbzEP0SS7o9dLstPeaz6i9+jNNALYtAIoCE3wmiE2fcalyiSovEJCvcSiokqD+XuMr3ONWWT1zoE6pi4SoKVeV0a29nIeeU+VqF5ho99KLm47khtxI2N1eEHeWzVS7z9fI1pTJTh52VbTDdcz8ed7LaWkq80Wu+i/phplhkUBsWeRohVB5R5e4yNS5QTkE05eXl4uA14R/LcZvNE+VBqj5SNSV3iAcZs5YVUAntNZHzbGMznrcqYKNsTIxK3j9s+MTFUe51FS6uf9EckynXqWLfnIelUc6x2OPvPYvQptt759Tx0YZbaRtAEU7kBOFeXue5TVQRQFeUVIuFVVEIVRfy2TohPdJz2gmLymS8bnH1ZT7FeVHGquOj1/C8o9ktDkcMWa261HzdpoTFUTH5682uH9KcnyJT8TL6U3pDtXIuXd3N9En4n0X6B+12GCjsICMcIgqciKPIYJxqpGIEJt8ilyFxKnKqJxD+VaZZTCrp+V1zymYmvKZEOI3slklN8nmnGcz57otBpbFxY8p0Ghrs/vlbcJXRHP+RaT0LUzpE17HaZHJUmpGzT0abuthcuezfa7DLSsttoLCtIhIjZgfIoLxLxJwqpNqiHzg9xJxcPLyfl5i1zSnIj6V1zlNwD5x4IWf3CKoOuvmnJl/PvXJFNGVy+twVpjGehK7xKRIOAk6LFR9X6LYUF7IRyWNc1pdRb+jXWge9J+8n40ZObaAW+aVvkFwSBeDkJVUBVeA1QTUT7iXiEuFeVfy7OOhy5ibFRJFpPecVznBxmznojvOc46SRfGvTbya4+2GYi85eUl1fIKOPEQUGK9MdljR5Jy09SekSJOXs5un1W6tL9zbf0LtGI7QiLYCKCI8iKSiPJwcqoKpyiaKqmnKXcvcqcvIv5dzd5FyW1VXBqazh6XbTDyO0I3XQkcbysZLJesSH5DjkfuKPl8rqXNBJN18uj+Q+rSZb5SHGcbm7Hfa7Po16bO2+p2rGo+/wDaRmmQaEUBB4EFO4kTgUeTkXuRVFC4xXiPhcIeUTFVEvy6mZi1m9oqmREQdEra+A49Pt7EnVfMla8a9TvJLxkPcfJiNOTVAw65p5zXm+o0L70p1yQQFEyWatNxvbLX77dVML7l+k47bDYgICiIggg93J3IPLwKhDyiYKjncSOKncYuIoqnJ+Xg3EGFE0JE8ZdxuIgY/cpW1teiJNtrQqXC+yvPOuAYG2tZV6Vg3UQc6xXMeiyX3nykvOLysQ9O9V2+mtF9b+wvsJhgGRZ4W1FBASEO5QUeVEHlQwXuTl5FIiTi5DIVXhXu/KxxCUO3uzcV4uV1C5nJbxCUTdOup6oMh6TqZck2yAl5vD70QIHu52t8y9Mkzn3nifkFx9nNjZaLY77Zlr/WvsTmGWhb5rhBEQEIFBORFRE7uHl5RNtVXi4kJCVFUlTk7u/LsRj2WvGWFNwH51mZOV9bsAcDnyddaag+Me4zHjeJRJtKWNpUF0XF5nBWuilSHzkHKPnH81e293r996NYO+nfbd1GabbbERAUASACEe4eRQJB7kUSQmy7l5eJFJVQ15F5FFfy6mLnZLZo6SqoxIjDfV1nLenyZSvPunCxtH6pLVw3kQkj4j0DgUC58YHm3qDzrjjrr7zyvQoehuNBvPTddUekfZPprDTQtI0IILZNpw8g8CiijwkKGPAQmguchIqkqqioYkPci/lyVXAzGuePuccUnG+THbV1iNAYJScEsRr9nIdJ8hIm6qs1a9wOlzfnWru3Dkc7IeMnezGvn3Wx9I3tR6N9I/UsZhsW2ea4BEUFAIEFeQFHkXkbLk7hcHlQ1A1MFUxVSFQJQ/LaRGGY2R84rnK4Qk3j9yauGqPcgM+Neu2qvuOkJqOC3q8XIRO1nnfpTr0gjedeN481e2t1ovQ/RWL32f7zcYbEW2QJtoFAFBE7kFFFeEVThTl4VElQiEuXuNFUhJOQkX8oqI91XfPvuz3nk43FYy2zkLzvK6TkeB5P7BJJ59HXW34mM2yK+qkbPnWruHHHnTfcN6RGotTaaHeeoa9v037m08dtoUbZTmwRrkFO4UVBTlFObVQVOHjEkPkUk5TTiXuJBQ078sU1gywu9QWmxYcNU4qG643HXnXZckaXO+jEam8bx9l7CwNwjdJIPnHppPc/IfVXnXc1prC42nqHqFZ6X9R+8sRxbVsABBBG0DhTkE0EF7ub7hVAVHB4kRV5VEiUu5UJO5RX8rhOx7PDb55xXFfF0SVcdsG1PooRBRmir9G42qq4451BoQGeZPShy8m7cN448uUTpxNLcXGt9F9bPeepfaiNttoDYtCKI2Kcg8BcPIBgPcgcQEKISqiKSEqiZIvGBdycg/lZdOPbYX0B9xDV1xBdIMprHBNwkMxbwdhrTJEUWno2V2PEhLwB5/6e4+Mg8zs+fmOZzVWl5vvXdnc+i/TXrrDIAHMK0goIAJN8Kcg8ijyIoLyCqIoknJx8popISknJy8Kp+VRyRHtcJ6G9yuOI4QPIzmteIq6p8ZRvL9xfE5zZqnVDekZJCcCJRsbR8uerXbmRIk5rQ2F1r/VPVZXpeh+5247baAiNc2nNoHN8Kcit8iKgCScPIJdwuCJKq8SqXIfcnLyc2f5XGjKVjdy68REakjjQ57W8y8romXR/JPW5BOt853R8rsJTXK443A899Llu84ue2JPy4tXorfT+h+uyvSGfrn3lhlsQAeAebVsQFRRCaUOEV5B4m+FeVWzbNOVS5ecUD7l7lROUPyvRJBPZrSWJGrjjSuEIUGuaVuSaKhxfJvYH05D5ej5XeCPEbrNHl/RykEsB22fefz+itLraeoa2w9A1H3xYNA00iNioIjfAKBwGPAgoop3CicKkBAvIXEqqqqqGKEiiSLw/lURXiqbG4VxHSQ0cRin1jXGjyg6ETyv110DJTb6LmNypIa8Hne0uXDIaDXs1LsHT315p9vt7L1nSeq/ZEZpttGxEO5om0QR5tF5vlbVA5UEU42+Re7u4kIlJUQ+5UXuVE5PyvmwiU0rSOCrqGpEDNRrWx5xzlJmL5d6y8imgqFXG1IGvPDDwfpchzotCNtI0J02tvryZ6Xq/RtnK+jvpWO2yAgIoKt8IoCcHIIIvIALwqidwdyioHykJGqKSknIvKi8BflJV12RX12xB7jXuc5AotbyKrok23VYn0t7ucROby2qloau8Gdr79xenQNach2g0V7Pi+x+gte37TOfUH0hEaFoBHh4REUQUQEHub5R4E5Q4UIUQxVe5e5VUuNFUVLk7lFPymNyW3ZeS3JEXOcao2NFrzAXENSDO5revqaOL0XK7MlSvAkxu/uZSnDiaJ00otCc32z0HzT6D9Nte+qvcY7SNCjSE2iAnN9wgg8IoQ8KCoKPCKkhtrxCp9xKSKqcScvKgr+U0TRLjB78lRxV4jFug2IEimjgll6nZPLznclNndNIKVbSSg+e+lOvKWY2ik1jLbQ6vZejY/ZeifRUdfpP32OjDaCIt8KjzYogqCJwdyNqKCQoJIgoSiqqJiRoaqLgFy8i8PflLdZfj3GE3r4kS8RKw3S64uEwdcTslD1HVwNPKUoN6CL3dkw1Mhw26fTdjG3dxY3/ps7Ceqe3+kSLv1z6iYabBsCbFWw5EFBBE4U5BQeDkAh4SROIVUTUSUu4jFeVQNB4h/KHIBwbTGblVJwTHnEj0OwVvngZrkLOjbPWjzT6rU6PSNK2oteaejyXHezV1lD2MG9tZvoei8g9T031RT+lsab7pYZbbQRFvhbUR4RQUBUBF5AUBTjBOFFXuQkJUJS7kPi4e4u5B/KEEoX5GdvbMxJ3ibNIeZ0DIqhS7Y1xFjdGqC/wZv1GRwNokXzz0l1wcxldJsnwiaaVotpnMn6zuvoDT3rOU/o1ftA22CAI8CBwJyIPD3N8gcJNqHIo8opxd3LxF3FyKSF3dyIYfk/R52YNYV+MVlo2+4ZNXqiFwScNxjFX9sqqLjbdH6ZIHgBc3Xa2LnGrKfek/TaexkbXsdr9H6N9L3mpieU/TX1uwMcRbQBTm1BEBRHgUVaUOQgTh7gJUBOcTiTlJV40EiRDRUHvynRY4orFXeuvznD7iVM9rQRFdB1G8JsZhOMPj0as9FcJRFvzyxac0zmf2HPhG0k4N3J823lv7X9JFos3Cz3376ky223wI2IoCoCigoI8gJyCooiEAlytkqchipEhovKXcvcKqP5NH5xuomP2POq4RIqpm9eJhzgONhgdzLU484RjQd2S81SxvOvUJbT/VekeOh08qNq9LHzW3uPe9t61deJ+o+S6/+jF6DINo2PNogpwdwigcPAKEPCKoKp3cncnKXCZoXIRd3L3J3flGcJS4cbrnnCeJSbLs5qHAIk4hb8930hw2ZKDC7Xt1lSza0MPavNOVWhlOFA0D47UKTU3269Jker6vzH1mH417P9wbBtrmm0bRvkBEUObRE4ERAMU4FROQTHuJO5VVVQ0PuVFRUUfyjumqqzk9NLR1zjMCSltZ3KnLyted+gy+KPNDs/asNSZchMDup7UoarTPO0s60sRtLbN7b0m32e89ArNpJrMdVesfU3sjQsg2PNjwoPCCIKKAooCiKTaIJdyLyLyKp8vEnKi8pIiL+UfnCc5qieuSN7lXlSu66AuTiRrz/fOPExKh1VZpbEo8tRwHorwPxUvDg0urtINjPJj225c9il+lxdJjddG8N+is19VfQ6ttNo2KAKJwcCijXKjfdwInCoIXcK9xEKnyqDgkvA8g9yflGLjV0IFLpTePjPlSLWaEkUDEmsHt5CxqopF3nNO4jMkYOc27jT9JrWIsti5sqmzmD6Hspr3oW986+hth5C8nqXkeh2rnt30hLbabFATgBBQVaRQUB5O4eDuRURe7lXkcFeJSBeUhUCT8oxI4anHxuwV8yIzUGaDUqBARo3hNpXMu2jpdU6gFZcHJaO5akDVWUywodW7Jpg0d9sdBnfRLmzX2yda45/aueE/QcjwH0n6H+gtc0AtCraJyN8AqI82qCigKoqDy8q8io4nEhipIvcqCn5RyRSiMFm9iRPPI4ooOe0/cXIrNXjdTemrEgQgaYBYeLEbqSD9QOqMKa8sZWD9C3NFs5s/TWdBuPe83BkXW0tPK8F7l5HYyy9V9r+irVvgRvua4REEUR4eFEFU4S4V5VBS4lIUUlAi7kRPycxCF6fJXM2NirrguESN57TrwxaoXLHF7x40YfGNG0bbT5x8fuZNc1XbxFardHbY7Wbe1y2ulytFVeiV/qd73l/sOo1fzRosrk/brnLh5h6p7v9DetzW0AVbFAEeHkDh5BVE7hVFTlUhJeLu4uVFRUH8mdgQPkvQKm/6QXOoqN0GhapQctnkDF+gOgTZBWWNirEjq2l0zcqVR7Bxai6m5ed7G/O819atZcWB6o/J04eda705zziFt/MvRVvItZ5h6qrfs/uftGoDgHhAREVAeFRRORFFCVEcFeJV4lRUVFAh/KGSI8fEzjtgr3KpotfmLCRbGTfczkt1LVnmxo9Q4rcgcs9e2RNVundXPaLK7hn1STRZL17Q2PhX0foYob3DdPSBMhajM+m3fjUvY+UesvuzItF657T6d6Fq2xBARAHkRBFRQxUUVUQ0PlRV4xLuHkT8oqKnEaLjdapPp1fASVGt5K8gK1Hy29fBiS2FBqnGkQc5rJTq1U62V3HObQl9Yp6+q9P0GWie8va6R5hltXD1WWurLA+95PYHe4L5p23uWyy8yD5/6Q+mm9f8ARNxsNKLfIgNmHIg8iL3KnLxqvKJdyEnd3fk+UVV01LMWc1YENqZYOBBW2cAE5tnJbsjYkczR6fmo2ks/OtU443Qa0yo6feGru4pbrM+mWWc0XrNZ7NY/FPomhNjQv5/zL6XymzRzVeQ7fzWcXob/AJx6XZMVWX3gTHtN6V6VudpYALjXIgKnLycXIpchJxpyEKon5PFQ1IiWDlrVuymEnLzdXoVVsEFrI7t0W3kbotExe3SRfPtkZpn9U3QaGs0ayKvR3kvKe3+Wexx4HrWltvmOw19c9btTfN/ZXNhVT7Txr02Y1BzNr5r61sJLDFRtYtZR+c6S3m6/b7LV6LV7PQuCokKgqEacaIQr3KiKP5NTJRdYqkWj2vca9yC1V6QuBWih5LdvCw+7Dz2400eXHgYLaGY0VznNzNymkeaqPRnJ+J0noGgn+a/QTuFlWPnPoOX0MG8yXqdrlaH0tfINzenMbtqLyzXlb+kZ30SJFTz/ADp28tuC9amzI0ex011pbnSaXd2zqIqFyLyp3B3fkwcWLXjImyRx+1ISLkDgqNO6yIFzeM25GyUBqduzYlMU2V1jnBirbdOpldOw325ck+Zb/wBYssxL2Gk8I9kuqv509qrZeb9ClW1JvM1E8i9wirMuOCj9nSkwcOwsvQJMjwqdNunAmVbM7MsS27RubCdettXo7a0tpMyyu59vpre4tpSfkcilIs2OIZNJY2oK4Kg2NNrQVvkRvHbEiqStm2PQkbdiZyLfd2bHdm6GYumLyp3rgZfSews02ozr83ZnLy+OuXMn6eEwbmxzPnfohhKs2JGP90cnTo2AsqIbjBYX16xmSpTYwlp7co4N0c2Q03ePWclYsBmRMB+NnZ9//IJ10EeakNyQze1juq2CkzSa5xlGkJrHa+B09/mm981HnRcnKtoufvo+nJ4MXcaB3P8AoDuM9RxntOU3oSPAPo9xm3pbvMecQvVGrlnQUuZtJGgi4vURJee98VxwMi7M6bH881Maa3Gm6Wt5yuum3iFt1waqfTuXbDiVKaV1h9ir/lBbtKLrgOxbPE7xUVORsKnQzQZVpAw+ktxB4Wi2TSS2MbZxY2kbjaJx6vx2ylyau5qd9b5G43egYxN9a371JeV01v5r1W118VyZ5xta+9Ru1apvP/a7S5kFknxdcexXrZuMWmdq4JuZ3MemzGoVzIlxneFty7NwaXO3wsu9/Jm/gyQM2n2pOe0M/uQebbaC+QW1p2qPWvI04Ucdk4D7OJG3slGBqDiNU2jlSAyG/wBVYN+W/Q85rx71WXV7rGWs+qwmonUGZi+pWHk3oMNuzHR08rz/ANxpqee9ld2zFsEzmvv0nHCkOEkDMRngE385d6M33KzauJHkHlNODY/yXmkJNymiNa1jXCiiJNhW62PGrUs28ropHA40LWufjSaTB7aa7zMbURmr3EamUsFNpPss65q9n5bpL6LZeaepRQuPHPRpkjMzcNO859hbOevdaYH1erVbatr7fgg7DJ7eVYQp0ZsJsedS2chiXL5vI8UlcJ6K/E0N7X5/Rtr/ACwqb2E+y/LhNlYY/dGvAQtBT62jZte4c7Ps0Yk81D25VuchwtRZo5Gi3ztgOR00pui3k2fW3VpgfWPLfSIuihw7SSkfyP1x2TlNO0njV6r2zagOpl/UqSQ49f1WxlsN57zP156PY3NeVUMqsY1cF5m3eeVhqTChWe/g5WLCg56yifB1fewnJEA5BkNFpZomoIyGYvbVxtEaqY98ovIFZta/I2TcC6tHUbpd1KaKBV32W3s6UkPXGz4b7rDtQs51+uTyN9oDkZLXt1fnWxlxMz1jayfN/UK8zmWlZtJ7/H4/6Ky/UJDubJira1eZtpVfoQsY6pElUFpu7hoWFw1Dffzkm181l6czzrbzNVrhQiCkVq0sOBvug5/Vk2ZBUutPvFWStC6xCz/qaC+xjXdfaSX6DZPvUuVh+ls2rOibv3/ANlcXS5HYtefWE0mbKfp89n/K925cu1d6WuBx13yH0yrjuSZ9XeOWdHU0mudp5Nle2HV0Vc3pQ9M4U6N5xO+Cq6t0hMyXYwTAkZLbcY1PWatVWhQg5lnKbAh52voLs1I2KzZOV7EXQ2xvD5/ptPIOstrR4fMfXYvnfo0hZEuysvFfaaCmptrKh+YeiVhpfy55u+e6jH1Tbjmt1AuypHndo1NMJrig/Hdz2nKayjFNeWoOVMV293shsXIvmXxC4rdgnGQdJXO3r0NLVXG26PU8LaC3jdg80NW3ZFHlJyUWxridab1jzlJzevcjs37p5cNnNZ8/ut/Q2p5e/wBWcfJXtWxgtzHcjzPR6J6487tokZGux96jtjsYuRvnmm5Ry4r7kSXX3nOqk2HOF4AZzOrd512NC+MhdrdFFBx4CblV9BoLZxVRAz+sHkBpvH61GqW1LnTNlez93KfbGt2syHS6jPaWbntS44PnPosuVJrshO2w3fjvrdkbVR6exlfDN21ZQ4/seXj33m19XhHVwdOMZvNMYfbSB1trQ3dY3KCdVWvGRnHt40OdWI696RJbBYHwCZjIkKyTzkemmU+0lInCCUOllNp0ccpfQY15HfFw2iju5XXTWQKv0dlldTIXLz9NJcHC6e2N9zO+j1fnGt0nkvrz8lhzdx6DyPcrVtV/sNRDvfNNFV9FbmtalQc4vK9NJdy0OUd+cKVeVWgkVqPnMrBKOYxons1gaPQPgVnp1XesOOQK+xtjzttYHy82kNnQAgNpSUmkddaWQrcdXoz1boUbB2AOueckUFftXiq8vunVRR1jHVHmd36Y67nPTp7Hn8KX0h6rkvWzuJ0kdIRxD2gqyTvlmgYkCLz+luebz9FQblg3q1AsXIr9UzIsvZJCg9/PQ+KLNKDEtbBwiZy+2LuAGwo9cPNN1cJ20ZR51Y/PNxtPGxGqdFRze3mm6xXT67St4Pdvpy0vogBJ7zD0jFHsKn1cU8k1pC1NrrGMczzTetRym1Tm342pEvySxFuUrbmrathlnlra1uDGfVYaIpwWo2a2s6ctp8auE5Kzki2mOuLxDj90RAjSN5/Wk01nLSyobVVeYjSOBi/dDG3UpyPR6iwdcPO6Z6upSLQrxdE3DYS4GV9VKBg6X03S95P6DVy2JkS3pbJil1inUQGKrSHcSpcrzmwp7BGpUbfsTJItU901NfdLmLCq52TMcyPqL0aB/P4igBKspiEZlwUxaI04WOoLx6BT6fuoNFGdj8LEyLeOG1FyWwWgs74lOktJ7vVXnm+ncR029kR3z879Ptj4KSfQ9mPQSiyDYktyZGd2tUHJGTZpSVzsnIk7duMpPk6ZJZMuYu9nyHGis6lRI3Ho93u+c/mVVFdvdTXx8ZmhRsluJKdzbcaoJ2+FG6m2dicwrkW/lK0HZW6hrpHiWvbuXUZxWvqWLpwoW3Rmex5t7TJUsxsHjjeDa6S/pgiTAnhR68YkuBNpfROJuW8xgPQ6+sI4VHvI0mbYs5O8lOJ0d1J1XIdB1/K+2y1/lZdPcY11nNBznG6ibn9ZLUhbYi5fZvq2LbEC2ho6cW0nqiG2zirPWPG52f0Zr1NUa1Y1BITaPqcqnqPS3jPLbF5zJVF1Ki55uDtbxVyu3rTKwgjo7GS1JsJHkW85SbGmmxJLVe3nfQLeZzscajPX97cMMHNx/tLv8weeVTSk0Ku9Wt3BwafWlzYULehdJpEjjU2qDzds9JZLpCUWWuNO7KPPaA1VjCbwlBIeR1WiOTI899OtZLJZ3YvyvJNQsJyVPr7SEw/gfTbiNcwhuom1eKQ1I8m9ENuVDciUAMqgymvbHgaHkwe7gQmQkVufrdx8Gq4Yc5Vz5UFq0ecIcftyZYztzZJ3cMYgqbcGDs35DD5uOw8Dqa1y/frrGWajkrS2AxbpbaVVNWOm8/8AXJUhiAGkkzfEN6xFkvy4Fwk6wxOxpKyQbWsb30mwffc8i9az1mypyMYsRwGG636DmlHARh5nbHzix4Pld38OrykpDQWMya4L7R0M6zqIWmMCjuCzyi3WTH7Tn0Vx8w861SrUSLJLrjWDltrwIKZ3TymyTKWOpsdGmP2cuVL8R9Cr1nOxZb79ffZX0+ssisZNB59dFzjz9NsfT2gk10GvcqiBqLLd9qdBviaxmvFkbGMEfxb5FVTNW60LCyVTLibyki3sjHhFF5sHGs1qLZwHRMJA4C9lPAVZU7KS8iYnak2aN1UufMEiwntEsKccrqNNOl+G+hKj0in0cd1zqf1CTVy5rNvSb9x0zkQPId5FcYijR1cuVHG3n5n3+z50jWPhd2EWSCQ4382SNerytlotA4aGqUmZ3Ewl5BBTBWUrJTeuabcdIExk6c+6iFFp9PKWhHSNqQpmdA7KVzsj7VJOW7hthQsV+Q2M2SjUfTR+O1yHqjsO3CLcRd8fOOypPkPu8thQ6H5XuBj1FPU1Gb9Idr54guXnzp0Kzt7l/wDm1yw27ZXCgpcIfM5y2drdPxgLT4gIhV2rFfrpImD3ZBq5fNefQyp27jIb1AJUqhu3Q4KfReiPLNpktzkea3enp4zUOl0s275/G+r1B6ipumD3rbjjsiR4v9BXItI0z55eGLfI3hPXXiVoI7WE9K6NAzmdzvxdEYs3D50gpdERVEHSn2R2xNo26oMm3Q23LKrdVLbUszU37zhkTh8T4+ezds4CGmX0b5IRYT223kHIyWnfdkeObjok97j38SqsJHk3q/VMrezmEkaQHu6RRVntAtwnYcXy70JoWyjMZb1xtQFtAxvobbYMNf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xAA7EAACAQMCBAUBBwQCAgICAwABAgMAERIE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",sm:"data:image/jpeg;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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",sm2x:"data:image/jpeg;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAgBAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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",lg:"data:image/jpeg;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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"},ye=r(52557),ve=w(r(44914)),we=r(78765),Ae=r(52557),Ce=r(44914),ke=r(74848),xe=()=>{const[e,t]=(0,Ce.useState)([]),[r,i]=(0,Ce.useState)(""),[n,o]=(0,Ce.useState)(5),a=e=>{const t=e-n;return t>0?`View ${t} more alerts`:""},s=r=>{const n=e.filter((e=>e.key!==r));t(n),i(a(n.length)),o(5)};return(0,Ce.useEffect)((()=>{const r=r=>{const n=(new Date).getTime();((r,n,s)=>{const l=[...e,{title:r,variant:n,key:s}];t(l),i(a(l.length)),o(5)})(r.message,r.type,n),r.duration&&setTimeout((()=>{s(n)}),r.duration)};return se.onNotify(r),()=>se.removeListener(re,r)}),[]),(0,ke.jsx)(Ae.AlertGroup,{isToast:!0,isLiveRegion:!0,onOverflowClick:()=>{o(e.length),i("")},overflowMessage:r,children:e.slice(0,n).map((({key:e,variant:t,title:r})=>(0,ke.jsx)(Ae.Alert,{variant:t,title:r,actionClose:(0,ke.jsx)(Ae.AlertActionCloseButton,{title:r,variantLabel:`${t} alert`,onClose:()=>e&&s(e)})},e)))})},Se=r(52557),Te=r(74848),Ee=()=>(0,Te.jsx)(Se.Page,{children:(0,Te.jsx)(Se.Bullseye,{children:(0,Te.jsxs)("div",{style:{justifyContent:"center"},children:[(0,Te.jsx)(Se.Spinner,{diameter:"60px",isSVG:!0,"aria-label":"Loading Hawtio"}),(0,Te.jsx)(Se.TextContent,{children:(0,Te.jsx)(Se.Text,{className:"--pf-global--Color--200",component:Se.TextVariants.h3,children:"Loading ..."})})]})})});function _e(e,t=!1){const r=(e,t=2)=>String(e).padStart(t,"0"),i=e.getFullYear(),n=r(e.getMonth()+1),o=r(e.getDate()),a=r(e.getHours()),s=r(e.getMinutes()),l=r(e.getSeconds());return t?`${i}-${n}-${o} ${a}:${s}:${l}.${r(e.getMilliseconds(),3)}`:`${i}-${n}-${o} ${a}:${s}:${l}`}var Ie,Pe,Me=r(52557),Re=w(r(44914));(Pe=Ie||(Ie={})).sm="sm",Pe.md="md",Pe.lg="lg",Pe.xl="xl";var De=0;function Be({name:e,xOffset:t=0,yOffset:r=0,width:i,height:n,svgPath:o}){var a;return a=class extends Re.Component{constructor(){super(...arguments),this.id="icon-title-"+De++}render(){const e=this.props,{size:a,color:s,title:l,noVerticalAlign:d}=e,c=function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n{switch(e){case Ie.sm:return"1em";case Ie.md:return"1.5em";case Ie.lg:return"2em";case Ie.xl:return"3em";default:return"1em"}})(a),h=-.125*Number.parseFloat(u),m=d?null:{verticalAlign:`${h}em`},f=[t,r,i,n].join(" ");return Re.createElement("svg",Object.assign({style:m,fill:s,height:u,width:u,viewBox:f,"aria-labelledby":p?this.id:null,"aria-hidden":!p||null,role:"img"},c),p&&Re.createElement("title",{id:this.id},l),Re.createElement("path",{d:o}))}},a.displayName=e,a.defaultProps={color:"currentColor",size:Ie.sm,noVerticalAlign:!1},a}var Oe=Be({name:"AsleepIcon",height:1024,width:1024,svgPath:"M512,128 C300.2,128 128,300.3 128,512 C128,723.9 300.2,896 512,896 C723.8,896 896,723.8 896,512 C896,300.2 723.7,128 512,128 M512.1,1024 C229.8,1024 0,794.3 0,512 C0,229.7 229.7,0 512.1,0 C794.5,0 1024,229.7 1024,512 C1024,794.3 794.4,1024 512.1,1024 M744.1,619.2 C723.2,664.3 691.733333,700.333333 649.7,727.3 C607.666667,754.266667 561.766667,767.766667 512,767.801349 C477.880448,767.912684 444.106349,760.967204 412.8,747.4 C381.4,733.8 354,715.7 331,692.7 C308,669.7 289.9,642.6 276.3,611.1 C262.774308,579.78407 255.863244,546.011774 255.998009,511.9 C255.891693,478.450317 262.417551,445.311196 275.2,414.4 C288,383.4 305.333333,356.566667 327.2,333.9 C349.066667,311.233333 375.233333,292.966667 405.7,279.1 C436.09495,265.229747 468.913253,257.449838 502.3,256.2 C512,255.8 523.3,262.3 527.1,271.4 C531.1,280.5 531.7,290.8 524.3,297.7 C505.1,315 488.3,335.2 478.2,358.2 C468.1,381.2 460.8,403.2 460.8,428.7 C460.8,461.6 466.7,489.6 482.9,517.4 C498.746034,544.796001 521.503999,567.553966 548.9,583.4 C576.6,599.6 607,607.7 639.9,607.7 C666.146645,607.723074 692.070807,601.916608 715.8,590.7 C724.9,586.7 732.9,588.1 739.8,595 C742.843305,598.084991 744.867601,602.02888 745.6,606.3 C746.409483,610.652973 745.8867,615.148908 744.1,619.2",yOffset:0,xOffset:0}),qe=Be({name:"BanIcon",height:512,width:512,svgPath:"M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z",yOffset:0,xOffset:0}),Ne=Be({name:"BarsIcon",height:512,width:448,svgPath:"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z",yOffset:0,xOffset:0}),Le=Be({name:"CheckCircleIcon",height:512,width:512,svgPath:"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z",yOffset:0,xOffset:0}),je=Be({name:"CubeIcon",height:512,width:512,svgPath:"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z",yOffset:0,xOffset:0}),Fe=Be({name:"CubesIcon",height:512,width:512,svgPath:"M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z",yOffset:0,xOffset:0}),He=Be({name:"ExclamationCircleIcon",height:512,width:512,svgPath:"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z",yOffset:0,xOffset:0}),Ve=Be({name:"ExclamationTriangleIcon",height:512,width:576,svgPath:"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z",yOffset:0,xOffset:0}),ze=Be({name:"FolderIcon",height:512,width:512,svgPath:"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z",yOffset:0,xOffset:0}),We=Be({name:"FolderOpenIcon",height:512,width:576,svgPath:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z",yOffset:0,xOffset:0}),Ue=Be({name:"HelpIcon",height:1024,width:1024,svgPath:"M521.3,576 C627.5,576 713.7,502 713.7,413.7 C713.7,325.4 627.6,253.6 521.3,253.6 C366,253.6 334.5,337.7 329.2,407.2 C329.2,414.3 335.2,416 343.5,416 L445,416 C450.5,416 458,415.5 460.8,406.5 C460.8,362.6 582.9,357.1 582.9,413.6 C582.9,441.9 556.2,470.9 521.3,473 C486.4,475.1 447.3,479.8 447.3,521.7 L447.3,553.8 C447.3,570.8 456.1,576 472,576 C487.9,576 521.3,576 521.3,576 M575.3,751.3 L575.3,655.3 C575.313862,651.055109 573.620137,646.982962 570.6,644 C567.638831,640.947672 563.552355,639.247987 559.3,639.29884 L463.3,639.29884 C459.055109,639.286138 454.982962,640.979863 452,644 C448.947672,646.961169 447.247987,651.047645 447.29884,655.3 L447.29884,751.3 C447.286138,755.544891 448.979863,759.617038 452,762.6 C454.961169,765.652328 459.047645,767.352013 463.3,767.30116 L559.3,767.30116 C563.544891,767.313862 567.617038,765.620137 570.6,762.6 C573.659349,759.643612 575.360354,755.553963 575.3,751.3 M512,896 C300.2,896 128,723.9 128,512 C128,300.3 300.2,128 512,128 C723.8,128 896,300.2 896,512 C896,723.8 723.7,896 512,896 M512.1,0 C229.7,0 0,229.8 0,512 C0,794.2 229.8,1024 512.1,1024 C794.4,1024 1024,794.3 1024,512 C1024,229.7 794.4,0 512.1,0",yOffset:0,xOffset:0}),Ge=Be({name:"InfoCircleIcon",height:512,width:512,svgPath:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z",yOffset:0,xOffset:0}),Je=Be({name:"LockIcon",height:512,width:448,svgPath:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z",yOffset:0,xOffset:0}),Ke=Be({name:"LongArrowAltDownIcon",height:512,width:256,svgPath:"M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z",yOffset:0,xOffset:0}),Qe=Be({name:"MinusIcon",height:512,width:448,svgPath:"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z",yOffset:0,xOffset:0}),Ye=Be({name:"OutlinedQuestionCircleIcon",height:512,width:512,svgPath:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z",yOffset:0,xOffset:0}),Ze=Be({name:"PauseCircleIcon",height:512,width:512,svgPath:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z",yOffset:0,xOffset:0}),Xe=Be({name:"PlayIcon",height:512,width:448,svgPath:"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z",yOffset:0,xOffset:0}),$e=Be({name:"PluggedIcon",height:1024,width:704,svgPath:"M64,448 C73.8,555.7 76.7,807.9 256,850.2 L256,1024 L448,1024 L448,851.6 C627.2,807.9 626,603.2 640,448 L64,448 Z M576,256 L576,32.2 C576,14.5 561.6,0.1 543.8,0.2 L479.8,0.5 C462.2,0.6 448,14.9 448,32.5 L448,256 L256,256 L256,32 C256,14.3 241.7,0 224,0 L160,0 C142.3,0 128,14.3 128,32 L128,256 L0,256 L0,384 L704,384 L704,256 L576,256 Z",yOffset:0,xOffset:0}),et=Be({name:"PlusCircleIcon",height:512,width:512,svgPath:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z",yOffset:0,xOffset:0}),tt=Be({name:"PlusIcon",height:512,width:448,svgPath:"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z",yOffset:0,xOffset:0}),rt=Be({name:"QuestionCircleIcon",height:512,width:512,svgPath:"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z",yOffset:0,xOffset:0}),it=Be({name:"RedoIcon",height:512,width:512,svgPath:"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z",yOffset:0,xOffset:0}),nt=Be({name:"Remove2Icon",height:1024,width:896,svgPath:"M576,128 L576,0 L320,0 L320,128 L0,128 L0,320 L64,256 L832,256 L896,320 L896,128 L576,128 Z M512,128 L384,128 L384,64 L512,64 L512,128 Z M64,320 L128,1024 L731.4,1024 L832,320 L64,320 Z",yOffset:0,xOffset:0}),ot=Be({name:"SearchIcon",height:512,width:512,svgPath:"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z",yOffset:0,xOffset:0}),at=Be({name:"TimesCircleIcon",height:512,width:512,svgPath:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z",yOffset:0,xOffset:0}),st=Be({name:"TrashIcon",height:512,width:448,svgPath:"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z",yOffset:0,xOffset:0}),lt=Be({name:"TrendUpIcon",height:1024,width:960,svgPath:"M960,224 C960,206.3 945.7,192 928,192 L480,192 C462.3,192 448,206.3 448,224 L448,288 C448,305.7 462.3,320 480,320 L741.5,320 L450.3,614.2 L343.7,507.2 C331.2,494.7 310.9,494.6 298.4,507.2 L9.4,796.2 C3.1,802.4 0,810.6 0,818.7 C0,826.9 3.1,835.1 9.4,841.3 L54.7,886.6 C60.9,892.8 69.1,896 77.3,896 C85.5,896 93.7,892.9 99.9,886.6 L320.9,665.6 L427.5,772.6 C440,785.1 460.3,785.2 472.8,772.6 L832,410.5 L831,672 C831,689.7 844.3,704 862,704 L926,704 C943.7,704 960,689.7 960,672 L960,224 Z",yOffset:0,xOffset:0}),dt=Be({name:"UnpluggedIcon",height:1024,width:958,svgPath:"M346.935298,837.9 C358.136437,843 370.137658,847.099 383.038971,850.2 L383.038971,1024 L575.058507,1024 L575.058507,851.599 C754.276741,807.9 753.076619,603.2 767.078043,448 L736.874971,448 L346.935298,837.9 Z M944.096053,146.9 L81.9083335,1009 C72.507377,1018.4 60.3061356,1023 48.0048841,1023 C35.7036325,1023 23.5023912,1018.299 14.1014347,1009 C4.70047823,999.599 0,987.299 0,975 C0,962.7 4.70047823,950.5 14.0014245,941.099 L238.624278,716.5 C200.12036,625.2 196.720015,511.5 190.919424,448 L507.151598,448 L571.15811,384 L127.012922,384 L127.012922,256 L255.025947,256 L255.025947,32 C255.025947,14.299 269.327402,0 287.029203,0 L351.035715,0 C368.737516,0 383.038971,14.299 383.038971,32 L383.038971,256 L575.058507,256 L575.058507,32.5 C575.058507,14.9 589.259952,0.6 606.861743,0.5 L670.868255,0.2 C688.570056,0.1 703.071531,14.5 703.071531,32.2 L703.071531,252.2 L876.189145,79 C886.990243,68.2 901.791749,63.6 915.893184,65.299 C926.194232,66.5 936.095239,71.1 943.996043,79 C953.397,88.4 958,100.6 958,112.9 C958.097478,125.2 953.397,137.5 944.096053,146.9 L944.096053,146.9 Z",yOffset:0,xOffset:0}),ct=r(44914),pt=r(78765),ut=N.get("hawtio-ui-login"),ht="login",mt=new class{login(e,t,r){return C(this,null,(function*(){var i;try{const n=yield fetch("auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e,password:t})});if(!n.ok)return ut.error("Login error:",n),429===n.status?{type:"throttled",retryAfter:parseInt(null!=(i=n.headers.get("Retry-After"))?i:"0")}:{type:"failure"};const o=yield n.text();return ut.debug("Server login success:",o),r?this.rememberUser(e):this.clearUser(),{type:"success"}}catch(e){return ut.error("Login error:",e),se.notify({type:"danger",message:`Login error: ${e}`}),{type:"failure"}}}))}getUser(){const e=localStorage.getItem(ht);return e&&JSON.parse(e).username||""}rememberUser(e){localStorage.setItem(ht,JSON.stringify({username:e}))}clearUser(){localStorage.removeItem(ht)}},ft=r(74848),gt=()=>{const e=(0,pt.useNavigate)(),{isLogin:t}=Z(),[r,i]=(0,ct.useState)(mt.getUser()),[n,o]=(0,ct.useState)(!0),[a,s]=(0,ct.useState)(""),[l,d]=(0,ct.useState)(!0),[c,p]=(0,ct.useState)(""!==r),[u,h]=(0,ct.useState)(!1),[m,f]=(0,ct.useState)(""),[g,b]=(0,ct.useState)(!0);ut.debug(`Login state: username = ${r}, isLogin = ${t}`);const y=()=>{o(!0),d(!0),h(!1),f(""),b(!0)};return(0,ft.jsx)(Me.LoginForm,{showHelperText:u,helperText:m,helperTextIcon:(0,ft.jsx)(He,{}),usernameLabel:"Username",usernameValue:r,onChangeUsername:i,isValidUsername:n,passwordLabel:"Password",passwordValue:a,onChangePassword:s,isValidPassword:l,rememberMeLabel:"Remember username",isRememberMeChecked:c,onChangeRememberMe:()=>p(!c),onLoginButtonClick:t=>{t.preventDefault(),y();let i=!1;""===r.trim()&&(o(!1),h(!0),i=!0),""===a&&(d(!1),h(!0),i=!0),i?f("Username/password should not be empty"):mt.login(r,a,c).then((t=>{switch(t.type){case"success":e("/"),e(0);break;case"failure":h(!0),f("Invalid login credentials"),o(!1),d(!1);break;case"throttled":{const{retryAfter:e}=t;h(!0),f(`Login attempt blocked. Retry after ${function(e){const t=(e,t)=>`${Number.isInteger(e)?e:e.toFixed(1)} ${t}`+(1===e?"":"s");return e<60?t(e,"second"):e<3600?t(e/60,"minute"):e<86400?t(e/3600,"hour"):t(e/86400,"day")}(e)}`),o(!1),d(!1),b(!1),setTimeout(y,1e3*e);break}}}))},loginButtonLabel:"Log in",isLoginButtonDisabled:!g})},bt=r(74848),yt=()=>{var e,t,r,i,n,o,a,s,l,d;const c=(0,we.useNavigate)(),{isLogin:p,userLoaded:u}=Z(),{hawtconfig:h,hawtconfigLoaded:m}=me(),{plugins:f,pluginsLoaded:g}=he();if(!u||!m||!g)return ut.debug("Loading:","user =",u,", hawtconfig =",m,", pluginsLoaded =",g),(0,bt.jsx)(Ee,{});p&&c("/");let b=(0,bt.jsx)(gt,{});const y=f.filter((e=>e.isLogin));if(ut.debug("Discovered Login Plugins:",y.length),y.length>0){ut.debug("Found Login Plugins ... Customising the Login Page");const e=y[0],t=null==e?void 0:e.component;t&&(ut.debug("Building with customised login form component"),b=ve.default.createElement(t))}const v=null!=(t=null==(e=h.branding)?void 0:e.appLogoUrl)?t:ge,w=null!=(i=null==(r=h.branding)?void 0:r.appName)?i:j,A=null!=(o=null==(n=h.login)?void 0:n.description)?o:"",C=null!=(s=null==(a=h.login)?void 0:a.links)?s:[],k=null!=(d=null==(l=h.login)?void 0:l.title)?d:F,x=(0,bt.jsx)(ve.default.Fragment,{children:C.map(((e,t)=>(0,bt.jsx)(ye.ListItem,{children:(0,bt.jsx)(ye.LoginFooterItem,{href:e.url,children:e.text})},`footer-link-${t}`)))});return(0,bt.jsxs)(ye.LoginPage,{backgroundImgSrc:be,brandImgSrc:v,brandImgAlt:w,loginTitle:k,textContent:A,footerListItems:x,footerListVariants:ye.ListVariant.inline,children:[b,(0,bt.jsx)(xe,{})]})},vt=r(52557),wt=w(r(44914)),At=w(r(58937)),Ct=r(78765),kt=new class{constructor(){A(this,"helps",{})}add(e,t,r,i=100){if(this.helps[e])throw new Error(`Help '${e}' already registered`);this.helps[e]={id:e,title:t,content:r,order:i}}getHelps(){return Object.values(this.helps).sort(((e,t)=>e.order-t.order))}reset(){this.helps={}}},xt=r(74848);kt.add("home","Home","## Hawtio Help\n\nHawtio is a lightweight and modular Web console for managing Java and JVM applications.\n\n### Plugin help\n\nBrowse the available help topics for plugin specific documentation using the help navigation bar.\n\n### Further reading\n\n- [Hawtio](https://hawt.io 'Hawtio') website\n- Help improve Hawtio by [contributing](https://hawt.io/docs/contributing/)\n- Hawtio on [GitHub](https://github.com/hawtio/hawtio)\n",1);var St=()=>{const e=(0,Ct.useLocation)();return(0,xt.jsxs)(wt.default.Fragment,{children:[(0,xt.jsx)(vt.PageSection,{variant:vt.PageSectionVariants.light,children:(0,xt.jsx)(vt.Title,{headingLevel:"h1",children:"Help"})}),(0,xt.jsx)(vt.PageGroup,{children:(0,xt.jsx)(vt.PageNavigation,{children:(0,xt.jsx)(vt.Nav,{"aria-label":"Nav",variant:"tertiary",children:(0,xt.jsx)(vt.NavList,{children:kt.getHelps().map((t=>(0,xt.jsx)(vt.NavItem,{isActive:e.pathname===`/help/${t.id}`,children:(0,xt.jsx)(Ct.NavLink,{to:t.id,children:t.title})},t.id)))})})})}),(0,xt.jsx)(vt.PageSection,{children:(0,xt.jsx)(vt.Card,{isFullHeight:!0,children:(0,xt.jsxs)(Ct.Routes,{children:[kt.getHelps().map((e=>(0,xt.jsx)(Ct.Route,{path:e.id,element:(0,xt.jsx)(vt.CardBody,{children:(0,xt.jsx)(vt.TextContent,{children:(0,xt.jsx)(At.default,{children:e.content})})})},e.id))),(0,xt.jsx)(Ct.Route,{path:"/",element:(0,xt.jsx)(Ct.Navigate,{to:"home"})})]})})})]})},Tt=N.get("hawtio-util");function Et(e,t){return C(this,null,(function*(){try{const r=yield fetch(e);if(!r.ok)return Tt.error("Failed to fetch",e,":",r.status,r.statusText),t.error();const i=yield r.text();return t.success(i)}catch(r){return Tt.error("Failed to fetch",e,":",r),t.error()}}))}function _t(e,t){return`Basic ${window.btoa(`${e}:${t}`)}`}function It(e){var t;if(null==e)return null;const r=document.cookie.split(";").map((e=>e.split("="))).find((t=>t.length>1&&t[0]===e));return null!=(t=null==r?void 0:r[1])?t:null}var Pt=w(r(74692)),Mt=w(r(18766)),Rt=N.get("hawtio-auth-keycloak"),Dt="keycloak/client-config",Bt=new class{constructor(){A(this,"enabled"),A(this,"config"),A(this,"keycloak"),A(this,"userProfile"),Rt.debug("Initialising Keycloak"),this.enabled=this.loadKeycloakEnabled(),this.config=this.loadKeycloakConfig(),this.keycloak=this.createKeycloak(),this.userProfile=this.loadUserProfile()}loadKeycloakEnabled(){return Et("keycloak/enabled",{success:e=>{const t="true"===e.trim();return Rt.debug("Keycloak enabled:",t),t},error:()=>!1})}loadKeycloakConfig(){return C(this,null,(function*(){return(yield this.enabled)?Et(Dt,{success:e=>(Rt.debug("Loaded",Dt,":",e),JSON.parse(e)),error:()=>null}):null}))}createKeycloak(){return C(this,null,(function*(){const e=yield this.enabled,t=yield this.config;return e&&t?new Mt.default(t):(Rt.debug("Keycloak disabled"),null)}))}loadUserProfile(){return C(this,null,(function*(){const e=yield this.keycloak;if(!e)return null;const t=yield this.getKeycloakInitOptions();try{const r=yield e.init(t);if(Rt.debug("Initialised Keycloak: authenticated =",r),!r)return e.login({redirectUri:window.location.href}),null;try{const t=yield e.loadUserProfile();return Rt.debug("Loaded Keycloak profile:",t),t.token=e.token,t}catch(e){Rt.error("Failed to load user profile:",e)}}catch(e){Rt.error("Failed to initialise Keycloak:",e)}return null}))}getKeycloakInitOptions(){return C(this,null,(function*(){const e=yield this.config;return{onLoad:"login-required",pkceMethod:null==e?void 0:e.pkceMethod}}))}isKeycloakEnabled(){return this.enabled}registerUserHooks(){Q.addFetchUserHook("keycloak",(e=>C(this,null,(function*(){const t=yield this.keycloak,r=yield this.userProfile;return!(!t||!r||(r.username&&r.token&&(e({username:r.username,isLogin:!0}),Q.setToken(r.token)),this.setupJQueryAjax(),this.setupFetch(),0))})))),Q.addLogoutHook("keycloak",(()=>C(this,null,(function*(){const e=yield this.keycloak;if(!e)return!1;Rt.info("Log out Keycloak");try{yield e.logout()}catch(e){Rt.error("Error logging out Keycloak:",e)}return!0}))))}setupJQueryAjax(){return C(this,null,(function*(){const e=yield this.keycloak,t=yield this.config;e&&t&&(Rt.debug("Set authorization header to Keycloak token for AJAX requests"),Pt.default.ajaxSetup({beforeSend:(r,i)=>{const n="jQuery -";if(!e.authenticated||e.isTokenExpired(5))return Rt.debug(n,"Try to update token for request:",i.url),this.updateToken((e=>{e&&(Rt.debug(n,"Keycloak token refreshed. Set new value to userService"),Q.setToken(e)),Rt.debug(n,"Re-sending request after successfully updating Keycloak token:",i.url),Pt.default.ajax(i)}),(()=>{Rt.debug(n,"Logging out due to token update failed"),Q.logout()})),!1;if(t.jaas)if(e.profile&&e.profile.username&&e.token){const t=_t(e.profile.username,e.token);r.setRequestHeader("Authorization",t)}else Rt.error(n,"Keycloak username or token not found in JAAS mode:",e.profile,e.token);else r.setRequestHeader("Authorization",`Bearer ${e.token}`);const o=It("XSRF-TOKEN");o&&(Rt.debug(n,"Set XSRF token header from cookies"),r.setRequestHeader("X-XSRF-TOKEN",o))}}))}))}setupFetch(){return C(this,null,(function*(){const e=yield this.keycloak,t=yield this.config;if(!e||!t)return;Rt.debug("Intercept Fetch API to attach Keycloak token to authorization header");const{fetch:r}=window;window.fetch=(i,n)=>C(this,null,(function*(){const o="Fetch -";if(Rt.debug(o,"Fetch intercepted for Keycloak authentication"),!e.authenticated||e.isTokenExpired(5))return Rt.debug(o,"Try to update token for request:",i),new Promise(((e,t)=>{this.updateToken((t=>{t&&(Rt.debug(o,"Keycloak token refreshed. Set new value to userService"),Q.setToken(t)),Rt.debug(o,"Re-sending request after successfully updating Keycloak token:",i),e(fetch(i,n))}),(()=>{Rt.debug(o,"Logging out due to token update failed"),Q.logout(),t()}))}));n=f({},n),t.jaas?e.profile&&e.profile.username&&e.token?n.headers=g(f({},n.headers),{Authorization:_t(e.profile.username,e.token)}):Rt.error(o,"Keycloak username or token not found in JAAS mode:",e.profile,e.token):n.headers=g(f({},n.headers),{Authorization:`Bearer ${e.token}`});const a=It("XSRF-TOKEN");return a&&(Rt.debug(o,"Set XSRF token header from cookies"),n.headers=g(f({},n.headers),{"X-XSRF-TOKEN":a})),r(i,n)}))}))}updateToken(e,t){return C(this,null,(function*(){const r=yield this.keycloak;r&&r.updateToken(5).then((t=>{if(t){const t=r.token;t&&e(t)}else Rt.debug("Token is still valid")})).catch((e=>{Rt.error("Couldn't update token:",e),null==t||t()}))}))}validateSubjectMatches(e){return Et(`keycloak/validate-subject-matches?keycloakUser=${encodeURIComponent(e)}`,{success:e=>(Rt.debug("Got response for validate subject matches:",e),JSON.parse(e)),error:()=>!1})}},Ot=()=>{Bt.registerUserHooks(),kt.add("keycloak","Keycloak","## Keycloak\n\nThe Keycloak plugin allows you to integrate Hawtio console with Keycloak authentication.\n",21)},qt=r(41278),Nt=w(r(68128)),Lt=w(r(74692)),jt=N.get("hawtio-oidc"),Ft=new class{constructor(){A(this,"config"),A(this,"enabled"),A(this,"oidcMetadata"),A(this,"userInfo"),A(this,"originalFetch"),this.config=Et("auth/config",{success:e=>JSON.parse(e),error:()=>null}),this.enabled=this.isOidcEnabled(),this.oidcMetadata=this.fetchOidcMetadata(),this.userInfo=this.initialize(),this.originalFetch=fetch}isOidcEnabled(){return C(this,null,(function*(){const e=yield this.config;return"oidc"===(null==e?void 0:e.method)&&null!=(null==e?void 0:e.provider)}))}fetchOidcMetadata(){return C(this,null,(function*(){let e=null;const t=yield this.enabled,r=yield this.config;if(!t||!r)return jt.debug("OpenID authorization is disabled"),null;if(r["openid-configuration"])return jt.info("Using pre-fetched openid-configuration"),r["openid-configuration"];{jt.info("Fetching openid-configuration");const t=new URL(r.provider);return e=yield Nt.discoveryRequest(t).catch((e=>{jt.error("Failed OIDC discovery request",e)})),e&&e.ok?yield Nt.processDiscoveryResponse(t,e):null}}))}initialize(){return C(this,null,(function*(){var e;const t=yield this.config,r=yield this.enabled,i=yield this.oidcMetadata;if(!t||!r||!i)return null;let n=null;"fragment"===t.response_mode?window.location.hash&&window.location.hash.length>0&&(n=new URLSearchParams(window.location.hash.substring(1))):"query"===t.response_mode&&(window.location.search||window.location.search.length>0)&&(n=new URLSearchParams(window.location.search.substring(1)));const o=["code","state"];i.authorization_response_iss_parameter_supported&&o.push("iss");let a=null!=n,s=!1;if(null!=n&&(o.forEach((e=>{a&&(a=null!=n.get(e))})),["error"].forEach((e=>{s||(s=null!=n.get(e))}))),s){const e={error:null==n?void 0:n.get("error"),error_description:null==n?void 0:n.get("error_description"),error_uri:null==n?void 0:n.get("error_uri")};return jt.error("OpenID Connect error",e),null}if(!a){const e=t.code_challenge_method,r=Nt.generateRandomCodeVerifier(),n=yield Nt.calculatePKCECodeChallenge(r),o=Nt.generateRandomState(),a=Nt.generateRandomNonce();localStorage.removeItem("hawtio-oidc-login"),localStorage.setItem("hawtio-oidc-login",JSON.stringify({st:o,cv:r,n:a,h:window.location.href})),jt.info("Added to local storage",localStorage.getItem("hawtio-oidc-login"));const s=new URL(i.authorization_endpoint);return s.searchParams.set("response_type","code"),s.searchParams.set("response_mode",t.response_mode),s.searchParams.set("client_id",t.client_id),s.searchParams.set("redirect_uri",t.redirect_uri),s.searchParams.set("scope",t.scope),e&&(s.searchParams.set("code_challenge_method",e),s.searchParams.set("code_challenge",n)),s.searchParams.set("state",o),s.searchParams.set("nonce",a),t.prompt&&s.searchParams.set("prompt",t.prompt),jt.info("Redirecting to ",s),window.location.assign(s),new Promise(((e,t)=>{jt.debug("Waiting for redirect")}))}const l={client_id:t.client_id,token_endpoint_auth_method:"none"},d=n.get("state"),c=Nt.validateAuthResponse(i,l,n,d);if(Nt.isOAuth2Error(c))return jt.error("OpenID Authorization error",c),null;jt.info("Getting localStore data, because we have params",n);const p=localStorage.getItem("hawtio-oidc-login");if(!p)return jt.warn("No local data, can't proceed with OpenID authorization grant"),null;const u=JSON.parse(p);if(!u.cv||!u.st)return jt.warn("Missing local data, can't proceed with OpenID authorization grant"),null;const h=yield Nt.authorizationCodeGrantRequest(i,l,c,t.redirect_uri,u.cv,{}).catch((e=>(jt.warn("Problem accessing OpenID token endpoint",e),null)));if(!h)return null;const m=yield Nt.processAuthorizationCodeOpenIDResponse(i,l,h,u.n,Nt.skipAuthTimeCheck).catch((e=>(jt.warn("Problem processing OpenID token response",e),null)));if(!m)return null;if(Nt.isOAuth2Error(m))return jt.error("OpenID Token error",m),null;const f=m.access_token,g=m.refresh_token;let b=0;try{const e=(0,qt.jwtDecode)(f);e.exp?b=e.exp:(b=0,jt.warn('Access token doesn\'t contain "exp" information'))}catch(e){jt.warn("Problem determining access token validity",e)}const y=Nt.getValidatedIdTokenClaims(m),v=null!=(e=y.preferred_username)?e:y.sub;return window.history.replaceState(null,"",u.h),this.setupJQueryAjax(),this.setupFetch(),{user:v,access_token:f,refresh_token:g,at_exp:b}}))}isTokenExpiring(e){return e-5C(this,null,(function*(){if(t&&!t())return!1;const r=yield this.userInfo;return!!r&&(e({username:r.user,isLogin:!0}),Q.setToken(r.access_token),!0)})))),Q.addLogoutHook("oidc",(()=>C(this,null,(function*(){const e=yield this.oidcMetadata;return!!(null==e?void 0:e.end_session_endpoint)&&(window.location.replace(null==e?void 0:e.end_session_endpoint),!0)}))))}updateToken(e,t){return C(this,null,(function*(){const r=yield this.userInfo;if(r)if(r.refresh_token){const i=yield this.config,n=yield this.enabled,o=yield this.oidcMetadata;if(!i||!n||!o)return;const a={client_id:i.client_id,token_endpoint_auth_method:"none"},s={[Nt.customFetch]:this.originalFetch},l=yield Nt.refreshTokenGrantRequest(o,a,r.refresh_token,s).catch((e=>{jt.error("Problem refreshing token",e),t&&t()}));if(!l)return;const d=yield Nt.processRefreshTokenResponse(o,a,l).catch((e=>{jt.error("Problem processing refresh token response",e)}));if(!d)return;r.access_token=d.access_token,r.refresh_token=d.refresh_token;const c=(0,qt.jwtDecode)(r.access_token);c.exp?r.at_exp=c.exp:(r.at_exp=0,jt.warn('Access token doesn\'t contain "exp" information')),this.userInfo=Promise.resolve(r),e(r)}else jt.error("No refresh token available")}))}setupJQueryAjax(){return C(this,null,(function*(){let e=yield this.userInfo;e&&(jt.debug("Set authorization header to OIDC token for AJAX requests"),Lt.default.ajaxSetup({beforeSend:(t,r)=>{const i="jQuery -";if(e&&(!e.access_token||this.isTokenExpiring(e.at_exp)))return jt.debug(i,"Try to update token for request:",r.url),this.updateToken((t=>{t&&(e=t,jt.debug(i,"OIDC token refreshed. Set new value to userService"),Q.setToken(e.access_token)),jt.debug(i,"Re-sending request after successfully updating OIDC token:",r.url),Lt.default.ajax(r)}),(()=>{jt.debug(i,"Logging out due to token update failed"),Q.logout()})),!1;t.setRequestHeader("Authorization",`Bearer ${e.access_token}`);const n=It("XSRF-TOKEN");n&&(jt.debug(i,"Set XSRF token header from cookies"),t.setRequestHeader("X-XSRF-TOKEN",n))}}))}))}setupFetch(){return C(this,null,(function*(){let e=yield this.userInfo;if(!e)return;jt.debug("Intercept Fetch API to attach OIDC token to authorization header");const{fetch:t}=window;this.originalFetch=t,window.fetch=(r,i)=>C(this,null,(function*(){const n="Fetch -";if(jt.debug(n,"Fetch intercepted for OIDC authentication"),e&&(!e.access_token||this.isTokenExpiring(e.at_exp)))return jt.debug(n,"Try to update token for request:",r),new Promise(((t,o)=>{this.updateToken((o=>{o&&(e=o,jt.debug(n,"OIDC token refreshed. Set new value to userService"),Q.setToken(e.access_token)),jt.debug(n,"Re-sending request after successfully updating OIDC token:",r),t(fetch(r,i))}),(()=>{jt.debug(n,"Logging out due to token update failed"),Q.logout(),o()}))}));(i=f({},i)).headers=g(f({},i.headers),{Authorization:`Bearer ${e.access_token}`});const o=It("XSRF-TOKEN");return o&&(jt.debug(n,"Set XSRF token header from cookies"),i.headers=g(f({},i.headers),{"X-XSRF-TOKEN":o})),t(r,i)}))}))}},Ht=()=>{Ft.registerUserHooks(),kt.add("oidc","OpenID Connect","## OpenID Connect\n\nThe OIDC plugin allows you to integrate Hawtio console with generic OIDC provider.\n",22)},Vt=r(52557),zt=r(74848),Wt=({title:e,message:t,testid:r="empty"})=>(0,zt.jsxs)(Vt.Card,{children:[e&&(0,zt.jsx)(Vt.CardTitle,{children:e}),(0,zt.jsx)(Vt.CardBody,{children:(0,zt.jsxs)(Vt.Text,{"data-testid":r,component:"p",children:[(0,zt.jsx)(Ge,{})," ",t]})})]}),Ut=r(52557),Gt=r(74848),Jt=({message:e="Loading...",testid:t="loading"})=>(0,Gt.jsx)(Ut.Card,{children:(0,Gt.jsx)(Ut.CardBody,{children:(0,Gt.jsx)(Ut.Skeleton,{"data-testid":t,screenreaderText:e})})}),Kt=r(44914),Qt=r(52557),Yt=r(96527),Zt=r(44914);function Xt(){const[e,t]=(0,Zt.useState)(null);return{selectedNode:e,setSelectedNode:t}}var $t=(0,Zt.createContext)({selectedNode:null,setSelectedNode:()=>{}}),er=r(74848),tr=()=>{const{selectedNode:e,setSelectedNode:t}=(0,Kt.useContext)($t);if(!e)return null;const r=(e.children||[]).map((e=>[e.name,e.objectName||"-"]));return 0===r.length?(0,er.jsx)(Qt.Card,{children:(0,er.jsx)(Qt.CardBody,{children:(0,er.jsxs)(Qt.Text,{component:"p",children:[(0,er.jsx)(Ge,{})," This node has no MBeans."]})})}):(0,er.jsx)(Qt.Card,{isFullHeight:!0,children:(0,er.jsxs)(Yt.Table,{"aria-label":"MBeans",variant:"compact",cells:["MBean","Object Name"],rows:r,children:[(0,er.jsx)(Yt.TableHeader,{}),(0,er.jsx)(Yt.TableBody,{onRowClick:(r,i)=>{var n;const o=i[0],a=null==(n=e.children)?void 0:n.find((e=>e.name===o));a&&t(a)},className:"jmx-table-body"})]})})},rr=r(44914),ir=r(52557),nr=r(74848),or=e=>{const[t,r]=(0,rr.useState)(!1);return(0,nr.jsx)(ir.Toolbar,{style:{padding:0},children:(0,nr.jsx)(ir.ToolbarContent,{style:{padding:0},children:(0,nr.jsxs)(ir.ToolbarGroup,{variant:"filter-group",children:[(0,nr.jsx)(ir.ToolbarItem,{variant:"search-filter",widths:{default:"100%"},children:(0,nr.jsx)(ir.TreeViewSearch,{onSearch:t=>{e.onSearch&&e.onSearch(t)},id:"input-search",name:"search-input","aria-label":"Search input example"})}),(0,nr.jsx)(ir.ToolbarItem,{variant:"expand-all",children:(0,nr.jsx)(ir.Button,{variant:"link","aria-label":"Expand Collapse",onClick:()=>{const i=!t;r(i),e.onSetExpanded&&e.onSetExpanded(i)},children:t?"Collapse all":"Expand all"})})]})})})};function ar(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)}function sr(e){return 0===Object.keys(e).length}function lr(e){return"string"==typeof e||e instanceof String}function dr(e){return"number"==typeof e&&!Number.isNaN(e)}function cr(e,t,r){return dr(e)?r?t-e:e-t:I(e,t,r)}var pr=r(52557),ur=r(96527),hr=w(r(44914)),mr="hawtio-shared",fr=N.get(mr),gr=r(52557),br=r(44914);function yr(e,t,r={}){return Cr(e,t,r)}function vr(e,t,r={}){return Cr(e,t,r)}function wr(e,t,r={}){return Cr(e,t,r)}function Ar(e,t,r={}){return Cr(e,t,r)}function Cr(e,t,r){return Object.assign({},{method:"post",mimeType:"application/json",canonicalNaming:!1},r,{success:e,error:t})}function kr(e){return encodeURI(xr(e))}function xr(e){return e.replace(/!/g,"!!").replace(/\//g,"!/").replace(/"/g,'!"')}N.get("hawtio-util");var Sr=w(r(64561)),Tr=(r(88176),w(r(74692))),Er=r(2150),_r=r(99086);function Ir(e){return C(this,null,(function*(){const t=yield(0,_r.getFingerprint)(),r=(new TextEncoder).encode(t),i=yield window.crypto.subtle.importKey("raw",r,{name:"PBKDF2"},!1,["deriveKey"]),n={name:"PBKDF2",salt:e,iterations:1e5,hash:"SHA-256"};return window.crypto.subtle.deriveKey(n,i,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}))}function Pr(e){return window.btoa(String.fromCharCode(...Array.from(e)))}function Mr(e){return new Uint8Array(Array.from(window.atob(e)).map((e=>e.charCodeAt(0))))}function Rr(e,t){var r,i,n;const o=null==(n=(null!=(i=(null!=(r=e.split("?")[1])?r:"").split("&"))?i:[]).map((e=>e.split("="))).find((([e,r])=>e&&decodeURIComponent(e)===t)))?void 0:n[1];return o?decodeURIComponent(o):null}var Dr=w(r(64561)),Br={name:"",scheme:"http",host:"localhost",port:8080,path:"/hawtio/jolokia"},Or="connect.connections",qr="connect.currentConnection",Nr="connect.salt",Lr="connect.credentials",jr="con",Fr="redirect",Hr=new class{constructor(){A(this,"currentConnection"),this.currentConnection=this.initCurrentConnection()}initCurrentConnection(){const e=new URL(window.location.href).searchParams;fr.debug("Checking search params:",e.toString());let t=e.get(jr);return t?(sessionStorage.setItem(qr,JSON.stringify(t)),t):(t=sessionStorage.getItem(qr),t?JSON.parse(t):null)}getCurrentConnectionName(){return this.currentConnection}getCurrentConnection(){return C(this,null,(function*(){const e=this.currentConnection?this.getConnection(this.currentConnection):null;if(!e)return null;const t=yield this.getCurrentCredentials();return t?(e.username=t.username,e.password=t.password,this.clearCredentialsOnLogout(),e):e}))}clearCredentialsOnLogout(){se.onLogout((()=>sessionStorage.clear()))}getCurrentCredentials(){return C(this,null,(function*(){const e=sessionStorage.getItem(Nr);if(!e)return null;const t=Mr(e),r=sessionStorage.getItem(Lr);if(!r)return null;const i=yield Ir(t);return JSON.parse(yield function(e,t){return C(this,null,(function*(){var r,i;const n=Mr(null!=(r=t.split(".")[0])?r:""),o=Mr(null!=(i=t.split(".")[1])?i:""),a=yield window.crypto.subtle.decrypt({name:"AES-GCM",iv:n},e,o);return new TextDecoder("utf-8").decode(new Uint8Array(a))}))}(i,r))}))}setCurrentCredentials(e){return C(this,null,(function*(){const t=window.crypto.getRandomValues(new Uint8Array(16));sessionStorage.setItem(Nr,Pr(t));const r=yield Ir(t),i=yield function(e,t){return C(this,null,(function*(){const r=window.crypto.getRandomValues(new Uint8Array(12)),i=(new TextEncoder).encode(t),n=yield window.crypto.subtle.encrypt({name:"AES-GCM",iv:r},e,i);return Pr(r)+"."+Pr(new Uint8Array(n))}))}(r,JSON.stringify(e));sessionStorage.setItem(Lr,i)}))}loadConnections(){const e=localStorage.getItem(Or);if(!e)return{};const t=JSON.parse(e);return Object.values(t).forEach((e=>{"http"!==e.scheme&&"https"!==e.scheme&&(fr.warn("Invalid scheme for connection:",e),e.scheme="http")})),t}saveConnections(e){localStorage.setItem(Or,JSON.stringify(e))}getConnection(e){var t;return null!=(t=this.loadConnections()[e])?t:null}connectionToUrl(e){let t=`${e.scheme}://${e.host}:${e.port}`;return e.path.startsWith("/")||(t+="/"),t+=e.path,t}checkReachable(e){return C(this,null,(function*(){return(yield this.testConnection(e)).ok}))}testConnection(e){return fr.debug("Testing connection:",_(e)),new Promise(((t,r)=>{try{this.createJolokia(e).request({type:"version"},{success:()=>{t({ok:!0,message:"Connection successful"})},ajaxError:e=>{switch(e.status){case 401:t({ok:!0,message:"Connection successful"});break;case 403:this.forbiddenReasonMatches(e,"HOST_NOT_ALLOWED")?t({ok:!1,message:"Host not allowlisted"}):t({ok:!0,message:"Connection successful"});break;default:t({ok:!1,message:"Connection failed"})}}})}catch(e){fr.error(e),r(e)}}))}forbiddenReasonMatches(e,t){return e.responseJSON&&e.responseJSON.reason?e.responseJSON.reason===t:e.getResponseHeader("Hawtio-Forbidden-Reason")===t}connect(e){var t;fr.debug("Connecting with options:",_(e));const r=`${null!=(t=pe.getBasePath())?t:""}/?${jr}=${e.name}`;fr.debug("Opening URL:",r),window.open(r)}login(e,t){return C(this,null,(function*(){const r=yield this.getCurrentConnection();return!!r&&(!!(yield new Promise((i=>{r.username=e,r.password=t,this.createJolokia(r,!0).request({type:"version"},{success:()=>i(!0),error:()=>i(!1),ajaxError:()=>i(!1)})})))&&(yield this.setCurrentCredentials({username:e,password:t}),this.clearCredentialsOnLogout(),!0))}))}redirect(){var e,t,r;const i=new URL(window.location.href);let n=null!=(e=i.searchParams.get(Fr))?e:"/",o=!1;try{const{hostname:e,port:r,protocol:a,searchParams:s}=new URL(n),l=null!=(t=s.get(jr))?t:"";o=e===i.hostname&&r===i.port&&["http:","https:"].includes(a)&&""!==l&&l===this.currentConnection}catch(e){fr.error("Invalid URL"),se.notify({type:"danger",message:"Redirect parameter was modified"})}o||(n=null!=(r=pe.getBasePath())?r:"/"),fr.debug("Redirect to:",n),window.location.href=encodeURI(n)}createJolokia(e,t=!1){return t?new Dr.default({url:this.getJolokiaUrl(e),method:"post",mimeType:"application/json",username:e.username,password:e.password}):new Dr.default({url:this.getJolokiaUrl(e),method:"post",mimeType:"application/json"})}getJolokiaUrl(e){var t,r,i,n;if(fr.debug("Connect to server with connection:",_(e)),e.jolokiaUrl)return fr.debug("Using provided URL:",e.jolokiaUrl),e.jolokiaUrl;const o=function(...e){const t=[];return e.forEach(((r,i)=>{E(r)||("/"!==r?(0!==i&&r.match(/^\//)&&(r=r.slice(1)),i(e[e.DEFAULT=0]="DEFAULT",e[e.OPTIMISED=1]="OPTIMISED",e[e.UNDETERMINED=2]="UNDETERMINED",e))(Kr||{}),Qr="hawtio:type=security,name=RBACRegistry",Yr="connect.jolokia.options",Zr="connect.jolokia.updateRate",Xr="connect.jolokia.autoRefresh",$r=class{constructor(){A(this,"CLIENT_VERSION","DUMMY"),A(this,"isDummy",!0),A(this,"running",!1)}request(...e){return null}getAttribute(e,t,r,i){var n,o;return"string"!=typeof r&&(null==(n=null==r?void 0:r.success)||n.call(r,{})),null==(o=null==i?void 0:i.success)||o.call(i,{}),null}setAttribute(e,t,r,i,n){var o,a;"string"!=typeof i&&(null==(o=null==i?void 0:i.success)||o.call(i,{})),null==(a=null==n?void 0:n.success)||a.call(n,{})}execute(e,t,...r){return null==r||r.forEach((e=>(0,Er.is)(e,(0,Er.type)({success:(0,Er.func)()}))&&e.success(null))),null}search(e,t){var r;return null==(r=null==t?void 0:t.success)||r.call(t,[]),null}list(e,t){var r,i;return"string"==typeof e||Array.isArray(e)||null==(r=null==e?void 0:e.success)||r.call(e,{}),null==(i=null==t?void 0:t.success)||i.call(t,{}),null}version(e){var t;return null==(t=null==e?void 0:e.success)||t.call(e,{}),{}}register(e,...t){return 0}unregister(e){}jobs(){return[]}start(e){this.running=!0}stop(){this.running=!1}isRunning(){return this.running}addNotificationListener(e){}removeNotificationListener(e){}unregisterNotificationClient(){}},ei=new class{constructor(){A(this,"jolokiaUrl"),A(this,"jolokia"),A(this,"config",{method:0,mbean:Qr})}reset(){this.jolokiaUrl=void 0,this.jolokia=void 0,this.config={method:0,mbean:Qr}}getJolokiaUrl(){return this.jolokiaUrl||(this.jolokiaUrl=this.initJolokiaUrl()),this.jolokiaUrl}getJolokia(){return this.jolokia||(this.jolokia=this.createJolokia((e=>{e.version(function(e,t,r={}){return Cr(e,t,r)}((t=>{fr.info("Jolokia version:",{client:e.CLIENT_VERSION,agent:t.agent})}),(e=>fr.error("Failed to fetch Jolokia version:",e))));const t=this.loadUpdateRate();e.start(t),fr.info("Jolokia started with update rate =",t)}))),this.jolokia}initJolokiaUrl(){return C(this,null,(function*(){if(!(yield Q.isLogin()))throw new Error("User needs to have logged in to use Jolokia service");const e=Hr.getCurrentConnectionName();if(e)return fr.debug("Connection provided, not discovering Jolokia: con =",e),Hr.getJolokiaUrlFromName(e);for(const e of Jr){fr.debug("Checking Jolokia path:",e);try{return yield this.tryProbeJolokiaPath(e)}catch(e){}}return fr.debug("No available Jolokia path found"),null}))}tryProbeJolokiaPath(e){return C(this,null,(function*(){return new Promise(((t,r)=>{Tr.default.ajax(e).done(((i,n,o)=>{if(200===o.status){try{const r=JSON.parse(i);if("value"in r&&"agent"in r.value)return fr.debug("Found jolokia agent at:",e,"version:",r.value.agent),void t(e)}catch(e){return void r(e)}r()}else r()})).fail((i=>{if(401===i.status||403===i.status)return fr.debug("Using URL:",e,"assuming it could be an agent but got return code:",i.status),void t(e);r(`${i.status} ${i.statusText}`)}))}))}))}createJolokia(e){return C(this,null,(function*(){if(!(yield this.getJolokiaUrl()))return fr.debug("Use dummy Jolokia"),new $r;if(!Tr.default.ajaxSettings.beforeSend){fr.debug("Set up jQuery beforeSend");const e=yield this.beforeSend();Tr.default.ajaxSetup({beforeSend:e})}const t=yield this.loadJolokiaOptions();t.ajaxError||(t.ajaxError=this.ajaxError());const r=new Sr.default(t);return r.stop(),yield this.checkListOptimisation(r),null==e||e(r),r}))}beforeSend(){return C(this,null,(function*(){const e=yield Hr.getCurrentConnection(),t="Authorization";if((yield Q.isLogin())&&Q.getToken())return fr.debug("Set authorization header to token"),e=>{Q.getToken()&&e.setRequestHeader(t,`Bearer ${Q.getToken()}`)};if(e&&e.token)return r=>r.setRequestHeader(t,`Bearer ${e.token}`);if(e&&e.username&&e.password){fr.debug("Set authorization header to username/password");const r=_t(e.username,e.password);return e=>e.setRequestHeader(t,r)}{const e=It("XSRF-TOKEN");return e?(fr.debug("Set XSRF token header from cookies"),t=>t.setRequestHeader("X-XSRF-TOKEN",e)):(fr.debug("Not set any authorization header"),()=>{})}}))}ajaxError(e){let t=0;return r=>{var i;switch(r.status){case 401:case 403:{const e=new URL(window.location.href);if(e.searchParams.has(jr)){const t=Hr.getLoginPath();if(e.pathname!==t){null==(i=this.jolokia)||i.then((e=>e.stop()));const r=window.location.href;e.pathname=t,e.searchParams.append(Fr,r),window.location.href=e.href}}else Q.isLogin().then((e=>{fr.debug("Logging out due to jQuery ajax error: status =",r.status),e&&Q.logout()}));break}default:{t++;const e=this.loadUpdateRate();setTimeout((()=>t--),3*e),t>2&&se.notify({type:"danger",message:"Connection lost. Retrying...",duration:e-100})}}null==e||e()}}checkListOptimisation(e){return C(this,null,(function*(){return fr.debug("Check if we can call optimised jolokia.list() operation"),new Promise((t=>{e.list(xr(this.config.mbean).replace(":","/"),wr((e=>{ar(null==e?void 0:e.op)?this.config.method=1:this.config.method=2,fr.debug("Jolokia list method:",Kr[this.config.method]),t()}),(e=>{fr.debug('Operation "list" failed due to:',e.error),fr.debug("Optimisation on jolokia.list() not available"),t()}),{ajaxError:this.ajaxError(t)}))}))}))}loadJolokiaOptions(){return C(this,null,(function*(){const e=f(f({},Wr),this.loadJolokiaStoredOptions()),t=yield this.getJolokiaUrl();return t&&(e.url=t),e}))}getFullJolokiaUrl(){return C(this,null,(function*(){var e,t;const r=null!=(e=yield this.getJolokiaUrl())?e:"";if(r.match(/^https?:\/\//))return r;const{origin:i}=window.location;return r.startsWith("/")?`${i}${r}`:`${i}${null!=(t=pe.getBasePath())?t:""}/${r}`}))}getListMethod(){return C(this,null,(function*(){return yield this.getJolokia(),this.config.method}))}list(e){return this.doList([],e)}sublist(e,t){return this.doList(Array.isArray(e)?e:[e],t)}doList(e){return C(this,arguments,(function*(e,t={}){e.forEach((e=>{if(e.split("/").length>2)throw new Error("Path cannot specify children of MBean (attr, op, etc.): "+e)}));const r=yield this.getJolokia();if("DUMMY"===r.CLIENT_VERSION)return{};const{method:i,mbean:n}=this.config,{success:o,error:a,ajaxError:s}=t;return new Promise(((l,d)=>{var c;t.ajaxError=(e,t,r)=>{null==s||s(e,t,r),d(r)};const{maxDepth:p}=this.loadJolokiaStoredOptions();switch(p<9&&(t.maxDepth=9),i){case 1:{fr.debug("Invoke Jolokia list MBean in optimised mode:",e);const i=vr((t=>{var r;const i=null==(r=null==e?void 0:e[0])?void 0:r.split("/"),n=this.unwindListResponse(t,i);null==o||o(n),l(n)}),(e=>{null==a||a(e),d(e)}),t);if(0===e.length)r.execute(n,"list()",i);else if(1===e.length)r.execute(n,"list(java.lang.String)",e[0],i);else{const t=e.map((e=>({type:"exec",mbean:n,operation:"list(java.lang.String)",arguments:[e],config:i})));this.bulkList(r,t,i)}break}default:{fr.debug("Invoke Jolokia list MBean in default mode:",e);const i=wr((t=>{var r;const i=null==(r=null==e?void 0:e[0])?void 0:r.split("/"),n=this.unwindListResponse(t,i);null==o||o(n),l(n)}),(e=>{null==a||a(e),d(e)}),t);if(0===e.length)r.list(i);else if(1===e.length)r.list(null!=(c=e[0])?c:"",i);else{const t=e.map((e=>({type:"list",path:e,config:i})));this.bulkList(r,t,i)}}}}))}))}unwindListResponse(e,t){const r=e=>(0,Er.is)(e,(0,Er.type)({desc:(0,Er.string)(),class:(0,Er.optional)((0,Er.string)()),attr:(0,Er.optional)((0,Er.record)((0,Er.string)(),(0,Er.object)())),op:(0,Er.optional)((0,Er.record)((0,Er.string)(),(0,Er.object)())),notif:(0,Er.optional)((0,Er.record)((0,Er.string)(),(0,Er.object)()))})),i=e=>(0,Er.is)(e,(0,Er.record)((0,Er.string)(),(0,Er.define)("MBeanInfo",r)));if(n=e,(0,Er.is)(n,(0,Er.object)({cache:(0,Er.object)(),domains:(0,Er.object)()}))){const{cache:t,domains:r}=e;return Object.entries(r).forEach((([e,r])=>{Object.entries(r).forEach((([e,i])=>{lr(i)&&(r[e]=t[i])}))})),r}var n;if((e=>(0,Er.is)(e,(0,Er.record)((0,Er.string)(),(0,Er.define)("JmxDomain",i))))(e))return e;if(i(e)){const r=null==t?void 0:t[0];if(!r)throw new Error("Domain must be provided: "+t);return{[r]:e}}if(r(e)){const r=null==t?void 0:t[0],i=null==t?void 0:t[1];if(!r||!i)throw new Error("Domain/property list must be provided: "+t);return{[r]:{[i]:e}}}throw new Error("Unexpected Jolokia list response: "+JSON.stringify(e))}bulkList(e,t,r){const i=[],n=()=>{var e;const t=i.filter((e=>{if(200===e.status)return!0;{const t=e;return fr.warn("Bulk list response error:",t.error),!1}})).map((e=>{var t;switch(e.request.type){case"list":{const r=null==(t=e.request.path)?void 0:t.split("/");return this.unwindListResponse(e.value,r)}case"exec":{const t=e.request.arguments;return this.unwindListResponse(e.value,t)}default:return this.unwindListResponse(e.value)}})).reduce(((e,t)=>this.mergeDomains(t,e)),{});null==(e=r.success)||e.call(r,t)};e.request(t,Ar((e=>{i.push(e),i.length===t.length&&n()}),(e=>{fr.error("Error during bulk list:",e),i.push(e),i.length===t.length&&n()}),r))}mergeDomains(e,t){return Object.entries(e).forEach((([e,r])=>{const i=t[e];i?Object.entries(r).forEach((([e,t])=>{i[e]=t})):t[e]=r})),t}readAttributes(e){return C(this,null,(function*(){const t=yield this.getJolokia();return new Promise((r=>{t.request({type:"read",mbean:e},yr((e=>r(e.value)),(e=>{fr.error("Error during readAttributes:",e),r({})})))}))}))}readAttribute(e,t){return C(this,null,(function*(){const r=yield this.getJolokia();return new Promise((i=>{r.request({type:"read",mbean:e,attribute:t},yr((e=>i(e.value)),(e=>{fr.error("Error during readAttribute:",e),i(null)})))}))}))}writeAttribute(e,t,r){return C(this,null,(function*(){const i=yield this.getJolokia();return new Promise((n=>{i.request({type:"write",mbean:e,attribute:t,value:r},yr((e=>n(e.value)),(e=>{fr.error("Error during writeAttribute:",e),n(null)})))}))}))}execute(e,t){return C(this,arguments,(function*(e,t,r=[]){const i=yield this.getJolokia();return new Promise(((n,o)=>{i.execute(e,t,...r,vr((e=>n(e)),(e=>o(e.stacktrace||e.error))))}))}))}search(e){return C(this,null,(function*(){const t=yield this.getJolokia();return new Promise((r=>{t.search(e,function(e,t,r={}){return Cr(e,t,r)}((e=>r(e)),(e=>{fr.error("Error during search:",e),r([])})))}))}))}bulkRequest(e){return C(this,null,(function*(){const t=yield this.getJolokia();return new Promise((r=>{const i=[];t.request(e,Ar((t=>{i.push(t),i.length===e.length&&r(i)}),(t=>{fr.error("Error during bulkRequest:",t),i.push(t),i.length===e.length&&r(i)})))}))}))}register(e,t){return C(this,null,(function*(){return(yield this.getJolokia()).register(t,e)}))}unregister(e){return C(this,null,(function*(){(yield this.getJolokia()).unregister(e)}))}loadUpdateRate(){const e=localStorage.getItem(Zr);return e?parseInt(JSON.parse(e)):Ur}saveUpdateRate(e){localStorage.setItem(Zr,JSON.stringify(e))}loadAutoRefresh(){const e=localStorage.getItem(Xr);return e?P(e):Gr}saveAutoRefresh(e){localStorage.setItem(Xr,JSON.stringify(e))}loadJolokiaStoredOptions(){var e,t;const r=localStorage.getItem(Yr),i=r?JSON.parse(r):{};return{maxDepth:null!=(e=i.maxDepth)?e:Vr,maxCollectionSize:null!=(t=i.maxCollectionSize)?t:zr}}saveJolokiaStoredOptions(e){localStorage.setItem(Yr,JSON.stringify(e))}},ti=N.get("hawtio-rbac"),ri=new class{constructor(){A(this,"aclMBean")}reset(){this.aclMBean=void 0}getACLMBean(){return this.aclMBean||(this.aclMBean=this.fetchACLMBean()),this.aclMBean}fetchACLMBean(){return C(this,null,(function*(){if(!(yield Q.isLogin()))throw new Error("User needs to have logged in to run RBAC plugin");const e=yield ei.search("*:type=security,area=jmx,*");if(ti.debug("Fetching ACL MBeans:",e),0===e.length)return ti.info("Didn't discover any ACL MBeans; client-side RBAC is disabled"),null;const t=e[0];if(t&&1===e.length)return ti.info("Use MBean",t,"for client-side RBAC"),t;const r=e.find((e=>!e.includes("HawtioDummy")));return!r||E(r)?(ti.info("Didn't discover any effective ACL MBeans; client-side RBAC is disabled"),null):(ti.info("Use MBean",r,"for client-side RBAC"),r)}))}},ii=new class{constructor(){A(this,"handles",[])}read(e){return C(this,null,(function*(){return yield ei.readAttributes(e)}))}readWithCallback(e,t){return C(this,null,(function*(){const r=yield ei.readAttributes(e);t(r)}))}register(e,t){return C(this,null,(function*(){const r=yield ei.register(e,t);fr.debug("Register handle:",r),this.handles.push(r)}))}unregisterAll(){fr.debug("Unregister all handles:",this.handles),this.handles.forEach((e=>ei.unregister(e))),this.handles=[]}buildUrl(e,t){return C(this,null,(function*(){return`${yield ei.getFullJolokiaUrl()}/read/${kr(e)}/${t}`}))}canInvoke(e,t,r){return C(this,null,(function*(){const i=yield ri.getACLMBean();if(!i)return!0;const n=[e,`set${t}`,[r]];return ei.execute(i,"canInvoke(java.lang.String,java.lang.String,[Ljava.lang.String;)",n)}))}update(e,t,r){return C(this,null,(function*(){yield ei.writeAttribute(e,t,r),se.notify({type:"success",message:`Updated attribute: ${t}`})}))}bulkRequest(e){return C(this,null,(function*(){return ei.bulkRequest(e)}))}},ni=r(74848),oi=({isOpen:e,onClose:t,onUpdate:r,input:i})=>{var n;const{selectedNode:o}=(0,br.useContext)($t),a=i.name,[s,l]=(0,br.useState)(""),[d,c]=(0,br.useState)("Loading..."),[p,u]=(0,br.useState)(!1);if((0,br.useEffect)((()=>{var e;if(!o||!o.objectName||!o.mbean)return;const{mbean:t,objectName:r}=o,n=null==(e=t.attr)?void 0:e[a];n&&(l(i.value),C(void 0,null,(function*(){const e=yield ii.buildUrl(r,a);c(e)})),n.rw?C(void 0,null,(function*(){const e=yield ii.canInvoke(r,a,n.type);fr.debug("Attribute",a,"canInvoke:",e),u(e)})):u(!1))}),[o,a,i]),!o||!o.objectName||!o.mbean)return null;const{mbean:h,objectName:m}=o,f=null==(n=h.attr)?void 0:n[a];if(!f)return null;const g=`Attribute: ${a}`,b=[];return p&&b.push((0,ni.jsx)(gr.Button,{variant:"danger",onClick:()=>C(void 0,null,(function*(){s===i.value?se.notify({type:"info",message:"The attribute value has not changed"}):(yield ii.update(m,a,s),r()),t()})),children:"Save"},"update")),(0,ni.jsxs)(gr.DrawerPanelContent,{isResizable:!0,children:[(0,ni.jsxs)(gr.DrawerHead,{children:[(0,ni.jsx)(gr.Title,{headingLevel:"h2",size:"xl",children:g}),(0,ni.jsx)(gr.DrawerActions,{children:(0,ni.jsx)(gr.DrawerCloseButton,{onClick:t})})]}),(0,ni.jsx)(gr.DrawerPanelBody,{children:(0,ni.jsxs)(gr.Form,{id:"attribute-form",isHorizontal:!0,children:[(0,ni.jsx)(gr.FormGroup,{label:"Name",fieldId:"attribute-form-name",children:(0,ni.jsx)(gr.TextInput,{id:"attribute-form-name",name:"attribute-form-name",value:a,readOnlyVariant:"default"})}),(0,ni.jsx)(gr.FormGroup,{label:"Description",fieldId:"attribute-form-description",children:(0,ni.jsx)(gr.TextArea,{id:"attribute-form-description",name:"attribute-form-description",value:f.desc,readOnlyVariant:"default"})}),(0,ni.jsx)(gr.FormGroup,{label:"Type",fieldId:"attribute-form-type",children:(0,ni.jsx)(gr.TextInput,{id:"attribute-form-type",name:"attribute-form-type",value:f.type,readOnlyVariant:"default"})}),(0,ni.jsx)(gr.FormGroup,{label:"Jolokia URL",fieldId:"attribute-form-jolokia-url",children:(0,ni.jsx)(gr.ClipboardCopy,{isReadOnly:!0,removeFindDomNode:!0,children:d})}),(0,ni.jsx)(gr.FormGroup,{label:"Value",fieldId:"attribute-form-value",children:(0,ni.jsx)(gr.TextInput,{id:"attribute-form-value",name:"attribute-form-value",value:s,onChange:e=>l(e),readOnlyVariant:p?void 0:"default"})}),(0,ni.jsx)(gr.FormGroup,{children:b})]})})]})},ai=r(74848),si=()=>{const{selectedNode:e}=(0,hr.useContext)($t),[t,r]=(0,hr.useState)({}),[i,n]=(0,hr.useState)(!0),[o,a]=(0,hr.useState)(!1),[s,l]=(0,hr.useState)({name:"",value:""}),[d,c]=(0,hr.useState)(!1);if((0,hr.useEffect)((()=>{if(!e||!e.mbean||!e.objectName)return;n(!0);const{objectName:t}=e;return ii.readWithCallback(t,(e=>{r(e),n(!1)})),ii.register({type:"read",mbean:t},(e=>{fr.debug("Scheduler - Attributes:",e.value),r(e.value)})),()=>ii.unregisterAll()}),[e]),(0,hr.useEffect)((()=>{if(!(e&&e.mbean&&e.objectName&&d))return;n(!0);const{objectName:t}=e;ii.readWithCallback(t,(e=>{r(e),n(!1)})),c(!1)}),[e,d]),!e||!e.mbean||!e.objectName)return null;if(i)return(0,ai.jsx)(Jt,{});const p=Object.entries(t).map((([e,t])=>({name:e,value:ar(t)?JSON.stringify(t):String(t)})));if(0===p.length)return(0,ai.jsx)(Wt,{message:"This MBean has no attributes."});const u=(0,ai.jsx)(oi,{isOpen:o,onClose:()=>a(!1),onUpdate:()=>c(!0),input:s}),h=(0,ai.jsx)("div",{style:{height:"75vh"},children:(0,ai.jsxs)(ur.TableComposable,{"aria-label":"Attributes",variant:"compact",children:[(0,ai.jsx)(ur.Thead,{children:(0,ai.jsxs)(ur.Tr,{children:[(0,ai.jsx)(ur.Th,{children:"Attribute"}),(0,ai.jsx)(ur.Th,{children:"Value"})]})}),(0,ai.jsx)(ur.Tbody,{children:p.map(((e,t)=>(0,ai.jsxs)(ur.Tr,{isHoverable:!0,isRowSelected:s.name===e.name,onRowClick:()=>(l(e),void(o||a(!0))),children:[(0,ai.jsx)(ur.Td,{children:e.name}),(0,ai.jsx)(ur.Td,{children:e.value})]},e.name+"-"+t)))})]})});return(0,ai.jsx)(hr.default.Fragment,{children:(0,ai.jsx)(pr.Card,{isFullHeight:!0,children:(0,ai.jsx)(pr.Drawer,{isExpanded:o,className:"pf-m-inline-on-2xl",children:(0,ai.jsx)(pr.DrawerContent,{panelContent:u,children:(0,ai.jsxs)(pr.DrawerContentBody,{hasPadding:!0,children:[" ",h]})})})})})},li=r(52557),di=r(96527),ci=r(44914),pi=r(74848),ui=()=>{var e;const{selectedNode:t}=(0,ci.useContext)($t),[r,i]=(0,ci.useState)({}),[n,o]=(0,ci.useState)(!1),a=Object.values(r);if((0,ci.useEffect)((()=>{var e;if(t)return e=t,C(void 0,null,(function*(){if(!e)return;const t={};o(!0);for(const r of e.getChildren()){if(!r||!(null==r?void 0:r.objectName))continue;const e=yield ii.read(r.objectName);t[r.objectName]=e}i(f({},t)),o(!1)})),(e=>{C(void 0,null,(function*(){e&&e.getChildren().forEach((e=>C(void 0,null,(function*(){return yield(e=>C(void 0,null,(function*(){if(!e||!(null==e?void 0:e.objectName))return;const t=e.objectName;ii.register({type:"read",mbean:t},(e=>{i((r=>(r[t]=e.value,f({},r))))}))})))(e)}))))}))})(t),()=>ii.unregisterAll()}),[t]),!t)return null;if(n)return(0,pi.jsx)(Jt,{});if(0===a.length)return(0,pi.jsx)(Wt,{message:"This node has no MBeans."});if(a.some((e=>0===Object.entries(e).length))||!function(e){if(e.length<=1)return!0;const t=e[0];if(!t)return!1;const r=Object.keys(t).length;if(e.some((e=>Object.keys(e).length!==r)))return!1;const i=Object.keys(t).reduce(((e,t)=>e.add(t)),new Set);return e.every((e=>Object.keys(e).every((e=>i.has(e)))))}(a))return(0,pi.jsx)(tr,{});const s=Object.keys(null!=(e=a[0])?e:{}),l=s.map((e=>M(e))),d=a.map((e=>s.map((t=>JSON.stringify(e[t])))));return(0,pi.jsx)(li.Card,{isFullHeight:!0,children:(0,pi.jsxs)(di.Table,{"aria-label":"MBeans",variant:"compact",cells:l,rows:d,children:[(0,pi.jsx)(di.TableHeader,{className:"attribute-table"}),(0,pi.jsx)(di.TableBody,{})]})})},hi=r(31881),mi=r(52557),fi=w(r(44914)),gi=r(52557),bi=r(44914),yi=r(74848),vi=({isOpen:e,onClose:t,attributesToWatch:r,onAttributesToWatchUpdate:i})=>{const[n,o]=(0,bi.useState)(r);return(0,yi.jsx)(gi.Modal,{variant:gi.ModalVariant.large,title:"Modify watches",isOpen:e,onClose:()=>t(!1),actions:[(0,yi.jsx)(gi.Button,{variant:"primary",onClick:()=>t(!1),children:"Close"},"close")],children:(0,yi.jsx)(gi.DualListSelector,{isSearchable:!0,isTree:!0,availableOptionsTitle:"Watched attributes",chosenOptionsTitle:"Unwatched attributes",availableOptions:Object.entries(n).filter((([e,t])=>Object.values(t).some((e=>e)))).map((([e,t])=>({id:e,text:e,isChecked:!1,children:Object.entries(t).filter((([e,t])=>t)).map((([t,r])=>({id:`${e} ${t}`,text:t,isChecked:!1})))}))),chosenOptions:Object.entries(n).filter((([e,t])=>Object.values(t).some((e=>!e)))).map((([e,t])=>({id:e,text:e,isChecked:!1,children:Object.entries(t).filter((([e,t])=>!t)).map((([t,r])=>({id:`${e} ${t}`,text:t,isChecked:!1})))}))),onListChange:(e,t)=>{const r={};e.forEach((e=>{var t;r[e.text]=f({},Object.fromEntries((null==(t=e.children)?void 0:t.map((({text:e})=>[e,!0])))||[]))})),t.forEach((e=>{var t;r[e.text]=f(f({},r[e.text]||{}),Object.fromEntries((null==(t=e.children)?void 0:t.map((({text:e})=>[e,!1])))||[]))})),i(r),o(f({},r))}})})},wi=r(96527),Ai=r(74848),Ci=({name:e,data:t,min:r})=>{const i=(0,fi.useRef)(null),[n,o]=(0,fi.useState)(0),a=()=>{i.current&&i.current.clientWidth&&o(i.current.clientWidth)};return(0,fi.useEffect)((()=>{const e=(0,hi.getResizeObserver)(i.current,a);return a(),()=>e()}),[]),(0,Ai.jsx)("div",{ref:i,style:{width:"100%",height:"220px"},children:(0,Ai.jsxs)(hi.Chart,{ariaTitle:e,containerComponent:(0,Ai.jsx)(hi.ChartVoronoiContainer,{labels:({datum:e})=>`${e.name}: ${e.y}`,constrainToVisibleArea:!0}),name:e,height:220,width:n,padding:{left:160,top:30,bottom:30,right:20},minDomain:{y:r},children:[(0,Ai.jsx)(hi.ChartArea,{data:t}),(0,Ai.jsx)(hi.ChartAxis,{fixLabelOverlap:!0,orientation:"bottom",tickFormat:e=>{const t=new Date(1e3*e);return`${t.getHours()>=10?t.getHours():"0"+t.getHours()}:${t.getMinutes()>=10?t.getMinutes():"0"+t.getMinutes()}:${t.getSeconds()>=10?t.getSeconds():"0"+t.getSeconds()}`}}),(0,Ai.jsx)(hi.ChartAxis,{dependentAxis:!0,showGrid:!0})]},e)})},ki=()=>{const{selectedNode:e}=(0,fi.useContext)($t),[t,r]=(0,fi.useState)({}),i=(0,fi.useRef)({}),[n,o]=(0,fi.useState)(-1),[a,s]=(0,fi.useState)(!0),[l,d]=(0,fi.useState)(!1);function c(n,o){const a=n.timestamp,s=n.value,l={};Object.entries(s).filter((e=>dr(e[1]))).forEach((([e,t])=>{l[e]={time:a,value:t}})),e&&function(e,n){var o;t[e]||(t[e]={attributes:{}});const a=t[e];Object.entries(n).forEach((([e,t])=>{a.attributes[e]||(a.attributes[e]={data:[],min:Number.MAX_SAFE_INTEGER,hasConstantValue:!0});const r=a.attributes[e];r.data.find((e=>e.time===t.time))||(r.data.push(t),t.value1&&r.data[0].value!==t.value&&r.hasConstantValue&&(r.hasConstantValue=!1))})),i.current[e]||(i.current[e]={});const s=null!=(o=i.current[e])?o:{};var l,d;l=s,d=n,Object.entries(d).forEach((([e,t])=>{void 0===l[e]&&(l[e]=!0)})),r(f({},t)),i.current=f({},i.current)}(o,l)}return(0,fi.useEffect)((()=>{if(e)return-1===n&&o((new Date).getTime()),function(e){C(this,null,(function*(){if(!e)return;const t=[];[e,...e.getChildren()].forEach((e=>{e.objectName&&t.push({type:"read",mbean:e.objectName})})),(yield ii.bulkRequest(t)).forEach((e=>{const t=e.request;let r=t.mbean.match(/name="([^"]+)"/);r||(r=t.mbean.match(/type="([^"]+)"/)),r&&r.length>1&&c(e,r[1])}))}))}(e),function(e){C(this,null,(function*(){e&&[e,...e.getChildren()].filter((e=>e&&e.objectName)).forEach((e=>{ii.register({type:"read",mbean:e.objectName},(t=>c(t,e.name)))}))}))}(e),()=>{ii.unregisterAll(),r({}),i.current={},o(-1)}}),[e]),e&&(e.mbean||e.getChildren()&&e.getChildren().some((e=>e.mbean)))?0===Object.values(t).length?(0,Ai.jsx)(Jt,{}):0===Object.values(i.current).flatMap((e=>Object.values(e))).length?(0,Ai.jsx)(Wt,{message:"There are no chartable data in the MBean or its children."}):Object.values(i.current).flatMap((e=>Object.values(e))).some((e=>e))?(0,Ai.jsxs)(fi.default.Fragment,{children:[(0,Ai.jsx)(vi,{isOpen:l,onClose:e=>{d(e)},attributesToWatch:i.current,onAttributesToWatchUpdate:e=>i.current=e}),(0,Ai.jsxs)(mi.Grid,{hasGutter:!0,span:12,xl2:6,children:[(0,Ai.jsx)(mi.GridItem,{span:12,children:(0,Ai.jsx)(mi.Card,{children:(0,Ai.jsxs)(mi.CardHeader,{children:[(0,Ai.jsx)(mi.Switch,{id:"showConstants",label:"Show attributes with the constant value as a chart",isChecked:a,onChange:e=>s(e)}),(0,Ai.jsx)(mi.CardActions,{children:(0,Ai.jsx)(mi.Button,{onClick:()=>d(!0),children:"Edit watches"})})]})})}),Object.entries(t).map((([e,t])=>Object.entries(t.attributes).filter((([e,t])=>!!a||!t.hasConstantValue)).map((([t,r])=>i.current[e][t]&&(0,Ai.jsx)(mi.GridItem,{children:(0,Ai.jsxs)(mi.Card,{children:[(0,Ai.jsx)(mi.CardHeader,{children:(0,Ai.jsxs)(mi.Title,{headingLevel:"h3",children:[e,": ",t,": ",r.data[r.data.length-1].value]})}),(0,Ai.jsx)(mi.CardBody,{children:(0,Ai.jsx)(Ci,{name:`${e}-${t}`,min:r.hasConstantValue?0:r.min,data:[...r.data.map((e=>({name:new Date(1e3*e.time).toLocaleTimeString(),x:e.time,y:e.value})))]},`${e}-${t}`)})]},t)},t))))),!a&&(0,Ai.jsx)(mi.GridItem,{children:(0,Ai.jsxs)(mi.Card,{children:[(0,Ai.jsx)(mi.CardHeader,{children:"Attributes with the constant value:"}),(0,Ai.jsx)(mi.CardBody,{children:(0,Ai.jsx)(wi.TableComposable,{variant:"compact",children:(0,Ai.jsx)(wi.Tbody,{children:Object.entries(t).map((([e,t])=>Object.entries(t.attributes).map((([t,r])=>i.current[e][t]&&r.hasConstantValue&&(0,Ai.jsxs)(wi.Tr,{children:[(0,Ai.jsx)(wi.Td,{children:t}),(0,Ai.jsx)(wi.Td,{children:r.data[0].value})]},"obj-"+e+"-"+t)))))})})})]})})]})]}):(0,Ai.jsxs)(mi.PageSection,{variant:mi.PageSectionVariants.light,isFilled:!0,children:[(0,Ai.jsx)(vi,{isOpen:l,onClose:e=>{d(e)},attributesToWatch:i.current,onAttributesToWatchUpdate:e=>i.current=e}),(0,Ai.jsxs)(mi.Card,{children:[(0,Ai.jsx)(mi.CardHeader,{children:(0,Ai.jsx)(mi.CardActions,{children:(0,Ai.jsx)(mi.Button,{onClick:()=>d(!0),children:"Edit watches"})})}),(0,Ai.jsx)(mi.CardBody,{children:(0,Ai.jsxs)(mi.Text,{component:"p",children:[(0,Ai.jsx)(Ge,{})," There are currently no watches. Please click on the button to select any Chart"]})})]})]}):null},xi=r(52557),Si=r(44914),Ti=r(52557),Ei=w(r(44914));function _i(e,t,r,i){try{const i=new Pi(t,r.args.map((e=>new Mi(e.name,e.type,e.desc))),r.desc,r.ret,r.canInvoke);e.push(i)}catch(e){fr.error("Operations - Error creating operation:",t,e),i.push(t)}}function Ii(e){let t=e;if(t.startsWith("[")&&2==t.length)switch(t[1]){case"C":return"char[]";case"B":return"byte[]";case"S":return"short[]";case"I":return"int[]";case"J":return"long[]";case"Z":return"boolean[]";case"F":return"float[]";case"D":return"double[]"}let r=!1;t.startsWith("[L")&&t.endsWith(";")&&(r=!0,t=t.substring(2,t.length-1));const i=t.split("."),n=i.pop(),o=i.join(".");return t&&Pi.IGNORED_PACKAGES.includes(o)?n+(r?"[]":""):t+(r?"[]":"")}var Pi=class{constructor(e,t,r,i,n=!0){this.method=e,this.args=t,this.description=r,this.returnType=i,this.canInvoke=n,A(this,"name"),A(this,"readableName"),A(this,"readableReturnType"),this.name=this.buildName(e),this.readableName=this.buildReadableName(e),this.readableReturnType=this.buildReadableReturnType()}buildName(e){return e+"("+this.args.map((e=>e.type)).join()+")"}buildReadableName(e){return e+"("+this.args.map((e=>e.readableType)).join(", ")+")"}buildReadableReturnType(){return Ii(this.returnType)}};A(Pi,"IGNORED_PACKAGES",["java.util","java.lang"]);var Mi=class{constructor(e,t,r){this.name=e,this.type=t,this.desc=r,A(this,"readableType"),this.readableType=this.buildReadableType()}buildReadableType(){return Ii(this.type)}helpText(){let e=this.desc;return e&&e!==this.name?"."!==e.charAt(e.length-1)&&(e+="."):e="",`${e} Type: ${this.readableType}`}},Ri=new class{execute(e,t,r){return C(this,null,(function*(){return fr.debug("Execute:",e,"-",t,"-",r),ei.execute(e,t,r)}))}getJolokiaUrl(e,t){return C(this,null,(function*(){const r=kr(e);return`${yield ei.getFullJolokiaUrl()}/exec/${r}/${t}`}))}},Di=r(74848),Bi=(0,Ei.createContext)({name:"",operation:new Pi("",[],"",""),objectName:""}),Oi=({name:e,operation:t})=>{const{selectedNode:r}=(0,Ei.useContext)($t),[i,n]=(0,Ei.useState)(!1);if(!r||!r.objectName||!r.mbean)return null;const{objectName:o}=r,a=[(0,Di.jsxs)(Ti.DataListCell,{isFilled:!1,children:[(0,Di.jsx)("code",{className:"operation-datatype",children:t.readableReturnType}),(0,Di.jsx)("b",{children:t.readableName})]},`operation-cell-name-${e}`),(0,Di.jsx)(Ti.DataListCell,{isFilled:!1,children:t.description},`operation-cell-desc-${e}`)];return t.canInvoke||a.unshift((0,Di.jsx)(Ti.DataListCell,{isIcon:!0,isFilled:!1,children:(0,Di.jsx)(Je,{})},`operation-cell-icon-${e}`)),(0,Di.jsx)(Bi.Provider,{value:{name:e,operation:t,objectName:o},children:(0,Di.jsxs)(Ti.DataListItem,{"aria-labelledby":`operation ${e}`,isExpanded:i,children:[(0,Di.jsxs)(Ti.DataListItemRow,{children:[(0,Di.jsx)(Ti.DataListToggle,{onClick:()=>{n(!i)},isExpanded:i,id:"ex-toggle1","aria-controls":"ex-expand1"}),(0,Di.jsx)(Ti.DataListItemCells,{dataListCells:a}),(0,Di.jsx)(qi,{})]}),(0,Di.jsx)(Ni,{isExpanded:i})]},`operation-${e}`)})},qi=()=>{const{name:e,operation:t,objectName:r}=(0,Ei.useContext)(Bi),[i,n]=(0,Ei.useState)(!1),o=e=>{navigator.clipboard.writeText(e),se.notify({type:"success",message:"Copied to clipboard"})};return(0,Di.jsx)(Ti.DataListAction,{id:`operation-actions-${e}`,"aria-label":`operation actions ${e}`,"aria-labelledby":`${e} operation-actions-${e}`,children:(0,Di.jsx)(Ti.Dropdown,{isPlain:!0,position:Ti.DropdownPosition.right,isOpen:i,toggle:(0,Di.jsx)(Ti.KebabToggle,{onToggle:()=>{n(!i)}}),dropdownItems:[(0,Di.jsx)(Ti.DropdownItem,{onClick:()=>{o(t.readableName)},children:"Copy method name"},`operation-action-copy-method-name-${e}`),(0,Di.jsx)(Ti.DropdownItem,{onClick:()=>C(void 0,null,(function*(){o(yield Ri.getJolokiaUrl(r,e))})),children:"Copy Jolokia URL"},`operation-action-copy-jolokia-url-${e}`)]},`operation-action-dropdown-${e}`)})},Ni=({isExpanded:e})=>{const{name:t}=(0,Ei.useContext)(Bi),[r,i]=(0,Ei.useState)(!1),[n,o]=(0,Ei.useState)(null),a=()=>(0,Di.jsxs)(Ei.default.Fragment,{children:[(0,Di.jsx)(Ti.Title,{headingLevel:"h4",children:"Result"}),(0,Di.jsx)(Ti.ClipboardCopy,{variant:Ti.ClipboardCopyVariant.expansion,isExpanded:!0,isCode:!0,isReadOnly:!0,removeFindDomNode:!0,className:r?"jmx-operation-error":"",children:n})]});return(0,Di.jsxs)(Ei.default.Fragment,{children:[(0,Di.jsx)(Ti.DataListContent,{id:`operation-execute-${t}`,"aria-label":`operation execute ${t}`,isHidden:!e,children:(0,Di.jsx)(Li,{setResult:o,setIsFailed:i})}),n&&(0,Di.jsx)(Ti.DataListContent,{id:`operation-result-${t}`,"aria-label":`operation result ${t}`,isHidden:!e,children:(0,Di.jsx)(a,{})})]})},Li=({setResult:e,setIsFailed:t})=>{const{name:r,operation:i,objectName:n}=(0,Ei.useContext)(Bi),[o,a]=(0,Ei.useState)(!1),[s,l]=(0,Ei.useState)(i.args.map((e=>function(e){switch(e){case"boolean":case"java.lang.Boolean":return!1;case"int":case"long":case"java.lang.Integer":case"java.lang.Long":return 0;default:return""}}(e.type)))),d=e=>t=>{const r=[...s];r[e]=t,l(r)};return(0,Di.jsxs)(Ti.Form,{isHorizontal:i.args.length>0,children:[0===i.args.length&&(0,Di.jsxs)(Ti.Text,{component:"p",children:["This JMX operation requires no arguments. Click the ",(0,Di.jsx)("code",{children:"Execute"})," button to invoke the operation."]}),i.args.length>0&&(0,Di.jsxs)(Ti.Text,{component:"p",children:["This JMX operation requires some parameters. Fill in the fields below and click the ",(0,Di.jsx)("code",{children:"Execute"})," ","button to invoke the operation."]}),i.args.map(((e,t)=>(0,Di.jsx)(Ti.FormGroup,{label:e.name,fieldId:`operation-${r}-form-${e.name}-${t}`,helperText:e.helpText(),children:(0,Di.jsx)(ji,{opName:r,arg:e,index:t,canInvoke:i.canInvoke,argValues:s,updateArgValues:d},`operation-${r}-arg-form-${e.name}-${t}`)},`operation-${r}-form-${e.name}-${t}`))),(0,Di.jsx)(Ti.ActionGroup,{children:(0,Di.jsx)(Ti.Button,{variant:"danger",onClick:()=>C(void 0,null,(function*(){a(!0);try{const o=yield Ri.execute(n,r,s);t(!1),e((e=>{if("void"===i.returnType&&(!e||"null"===e))return"Operation successful";switch(typeof e){case"boolean":return e.toString();case"string":{const t=e.trim();return""===t?"Empty string":t}default:return JSON.stringify(e,null,2)}})(o))}catch(r){t(!0),e(String(r))}finally{a(!1)}})),isSmall:!0,isDisabled:!i.canInvoke||o,children:"Execute"},`operation-action-execute-${r}`)})]})},ji=({opName:e,arg:t,index:r,canInvoke:i,argValues:n,updateArgValues:o})=>{const a=`operation-${e}-arg-form-input-${t.name}-${r}`,s=n[r];switch(t.type){case"boolean":case"java.lang.Boolean":return(0,Di.jsx)(Ti.Checkbox,{id:a,isChecked:Boolean(s),onChange:o(r),isDisabled:!i});case"int":case"long":case"java.lang.Integer":case"java.lang.Long":return(0,Di.jsx)(Ti.TextInput,{id:a,type:"number",value:Number(s),onChange:o(r),isDisabled:!i});default:return(0,Di.jsx)(Ti.TextInput,{id:a,type:"text",value:String(s),onChange:o(r),isDisabled:!i})}},Fi=r(74848),Hi=()=>{const{selectedNode:e}=(0,Si.useContext)($t);if(!e||!e.mbean)return null;const{mbean:t}=e;if(!t.op||sr(t.op))return(0,Fi.jsx)(Wt,{message:"This MBean has no JMX operations."});const r=function(e){const t=[],r=[];return Object.entries(e).forEach((([e,i])=>{Array.isArray(i)?i.forEach((i=>_i(t,e,i,r))):_i(t,e,i,r)})),r.length>0&&se.notify({type:"danger",message:`Please try increasing max depth for Jolokia in the Connect preferences. Failed to load operations: ${r.join(", ")}.`,duration:3e4}),t.sort(((e,t)=>I(e.readableName,t.readableName)))}(t.op),i=()=>(0,Fi.jsx)(xi.DataList,{id:"jmx-operation-list","aria-label":"operation list",isCompact:!0,children:r.map((e=>(0,Fi.jsx)(Oi,{name:e.name,operation:e},e.name)))});return(0,Fi.jsxs)(xi.Card,{isFullHeight:!0,children:[(0,Fi.jsx)(xi.CardBody,{children:(0,Fi.jsx)(xi.Text,{component:"p",children:"This MBean supports the following JMX operations. Expand an item in the list to invoke that operation."})}),(0,Fi.jsx)(xi.CardBody,{children:(0,Fi.jsx)(i,{})})]})};function Vi(e){return e.replace("<","<").replace(">",">")}function zi(e){return e.replace(/\s/g,"")}var Wi=w(r(44914)),Ui=N.get(`${mr}-tree`),Gi={folder:Wi.default.createElement(ze),folderOpen:Wi.default.createElement(We),mbean:Wi.default.createElement(je),locked:Wi.default.createElement(Je)},Ji="-",Ki=class e{constructor(e,t,r){if(this.parent=e,this.name=t,this.folder=r,A(this,"id"),A(this,"icon"),A(this,"expandedIcon"),A(this,"children"),A(this,"metadata",{}),A(this,"objectName"),A(this,"mbean"),A(this,"propertyList"),A(this,"defaultExpanded"),this===e)throw new Error("Node cannot be its own parent");r?(this.icon=Gi.folder,this.expandedIcon=Gi.folderOpen,this.children=[]):this.icon=Gi.mbean,this.id=this.generateId(r)}generateId(e){const t=e?"-folder":"";let r=(this.parent?this.parent.id+Ji:"")+zi(this.name)+t;return this.parent&&this.parent.getChildren().forEach((e=>{e!==this&&e.id===r&&(r=r+"-"+Math.floor(100*Math.random()))})),r}initId(e){var t;this.id=this.generateId(void 0!==this.children),e&&(null==(t=this.children)||t.forEach((t=>t.initId(e))))}populateMBean(e,t){Ui.debug(" JMX tree mbean:",e);const r=new Qi(this,e);this.createMBeanNode(r.getPaths(),r,t)}createMBeanNode(e,t,r){if(Ui.debug(" JMX tree property:",e[0]),1===e.length){const i=e[0];return i?void this.create(i,!1).configureMBean(t,r):void Ui.error("Failed to process MBean. Malformed ObjectName:",`"${t.objectName()}"`)}const i=e.shift();void 0!==i?this.getOrCreate(i,!0).createMBeanNode(e,t,r):Ui.error("Failed to process MBean. Malformed ObjectName:",`"${t.objectName()}"`)}configureMBean(e,t){this.objectName=e.objectName(),this.mbean=t,this.propertyList=e,this.applyCanInvoke()}applyCanInvoke(){this.mbean&&(void 0===this.mbean.canInvoke||this.mbean.canInvoke||(this.icon=Gi.locked))}copyTo(t){const r=new e(null,t,this.folder);return r.icon=this.icon,r.expandedIcon=this.expandedIcon,r.children=this.children,r.metadata=this.metadata,r.objectName=this.objectName,r.mbean=this.mbean,r.propertyList=this.propertyList,r}findChildren(e){var t,r;return null!=(r=null==(t=this.children)?void 0:t.filter((t=>t.name===e)))?r:[]}get(e,t){var r;return null!=(r=this.findChildren(e).find((e=>e.folder===t)))?r:null}getIndex(e){var t,r;return null!=(r=null==(t=this.children)?void 0:t[e])?r:null}getChildren(){var e;return null!=(e=this.children)?e:[]}create(t,r){void 0===this.children&&(this.icon=Gi.folder,this.expandedIcon=Gi.folderOpen,this.children=[]);const i=new e(this,t,r);return this.children.push(i),i}getOrCreate(e,t){return this.get(e,t)||this.create(e,t)}removeChildren(){if(!this.children)return[];const e=this.children;this.children=[];for(const t of e)t.parent=null;return e}removeChild(e){var t;if(!this.children||!e)return null;const r=this.children.indexOf(e);if(-1===r)return null;const i=null!=(t=this.children.splice(r,1)[0])?t:null;return i&&(i.parent=null),i}childCount(){return this.children?this.children.length:0}getType(){return this.getMetadata("type")}setType(e){this.addMetadata("type",e)}getMetadata(e){return this.metadata[e]}addMetadata(e,t){this.metadata[e]=t}getProperty(e){var t;return null==(t=this.propertyList)?void 0:t.get(e)}static sorter(e,t){const r=I(e.name,t.name);return 0!==r?r:Number(t.folder)-Number(e.folder)}sort(t){var r,i;this.children&&(null==(r=this.children)||r.sort(e.sorter),t&&(null==(i=this.children)||i.forEach((e=>e.sort(t)))))}path(){const e=[this.name];let t=this.parent;for(;t;)e.unshift(t.name),t=t.parent;return e}navigate(...e){var t;if(0===e.length)return this;const r=e[0];if(!r)return null;const i=this.findByNamePattern(r);return null!=(t=null==i?void 0:i.navigate(...e.slice(1)))?t:null}forEach(e,t){if(0===e.length)return;const r=e[0];if(!r)return;const i=this.findByNamePattern(r);i&&(t(i),i.forEach(e.slice(1),t))}find(e){var t,r;return e(this)?this:null!=(r=null==(t=this.children)?void 0:t.map((t=>t.find(e))).find((e=>null!==e)))?r:null}findByNamePattern(e){return this.find((t=>R(t.name,e)))}findMBeans(e){var t;const r=this.match(e)?[this]:[];return null==(t=this.children)||t.forEach((t=>r.push(...t.findMBeans(e)))),r}match(e){var t,r;return null!=(r=null==(t=this.propertyList)?void 0:t.match(e))&&r}findAncestors(){const e=[];let t=this.parent;for(;null!==t;)e.unshift(t),t=t.parent;return e}findAncestor(e){let t=this.parent;for(;null!==t;){if(e(t))return t;t=t.parent}return null}filterClone(t){const r=[];if(this.children&&this.children.forEach((e=>{const i=e.filterClone(t);i&&r.push(i)})),0===r.length&&!t(this))return null;const i=new e(this,this.name,r.length>0);return r.length>0&&(i.children=r),i.icon=this.icon,i.expandedIcon=this.expandedIcon,i}adopt(e){if(this.children||(this.children=[]),this===e)throw new Error("Node cannot be its own child");e.parent&&e.parent.removeChild(e),e.parent=this,this.children.push(e)}flatten(e){var t;this.objectName&&(e[this.objectName]=this),null==(t=this.children)||t.forEach((t=>t.flatten(e)))}isRBACDecorated(){return!(this.mbean&&this.mbean.op&&!sr(this.mbean.op))||void 0!==this.mbean.opByString&&!sr(this.mbean.opByString)}updateCanInvoke(e){this.mbean&&(this.mbean.canInvoke=e,this.applyCanInvoke())}setIcons(e,t=e){this.icon=e,this.expandedIcon=t}hasOperations(...e){if(!this.mbean||!this.mbean.op)return!1;const t=this.mbean.op;return e.every((e=>void 0!==t[e]))}hasInvokeRights(...e){var t;const r=this.mbean;if(!r)return!0;let i=null==(t=r.canInvoke)||t;if(i&&e&&e.length>0){const t=r.opByString,n=r.op;t&&n&&(i=this.resolveCanInvokeInOps(n,t,e))}return i}resolveCanInvokeInOps(e,t,r){let i=!0;return r.forEach((r=>{if(!i)return;let n=null;n=r.endsWith(")")?t[r]:e[r],n?i=this.resolveCanInvoke(n):Ui.debug("Could not find method:",r,"to check permissions, skipping")})),i}resolveCanInvoke(e){var t;return Array.isArray(e)?void 0===e.find((e=>void 0!==e.canInvoke&&!e.canInvoke)):null==(t=e.canInvoke)||t}},Qi=class{constructor(e,t){this.domain=e,this.propList=t,A(this,"properties",{}),A(this,"paths",[]),A(this,"typeName"),A(this,"serviceName"),A(this,"propRegex",new RegExp("(([^=,]+)=(\\\\\"[^\"]+\\\\\"|\\\\'[^']+\\\\'|\"[^\"]+\"|'[^']+'|[^,]+))|([^=,]+)","g")),this.parse(t)}parse(e){let t;for(;t=this.propRegex.exec(e);){const[e,r]=this.parseProperty(t[0]);this.properties[e]=r;let i=-1;const n=e.toLowerCase(),o={key:n,value:r};switch(n){case"type":this.typeName=r,this.domain.findChildren(r).length>0?i=0:this.properties.name&&(i=this.paths.findIndex((e=>"name"===e.key)));break;case"service":this.serviceName=r}i>=0?this.paths.splice(i,0,o):this.paths.push(o)}this.maybeReorderPaths()}parseProperty(e){let t=e,r=e;const i=e.indexOf("=");return i>0&&(t=e.substring(0,i),r=e.substring(i+1)),r=Vi(function(e){if(e&&e.length>0){const t=function(e,t){return e.replace(new RegExp("^['\"]+","g"),"")}(e);if(t.length{const r=this.properties[e];return r&&R(r,t)}))}getPaths(){return this.paths.map((e=>e.value))}objectName(){return`${this.domain.name}:${this.propList}`}};function Yi(e,t,r){if(!function(e,t,r){if(0===e.length||0===r.length)return!1;const i=t;return e.lengthe[i]!==r[t])):r.some(((t,r)=>{var n;return t!==(null==(n=e[r])?void 0:n[i])}))}(e,t,r))return;const i=t;r.reverse().forEach((t=>{const r=e.findIndex((e=>e[i]===t));if(r>=0){const t=e.splice(r,1)[0];t&&e.unshift(t)}}))}var Zi=new class{constructor(){A(this,"processors",{})}add(e,t){this.processors[e]=t}process(e){return C(this,null,(function*(){Ui.debug("Apply processors to tree:",this.processors);for(const[t,r]of Object.entries(this.processors))Ui.debug("Apply processor:",t),yield r(e)}))}getProcessors(){return this.processors}reset(){this.processors={}}},Xi=class e{constructor(e){this.id=e,A(this,"tree",[])}static createEmpty(t){return new e(t)}static createFromDomains(t,r){return C(this,null,(function*(){const i=new e(t);return yield i.populate(r),i}))}static createFromNodes(t,r){const i=new e(t);return i.tree=r,i}static filter(t,r){if(!t||0===(null==t?void 0:t.length))return[];let i=[];for(const n of t)if(r(n))i=i.concat(n);else{const t=e.filter(n.children||[],r);if(0!==t.length){const e=Object.assign({},n);e.children=t,i=i.concat(e)}}return i}populate(e){return C(this,null,(function*(){Object.entries(e).forEach((([e,t])=>{const r=Vi(e);this.populateDomain(r,t)})),this.sortTree(),yield Zi.process(this),fr.debug("Populated JMX tree:",this.tree)}))}populateDomain(e,t){fr.debug("JMX tree domain:",e);const r=this.getOrCreateNode(e);Object.entries(t).forEach((([e,t])=>{r.populateMBean(e,t)}))}getOrCreateNode(e){const t=this.tree.find((t=>t.name===e));if(t)return t;const r=new Ki(null,e,!0);return this.tree.push(r),r}sortTree(){this.tree.sort(Ki.sorter),this.tree.forEach((e=>e.sort(!0)))}getTree(){return this.tree}get(e){var t;return null!=(t=this.tree.find((t=>t.name===e)))?t:null}isEmpty(){return 0===this.tree.length}find(e){var t;return null!=(t=this.tree.map((t=>t.find(e))).find((e=>null!==e)))?t:null}findMBeans(e,t){var r,i;return null!=(i=null==(r=this.get(e))?void 0:r.findMBeans(t))?i:[]}descendByPathEntry(e){return this.find((t=>R(t.name,e)))}navigate(...e){var t;if(0===e.length)return null;const r=e[0];if(!r)return null;const i=this.descendByPathEntry(r);return null!=(t=null==i?void 0:i.navigate(...e.slice(1)))?t:null}forEach(e,t){if(0===e.length)return;const r=e[0];if(!r)return;const i=this.descendByPathEntry(r);i&&(t(i),i.forEach(e.slice(1),t))}flatten(){const e={};return this.tree.forEach((t=>t.flatten(e))),e}},$i=N.get(`${mr}-workspace`),en=new class{constructor(){A(this,"tree"),A(this,"pluginRegisterHandle"),A(this,"pluginUpdateCounter"),A(this,"treeWatchRegisterHandle"),A(this,"treeWatcherCounter")}refreshTree(){return C(this,null,(function*(){this.tree=void 0,yield this.getTree(),se.refresh()}))}getTree(){return this.tree||(this.tree=this.loadTree()),this.tree}loadTree(){return C(this,null,(function*(){var e;if(!(yield Q.isLogin()))throw new Error("User needs to have logged in to use workspace");const t=yield this.getConfig();if(!1===t.workspace||"boolean"!=typeof t.workspace&&0===(null==(e=t.workspace)?void 0:e.length))return Xi.createEmpty(mr);const r=t.workspace&&"boolean"!=typeof t.workspace?t.workspace:[];$i.debug("Load JMX MBean tree:",r);const i={ignoreErrors:!0,error:e=>{$i.debug("Error - fetching JMX tree:",e)},ajaxError:(e,t,r)=>{$i.debug("Ajax error - fetching JMX tree:",t,"-",r)}};try{const e=yield r.length>0?ei.sublist(r,i):ei.list(i);$i.debug("JMX tree loaded:",e);const t=yield Xi.createFromDomains(mr,e);return this.maybeMonitorPlugins(),this.maybeMonitorTree(),t}catch(e){return $i.error("A request to list the JMX tree failed:",e),Xi.createEmpty(mr)}}))}getConfig(){return C(this,null,(function*(){const{jmx:e}=yield V.getHawtconfig();return null!=e?e:{}}))}maybeMonitorPlugins(){return C(this,null,(function*(){if(yield this.treeContainsDomainAndProperties("hawtio",{type:"Registry"}))this.pluginRegisterHandle||(this.pluginRegisterHandle=ei.register({type:"read",mbean:"hawtio:type=Registry",attribute:"UpdateCounter"},(e=>this.maybeUpdatePlugins(e))));else if(this.pluginRegisterHandle){const e=yield this.pluginRegisterHandle;yield ei.unregister(e),this.pluginRegisterHandle=void 0,this.pluginUpdateCounter=void 0}}))}maybeMonitorTree(){return C(this,null,(function*(){if(yield this.treeContainsDomainAndProperties("hawtio",{type:"TreeWatcher"}))this.treeWatchRegisterHandle||(this.treeWatchRegisterHandle=ei.register({type:"read",mbean:"hawtio:type=TreeWatcher",attribute:"Counter"},(e=>this.maybeReloadTree(e))));else if(this.treeWatchRegisterHandle){const e=yield this.treeWatchRegisterHandle;ei.unregister(e),this.treeWatchRegisterHandle=void 0,this.treeWatcherCounter=void 0}}))}maybeUpdatePlugins(e){const t=e.value;this.pluginUpdateCounter?this.pluginUpdateCounter!==t&&($i.debug("Plugin update counter changed:",this.pluginUpdateCounter,"->",t),ei.loadAutoRefresh()&&($i.debug("Update plugins"),window.location.reload())):this.pluginUpdateCounter=t}maybeReloadTree(e){const t=e.value;this.treeWatcherCounter?this.treeWatcherCounter!==t&&($i.debug("Tree watcher counter changed:",this.treeWatcherCounter,"->",t),this.treeWatcherCounter=t,$i.debug("Refresh tree"),this.refreshTree()):this.treeWatcherCounter=t}hasMBeans(){return C(this,null,(function*(){return!(yield this.getTree()).isEmpty()}))}matchesProperties(e,t){if(!e)return!1;for(const[r,i]of Object.entries(t))switch(r){case"id":if(!e.id.startsWith(i)&&e.id!==i)return!1;break;case"name":if(e.name!==i)return!1;break;case"icon":if(JSON.stringify(e.icon)!==JSON.stringify(i))return!1}return!0}treeContainsDomainAndProperties(e,t){return C(this,null,(function*(){var r;const i=(yield this.getTree()).get(e);if(!i)return!1;if(t){const e=[i];e.push(...null!=(r=i.children)?r:[]);const n=e=>!!this.matchesProperties(e,t)||!!(e.children&&e.children.length>0)&&e.children.some(n);return e.some(n)}return!0}))}findMBeans(e,t){return C(this,null,(function*(){return(yield this.getTree()).findMBeans(e,t)}))}},tn=new class{constructor(){A(this,"preferences",{})}add(e,t,r,i=100){if(this.preferences[e])throw new Error(`Preferences '${e}' already registered`);this.preferences[e]={id:e,title:t,component:r,order:i}}getPreferences(){return Object.values(this.preferences).sort(((e,t)=>e.order-t.order))}reset(){this.preferences={}}},rn=r(52557),nn=w(r(71764)),on=r(52557),an=w(r(44914)),sn=r(78765),ln=w(r(9365)),dn=w(r(81433));function cn(e){if(!window.DOMParser)throw new Error("Cannot parse xml due to no available native parser");return(new DOMParser).parseFromString(e,"text/xml")}function pn(e){var t;return(null==(t=e.firstChild)?void 0:t.textContent)||null}function un(e,t){const r=e.querySelector(t);return r?pn(r):null}var hn="org.apache.camel",mn="/camel",fn="hawtio-camel",gn=N.get(fn),bn="Camel Contexts",yn="Camel Domain",vn="contexts",wn="routes",An="routeGroups",Cn="endpoints",kn="components",xn="dataformats",Sn="context",Tn="routeNode",En="routeXmlNode",_n="endpointNode",In="componentNode",Pn="MBeans",Mn="xmlNodeLocalName",Rn="createEndpoint(java.lang.String)",Dn="componentNames()",Bn="canSendToEndpoint(java.lang.String)",On="sendBodyAndHeaders(java.lang.String, java.lang.Object, java.util.Map)",qn="sendStringBody(java.lang.String, java.lang.String)",Nn="browseAllMessagesAsXml(java.lang.Boolean)",Ln="browseRangeMessagesAsXml(java.lang.Integer,java.lang.Integer, java.lang.Boolean)",jn="endpointStatistics()";function Fn(e){return C(this,null,(function*(){const t=Ls(e);if(!t||0===t.childCount())return[];const r=t.get(Cn,!0);if(!r)return[];const i=[];for(const e of r.getChildren()){if(!e.objectName)continue;const t=yield ei.readAttributes(e.objectName);i.push({uri:t.EndpointUri,state:t.State,mbean:e.objectName})}return i}))}function Hn(e){se.notify({type:"danger",message:e})}function Vn(e,t){return C(this,null,(function*(){const r=Ls(e);r?r.objectName?ei.execute(r.objectName,Rn,[t]).then((e=>{!0===e?(en.refreshTree(),se.notify({type:"success",message:"Creating endpoint",duration:3e3})):se.notify({type:"danger",message:"Invalid URI"})})).catch((e=>{e=e.replace("org.apache.camel.ResolveEndpointFailedException : ",""),se.notify({type:"danger",message:e})})):Hn("Could not find the CamelContext MBean!"):Hn("Could not find the CamelContext!")}))}function zn(e,t,r){return C(this,null,(function*(){var i,n,o;let a=[];if(null==(i=e.parent)?void 0:i.getMetadata(Sn)){let i;i=-1===r?yield ei.execute(null!=(n=e.objectName)?n:"",Nn,[!0]):yield ei.execute(null!=(o=e.objectName)?o:"",Ln,[t,r,!0]),a=function(e){var t,r,i,n,o,a;const s=[],l=e.getElementsByTagName("message");for(const e of l){const l=[];for(const n of e.getElementsByTagName("header"))l.push({key:null!=(t=n.getAttribute("key"))?t:"",value:null!=(r=n.textContent)?r:"",type:null!=(i=n.getAttribute("type"))?i:""});s.push({messageId:null!=(n=e.getAttribute("exchangeId"))?n:"",body:null!=(a=null==(o=e.getElementsByTagName("body")[0])?void 0:o.textContent)?a:"",headers:l})}return s}(cn(i))}return a}))}var Wn=r(74848),Un=e=>(0,Wn.jsx)("img",{src:e.svg,width:e.size+"px",height:e.size+"px",alt:e.name});Un.defaultProps={size:16};var Gn={};b(Gn,{IconNames:()=>ws,aggregate:()=>Qn,bean:()=>Yn,breakpoint:()=>Zn,camel:()=>Xn,camelContext:()=>$n,camelRoute:()=>eo,camelRouteFolder:()=>to,camelTracing:()=>ro,channel:()=>io,channeladapter:()=>no,channelpurger:()=>oo,choice:()=>ao,commandmessage:()=>so,competingconsumers:()=>lo,componentFolder:()=>co,contentbasedrouter:()=>po,contentfilter:()=>uo,controlbus:()=>ho,convertbodyto:()=>mo,correlationidentifier:()=>fo,customdataformat:()=>go,datatypechannel:()=>bo,deadletterchannel:()=>yo,detour:()=>vo,distributionaggregate:()=>wo,documentmessage:()=>Ao,durablesubscription:()=>Co,dynamicrouter:()=>ko,editCamelRoute:()=>xo,encapsulatedsynchronous:()=>So,endpoint:()=>To,endpointFile:()=>Eo,endpointFolder:()=>_o,endpointQueue:()=>Io,endpointRepository:()=>Po,endpointTimer:()=>Mo,endpointdrools:()=>Ro,endpoints:()=>Do,endpointsActivemq:()=>Bo,endpointsAtom:()=>Oo,endpointsBean:()=>qo,endpointsCxf:()=>No,endpointsCxfrs:()=>Lo,endpointsEjb:()=>jo,endpointsFacebook:()=>Fo,endpointsFile:()=>Ho,endpointsFolder:()=>Vo,endpointsFtp:()=>zo,endpointsFtps:()=>Wo,endpointsImap:()=>Uo,endpointsImaps:()=>Go,endpointsJdbc:()=>Jo,endpointsJms:()=>Ko,endpointsLanguage:()=>Qo,endpointsLinkedin:()=>Yo,endpointsLog:()=>Zo,endpointsMqtt:()=>Xo,endpointsNetty:()=>$o,endpointsNetty4:()=>ea,endpointsNetty4Http:()=>ta,endpointsNettyHttp:()=>ra,endpointsNode:()=>ia,endpointsPop3:()=>na,endpointsPop3s:()=>oa,endpointsQuartz:()=>aa,endpointsQuartz2:()=>sa,endpointsRss:()=>la,endpointsSAP:()=>da,endpointsSAPNetweaver:()=>ca,endpointsSalesForce:()=>pa,endpointsServlet:()=>ua,endpointsSftp:()=>ha,endpointsSmtp:()=>ma,endpointsSmtps:()=>fa,endpointsSnmp:()=>ga,endpointsSql:()=>ba,endpointsTimer:()=>ya,endpointsTwitter:()=>va,endpointsWeather:()=>wa,endpointsXslt:()=>Aa,enrich:()=>Ca,envelopeWrapper:()=>ka,eventDrivenConsumer:()=>xa,eventMessage:()=>Sa,fileTransfer:()=>Ta,filter:()=>Ea,flow:()=>_a,generic:()=>Ia,guaranteedMessaging:()=>Pa,idempotentConsumer:()=>Ma,invalidMessageChannel:()=>Ra,loadBalance:()=>Da,log:()=>Ba,marshal:()=>Oa,message:()=>qa,messageBroker:()=>Na,messageBus:()=>La,messageDispatcher:()=>ja,messageExpiration:()=>Fa,messageSelector:()=>Ha,messageSequence:()=>Va,messageStore:()=>za,messaging:()=>Wa,messagingAdapter:()=>Ua,messagingBridge:()=>Ga,messagingGateway:()=>Ja,multicast:()=>Ka,node:()=>Qa,normalizer:()=>Ya,pipeline:()=>Za,pointToPoint:()=>Xa,pollEnrich:()=>$a,pollingConsumer:()=>es,process:()=>ts,processManager:()=>rs,processor:()=>is,recipientList:()=>ns,requestReply:()=>os,resequence:()=>as,returnAddress:()=>ss,route:()=>ls,routingSlip:()=>ds,setBody:()=>cs,sharedDatabase:()=>ps,smartProxy:()=>us,split:()=>hs,storeInLibrary:()=>ms,testMessage:()=>fs,transactionalClient:()=>gs,transform:()=>bs,unmarshal:()=>ys,wireTap:()=>vs});var Jn,Kn,Qn='data:image/svg+xml,%0A%0A%0A',Yn='data:image/svg+xml,%0A%0A%0A',Zn='data:image/svg+xml,%0A%0A%0A',Xn='data:image/svg+xml,%0A\x3c!-- Uploaded to: SVG Repo, www.svgrepo.com, Transformed by: SVG Repo Mixer Tools --\x3e%0A',$n='data:image/svg+xml,%0A%0A%0A',eo='data:image/svg+xml,%0A%0A%0A',to='data:image/svg+xml,%0A%0A%0A',ro='data:image/svg+xml,%0A%0A%0A',io='data:image/svg+xml,%0A%0A%0A',no='data:image/svg+xml,%0A%0A%0A',oo='data:image/svg+xml,%0A%0A%0A',ao='data:image/svg+xml,%0A%0A%0A',so='data:image/svg+xml,%0A%0A%0A',lo='data:image/svg+xml,%0A%0A%0A',co='data:image/svg+xml,%0A%0A%0A',po='data:image/svg+xml,%0A%0A%0A',uo='data:image/svg+xml,%0A%0A%0A',ho='data:image/svg+xml,%0A%0A%0A',mo='data:image/svg+xml,%0A%0A%0A',fo='data:image/svg+xml,%0A%0A%0A',go='data:image/svg+xml,%0A%0A%0A',bo='data:image/svg+xml,%0A%0A%0A',yo='data:image/svg+xml,%0A%0A%0A',vo='data:image/svg+xml,%0A%0A%0A',wo='data:image/svg+xml,%0A%0A%0A',Ao='data:image/svg+xml,%0A%0A%0A',Co='data:image/svg+xml,%0A%0A%0A',ko='data:image/svg+xml,%0A%0A%0A',xo='data:image/svg+xml,%0A%0A%0A',So='data:image/svg+xml,%0A%0A%0A',To='data:image/svg+xml,%0A%0A%0A',Eo='data:image/svg+xml,%0A%0A%0A',_o='data:image/svg+xml,%0A%0A%0A',Io='data:image/svg+xml,%0A%0A%0A',Po='data:image/svg+xml,%0A%0A%0A',Mo='data:image/svg+xml,%0A%0A%0A',Ro='data:image/svg+xml,%0A%0A%0A',Do='data:image/svg+xml,%0A%0A%0A',Bo='data:image/svg+xml,%0A%0A%0A',Oo='data:image/svg+xml,%0A%0A%0A',qo='data:image/svg+xml,%0A%0A%0A',No='data:image/svg+xml,%0A%0A%0A',Lo='data:image/svg+xml,%0A%0A%0A',jo='data:image/svg+xml,%0A%0A%0A',Fo='data:image/svg+xml,%0A%0A%0A',Ho='data:image/svg+xml,%0A%0A%0A',Vo='data:image/svg+xml,%0A%0A%0A',zo='data:image/svg+xml,%0A%0A%0A',Wo='data:image/svg+xml,%0A%0A%0A',Uo='data:image/svg+xml,%0A%0A%0A',Go='data:image/svg+xml,%0A%0A%0A',Jo='data:image/svg+xml,%0A%0A%0A',Ko='data:image/svg+xml,%0A%0A%0A',Qo='data:image/svg+xml,%0A%0A%0A',Yo='data:image/svg+xml,%0A%0A%0A',Zo='data:image/svg+xml,%0A%0A%0A',Xo='data:image/svg+xml,%0A%0A%0A',$o='data:image/svg+xml,%0A%0A%0A',ea='data:image/svg+xml,%0A%0A%0A',ta='data:image/svg+xml,%0A%0A%0A',ra='data:image/svg+xml,%0A%0A%0A',ia='data:image/svg+xml,%0A%0A%0A',na='data:image/svg+xml,%0A%0A%0A',oa='data:image/svg+xml,%0A%0A%0A',aa='data:image/svg+xml,%0A%0A%0A',sa='data:image/svg+xml,%0A%0A%0A',la='data:image/svg+xml,%0A%0A%0A',da='data:image/svg+xml,%0A%0A%0A',ca='data:image/svg+xml,%0A%0A%0A',pa='data:image/svg+xml,%0A%0A%0A',ua='data:image/svg+xml,%0A%0A%0A',ha='data:image/svg+xml,%0A%0A%0A',ma='data:image/svg+xml,%0A%0A%0A',fa='data:image/svg+xml,%0A%0A%0A',ga='data:image/svg+xml,%0A%0A%0A',ba='data:image/svg+xml,%0A%0A%0A',ya='data:image/svg+xml,%0A%0A%0A',va='data:image/svg+xml,%0A%0A%0A',wa='data:image/svg+xml,%0A%0A%0A',Aa='data:image/svg+xml,%0A%0A%0A',Ca='data:image/svg+xml,%0A%0A%0A',ka='data:image/svg+xml,%0A%0A%0A',xa='data:image/svg+xml,%0A%0A%0A',Sa='data:image/svg+xml,%0A%0A%0A',Ta='data:image/svg+xml,%0A%0A%0A',Ea='data:image/svg+xml,%0A%0A%0A',_a='data:image/svg+xml,%0A%0A%0A',Ia='data:image/svg+xml,%0A%0A%0A',Pa='data:image/svg+xml,%0A%0A%0A',Ma='data:image/svg+xml,%0A%0A%0A',Ra='data:image/svg+xml,%0A%0A%0A',Da='data:image/svg+xml,%0A%0A%0A',Ba='data:image/svg+xml,%0A%0A%0A',Oa='data:image/svg+xml,%0A%0A%0A',qa='data:image/svg+xml,%0A%0A%0A',Na='data:image/svg+xml,%0A%0A%0A',La='data:image/svg+xml,%0A%0A%0A',ja='data:image/svg+xml,%0A%0A%0A',Fa='data:image/svg+xml,%0A%0A%0A',Ha='data:image/svg+xml,%0A%0A%0A',Va='data:image/svg+xml,%0A%0A%0A',za='data:image/svg+xml,%0A%0A%0A',Wa='data:image/svg+xml,%0A%0A%0A',Ua='data:image/svg+xml,%0A%0A%0A',Ga='data:image/svg+xml,%0A%0A%0A',Ja='data:image/svg+xml,%0A%0A%0A',Ka='data:image/svg+xml,%0A%0A%0A',Qa='data:image/svg+xml,%0A%0A%0A',Ya='data:image/svg+xml,%0A%0A%0A',Za='data:image/svg+xml,%0A%0A%0A',Xa='data:image/svg+xml,%0A%0A%0A',$a='data:image/svg+xml,%0A%0A%0A',es='data:image/svg+xml,%0A%0A%0A',ts='data:image/svg+xml,%0A%0A%0A',rs='data:image/svg+xml,%0A%0A%0A',is='data:image/svg+xml,%0A%0A%0A',ns='data:image/svg+xml,%0A%0A%0A',os='data:image/svg+xml,%0A%0A%0A',as='data:image/svg+xml,%0A%0A%0A',ss='data:image/svg+xml,%0A%0A%0A',ls='data:image/svg+xml,%0A%0A%0A',ds='data:image/svg+xml,%0A%0A%0A',cs='data:image/svg+xml,%0A%0A%0A',ps='data:image/svg+xml,%0A%0A%0A',us='data:image/svg+xml,%0A%0A%0A',hs='data:image/svg+xml,%0A%0A%0A',ms='data:image/svg+xml,%0A%0A%0A',fs='data:image/svg+xml,%0A%0A%0A',gs='data:image/svg+xml,%0A%0A%0A',bs='data:image/svg+xml,%0A%0A%0A',ys='data:image/svg+xml,%0A%0A%0A',vs='data:image/svg+xml,%0A%0A%0A',ws=(e=>(e.CamelContextIcon="CamelContextIcon",e.CamelRouteFolderIcon="CamelRouteFolderIcon",e.CamelRouteIcon="CamelRouteIcon",e.CamelIcon="CamelIcon",e.AggregateIcon="AggregateIcon",e.BeanIcon="BeanIcon",e.BreakpointIcon="BreakpointIcon",e.CamelTracingIcon="CamelTracingIcon",e.ChannelIcon="ChannelIcon",e.ChanneladapterIcon="ChanneladapterIcon",e.ChannelpurgerIcon="ChannelpurgerIcon",e.ChoiceIcon="ChoiceIcon",e.CommandmessageIcon="CommandmessageIcon",e.CompetingconsumersIcon="CompetingconsumersIcon",e.ComponentFolderIcon="ComponentFolderIcon",e.ContentbasedrouterIcon="ContentbasedrouterIcon",e.ContentfilterIcon="ContentfilterIcon",e.ControlbusIcon="ControlbusIcon",e.ConvertbodytoIcon="ConvertbodytoIcon",e.CorrelationidentifierIcon="CorrelationidentifierIcon",e.CustomdataformatIcon="CustomdataformatIcon",e.DatatypechannelIcon="DatatypechannelIcon",e.DeadletterchannelIcon="DeadletterchannelIcon",e.DetourIcon="DetourIcon",e.DistributionaggregateIcon="DistributionaggregateIcon",e.DocumentmessageIcon="DocumentmessageIcon",e.DurablesubscriptionIcon="DurablesubscriptionIcon",e.DynamicrouterIcon="DynamicrouterIcon",e.EditCamelRouteIcon="EditCamelRouteIcon",e.EncapsulatedsynchronousIcon="EncapsulatedsynchronousIcon",e.EndpointIcon="EndpointIcon",e.EndpointFileIcon="EndpointFileIcon",e.EndpointFolderIcon="EndpointFolderIcon",e.EndpointQueueIcon="EndpointQueueIcon",e.EndpointRepositoryIcon="EndpointRepositoryIcon",e.EndpointTimerIcon="EndpointTimerIcon",e.EndpointdroolsIcon="EndpointdroolsIcon",e.EndpointsFolderIcon="EndpointsFolderIcon",e.EndpointsNodeIcon="EndpointsNodeIcon",e.EndpointsIcon="EndpointsIcon",e.EnrichIcon="EnrichIcon",e.EnvelopeWrapperIcon="EnvelopeWrapperIcon",e.EventDrivenConsumerIcon="EventDrivenConsumerIcon",e.EventMessageIcon="EventMessageIcon",e.FileTransferIcon="FileTransferIcon",e.FilterIcon="FilterIcon",e.FlowIcon="FlowIcon",e.GenericIcon="GenericIcon",e.GuaranteedMessagingIcon="GuaranteedMessagingIcon",e.IdempotentConsumerIcon="IdempotentConsumerIcon",e.InvalidMessageChannelIcon="InvalidMessageChannelIcon",e.LoadBalanceIcon="LoadBalanceIcon",e.LogIcon="LogIcon",e.MarshalIcon="MarshalIcon",e.MessageIcon="MessageIcon",e.MessageBrokerIcon="MessageBrokerIcon",e.MessageBusIcon="MessageBusIcon",e.MessageDispatcherIcon="MessageDispatcherIcon",e.MessageExpirationIcon="MessageExpirationIcon",e.MessageSelectorIcon="MessageSelectorIcon",e.MessageSequenceIcon="MessageSequenceIcon",e.MessageStoreIcon="MessageStoreIcon",e.MessagingIcon="MessagingIcon",e.MessagingAdapterIcon="MessagingAdapterIcon",e.MessagingBridgeIcon="MessagingBridgeIcon",e.MessagingGatewayIcon="MessagingGatewayIcon",e.MulticastIcon="MulticastIcon",e.NodeIcon="NodeIcon",e.NormalizerIcon="NormalizerIcon",e.PipelineIcon="PipelineIcon",e.PointToPointIcon="PointToPointIcon",e.PollEnrichIcon="PollEnrichIcon",e.PollingConsumerIcon="PollingConsumerIcon",e.ProcessIcon="ProcessIcon",e.ProcessManagerIcon="ProcessManagerIcon",e.ProcessorIcon="ProcessorIcon",e.RecipientListIcon="RecipientListIcon",e.RequestReplyIcon="RequestReplyIcon",e.ResequenceIcon="ResequenceIcon",e.ReturnAddressIcon="ReturnAddressIcon",e.RouteIcon="RouteIcon",e.RoutingSlipIcon="RoutingSlipIcon",e.SetBodyIcon="SetBodyIcon",e.SharedDatabaseIcon="SharedDatabaseIcon",e.SmartProxyIcon="SmartProxyIcon",e.SplitIcon="SplitIcon",e.StoreInLibraryIcon="StoreInLibraryIcon",e.TestMessageIcon="TestMessageIcon",e.TransactionalClientIcon="TransactionalClientIcon",e.TransformIcon="TransformIcon",e.UnmarshalIcon="UnmarshalIcon",e.WireTapIcon="WireTapIcon",e))(ws||{}),As=r(74848),Cs=new Map;function ks(e,t,r){return(0,As.jsx)(Un,{name:e,svg:t,size:r})}for(const[e,t]of Object.entries(Gn)){if("IconNames"===e)continue;const r=(null!=(Kn=null==(Jn=e[0])?void 0:Jn.toUpperCase())?Kn:"")+e.substring(1)+"Icon";Cs.set(r,ks(r,t,16))}var xs=ws;function Ss(e,t){var r;let i;if(t){gn.debug("Fetching custom sized icon '"+e+"' with size '"+t+"'");const r=e+"_"+t;if(i=Cs.get(r),!i){const n=e.replace("Icon","").toLowerCase();Object.entries(Gn).filter((([e,t])=>n===e)).forEach((([n,o])=>{gn.debug("Building custom sized icon '"+e+"' with size '"+t+"'"),i=ks(r,o,t),Cs.set(r,i)}))}}else i=Cs.get(e);return i||(null!=(r=Cs.get(xs.GenericIcon))?r:Ia)}var Ts=new class{lookupDefinition(e,t){if(!t)return null;if(!ar(t[e]))return null;const r=t[e];if(ar(r.fullSchema))return r.fullSchema;const i=[];if((null==r?void 0:r.extends)&&i.push("extends"),(null==r?void 0:r.type)&&i.push("type"),0===i.length)return r;const n=(o=r,JSON.parse(JSON.stringify(o)));var o;n.properties=n.properties||{};for(const e of i){const r=this.lookupDefinition(n[e],t),i=null==r?void 0:r.properties;if(ar(i))for(const[e,t]of Object.entries(i))n.properties[e]=t}return r.fullSchema=n,n}getSchema(e,t){return lr(t)?this.lookupDefinition(t,dl(e).definitions):t}},Es="dumpRoutesAsXml()",_s=new class{getIcon(e,t,r){let i=null;if(t instanceof Element){const r=t.localName;r&&(i=Ts.getSchema(e,r))}else i=t;if(!i)return null;let n=(i.icon||"generic24.png").replace(".png","");return n=n.replace("24",""),n=n.replace("-icon",""),n=n.replace("icon",""),n=n.charAt(0).toUpperCase()+n.slice(1),n=n.replace(/-([a-z])/g,(e=>{var t,r;return null!=(r=null==(t=e[1])?void 0:t.toUpperCase())?r:e})),n=`${n}Icon`,Ss(n,r)}populateStepNode(e,t){const r=Ts.getSchema(e,t.localName);if(!r)return;const i=t.id,n=t.getAttribute("uri"),o=(i?i+": ":n?n+": ":"")+t.localName,a=new Ki(null,o,!1);a.setType(En),Rs(a),a.setIcons(this.getIcon(e,r)),e.adopt(a),this.loadStepXml(a,t)}loadStepXml(e,t){e.addMetadata("xml",t.outerHTML),e.addMetadata(Mn,t.localName);for(const r of t.children)this.populateStepNode(e,r)}loadRouteXml(e,t){e.addMetadata("xml"," "+t.outerHTML),e.addMetadata(Mn,t.localName);const r=t.getAttribute("group");r&&e.addMetadata("group",r);for(const r of t.children)this.populateStepNode(e,r)}fetchRoutesXml(e){return C(this,null,(function*(){const{objectName:t}=e;if(!t)throw new Error("Cannot process route xml as mbean name not available");const r=yield ei.execute(t,Es);if(!r)throw new Error("Failed to extract any xml from mbean: "+t);return r}))}processRouteXml(e,t){var r;const i=cn(e).getElementById(t.name);if(!i||"route"!==(null==(r=i.tagName)?void 0:r.toLowerCase()))throw new Error(`No routes named '${t.name}' found in the routes xml`);return i}loadRoutesXml(e,t){return C(this,null,(function*(){if("routes"===t.getType())try{const r=yield this.fetchRoutesXml(e);t.addMetadata("xml",r),t.getChildren().forEach((e=>{try{const t=this.processRouteXml(r,e);this.loadRouteXml(e,t)}catch(t){gn.error(`Failed to process route xml for '${e.name}':`,t)}}))}catch(t){gn.error(`Failed to load routes xml for '${e.name}':`,t)}}))}dumpRoutesStatsXML(e){return C(this,null,(function*(){var t;let r=null;const i=e.getMetadata(Sn),n=i?"dumpRoutesStatsAsXml":"dumpRouteStatsAsXml",o=i||(null!=(t=e.objectName)?t:"");try{r=yield ei.execute(o,n,[!0,!0])}catch(e){throw new Error("Failed to dump routes stats from mbean "+i+": "+e)}if(!r)throw new Error("Failed to extract any xml from mbean "+i);return r}))}processRoutesStats(e){const t=[],r=cn(e).getElementsByTagName("routeStat");for(const e of r)t.push(this.createRouteStats(e));return t}createProcessorStats(e,t){let r={id:"",index:"",state:""};for(const e of t.getAttributeNames())r=g(f({},r),{[e]:t.getAttribute(e)});return r}createRouteStats(e){const t=e.getElementsByTagName("processorStat"),r=[];for(const i of t)r.push(this.createProcessorStats(e.id,i));let i={id:"",processorStats:r,sourceLocation:"",state:""};for(const t of e.getAttributeNames())i=g(f({},i),{[t]:e.getAttribute(t)});return i}};function Is(e){se.notify({type:"danger",message:e})}function Ps(e){se.notify({type:"info",message:e})}function Ms(e,t){if(e)for(const r of e.getChildren())r.setType(t),Rs(r),Ms(r,t)}function Rs(e){e.addMetadata("domain",hn)}function Ds(e){return hn===e.getMetadata("domain")}function Bs(e){return void 0!==e.objectName&&ar(e.mbean)}function Os(e){return e.getType()===yn}function qs(e){return Ds(e)&&e.getType()===vn}function Ns(e){return Ds(e)&&e.getType()===Sn}function Ls(e){return Ds(e)?Os(e)?Ls(e.getIndex(0)):qs(e)?0===e.childCount()?null:e.getIndex(0):Ns(e)?e:e.findAncestor((e=>Ns(e))):null}function js(e){return Ds(e)&&!Bs(e)&&e.getType()===wn}function Fs(e){return Ds(e)&&e.getType()===Tn}function Hs(e){return Ds(e)&&e.getType()===En}function Vs(e){return Ds(e)&&!Bs(e)&&e.getType()===Cn}function zs(e){return Ds(e)&&e.getType()===_n}function Ws(e){return Ds(e)&&!Bs(e)&&e.getType()===kn}function Us(e){return Ds(e)&&e.getType()===In}function Gs(e,t,r){if(!e)return null;const i=Ls(e);if(!i)return null;const n=i.navigate(Pn,t);if(!n||!n.children)return null;return n.getChildren().find((e=>e.name.startsWith(r)))||null}function Js(e){return Fs(e)||js(e)}function Ks(e){var t;if(zs(e)||Vs(e))return!1;if(!Fs(e)&&!js(e))return!1;const r=Ls(e);return null!=(t=null==r?void 0:r.hasInvokeRights(Es))&&t}function Qs(e){var t;if(!zs(e))return!1;const r=Ls(e);return null!=(t=null==r?void 0:r.hasInvokeRights(On,qn))&&t}function Ys(e){return!!zs(e)&&!!e.hasOperations("browseMessageAsXml")&&e.hasInvokeRights(Nn,Ln)}function Zs(e){var t;const r=Xs(e),i=null!=(t=null==r?void 0:r.hasInvokeRights("endpointStatistics"))&&t;return!Vs(e)&&!zs(e)&&!Ws(e)&&!Us(e)&&(Ns(e)||js(e))&&i}function Xs(e){return Gs(e,"services","DefaultRuntimeEndpointRegistry")}function $s(e){return!Vs(e)&&!zs(e)&&!Ws(e)&&!Us(e)&&(Ns(e)||js(e)||Fs(e))&&function(e){return null!==Gs(e,"services","DefaultInflightRepository")}(e)}function el(e){return!Fs(e)&&!Hs(e)&&!Vs(e)&&!zs(e)&&!Ws(e)&&!Us(e)&&(Ns(e)||js(e))&&function(e){var t;const r=function(e){return Gs(e,"services","TypeConverter")}(e);return null!=(t=null==r?void 0:r.hasInvokeRights("listTypeConverters"))&&t}(e)}function tl(e){return Gs(e,"tracer","BacklogTracer")}function rl(e){return Gs(e,"tracer","BacklogDebugger")}function il(e){return pl(e,4,0)?"breakpoints":"getBreakpoints"}function nl(e){var t;if(!Fs(e))return!1;const r=rl(e);return null!=(t=null==r?void 0:r.hasInvokeRights(il(e)))&&t}function ol(e){var t;if(!Fs(e))return!1;const r=tl(e);return null!=(t=null==r?void 0:r.hasInvokeRights("dumpAllTracedMessagesAsXml"))&&t}function al(e){return Gs(e,"services","DefaultRestRegistry")}function sl(e){return!(!Ns(e)&&!js(e))&&(!!function(e){var t;const r=al(e);return null!=(t=null==r?void 0:r.hasInvokeRights("listRestServices"))&&t}(e)&&!!al(e))}function ll(e){return Fs(e)||Hs(e)}function dl(e){return pl(e,4,4)?dn:(pl(e,4,0),ln)}function cl(e){return C(this,null,(function*(){if(!E(e.getMetadata("version")))return;if(!e.objectName)return void gn.warn("Camel version not available due to absence of ObjectName in context node:",e);const t=yield ei.readAttribute(e.objectName,"CamelVersion");e.addMetadata("version",t)}))}function pl(e,t,r){const i=function(e){var t;const r=Ls(e);return r&&null!=(t=r.getMetadata("version"))?t:null}(e);return!!i&&function(e,t,r){var i,n;const o=e.split("."),a=parseInt(null!=(i=o[0])?i:"0")||0,s=parseInt(null!=(n=o[1])?n:"0")||0;return at?1:sr?1:0}(i,t,r)>=0}var ul=r(44914),hl=r(78765),ml=(0,ul.createContext)({tree:Xi.createEmpty(fn),selectedNode:null,setSelectedNode:()=>{}}),fl=r(52557),gl=r(96527),bl=r(44914),yl=r(52557),vl=w(r(44914)),wl="Started",Al="Suspended",Cl="start()",kl="suspend()",xl="stop()",Sl=new class{constructor(){A(this,"handles",[])}toContextState(e,t){var r;return{node:e,state:null!=(r=null==t?void 0:t.State)?r:"Not Found"}}getContext(e){return C(this,null,(function*(){if(!e.objectName)return null;const t=yield ei.readAttributes(e.objectName);return this.toContextState(e,t)}))}getContexts(e){return C(this,null,(function*(){const t=e.getChildren();if(0===t.length)return[];const r=[];for(const e of t){if(!e.objectName)continue;const t=yield ei.readAttributes(e.objectName);r.push(this.toContextState(e,t))}return r}))}register(e,t){return C(this,null,(function*(){const r=yield ei.register(e,t);gn.debug("Register handle:",r),this.handles.push(r)}))}unregisterAll(){gn.debug("Unregister all handles:",this.handles),this.handles.forEach((e=>ei.unregister(e))),this.handles=[]}startContext(e){return C(this,null,(function*(){yield this.executeOperation(Cl,e)}))}suspendContext(e){return C(this,null,(function*(){yield this.executeOperation(kl,e)}))}stopContext(e){return C(this,null,(function*(){yield this.executeOperation(xl,e)}))}executeOperation(e,t){const{objectName:r}=t.node;if(!r)throw new Error("ObjectName for the context must be provided");return ei.execute(r,e)}},Tl=r(74848),El=({contexts:e,deleteCallback:t})=>{const[r,i]=(0,vl.useState)(!1),[n,o]=(0,vl.useState)(!1),[a,s]=(0,vl.useState)(!1),l=e[0],d=()=>{o(!n)},c=()=>{s(!0)};if(a){C(void 0,null,(function*(){for(const t of e)try{yield Sl.stopContext(t),se.notify({type:"success",message:"Camel context deleted."})}catch(e){se.notify({type:"danger",message:`Camel context deletion failed: ${e}`})}t(e),s(!1),en.refreshTree()}));const r=`Deleting ${e.length>1?"Contexts":"Context"} ...`;return(0,Tl.jsx)(yl.Modal,{variant:yl.ModalVariant.small,title:r,titleIconVariant:"warning",isOpen:a,children:(0,Tl.jsx)(yl.Skeleton,{screenreaderText:r})})}const p=(0,Tl.jsxs)(vl.default.Fragment,{children:[(0,Tl.jsx)(yl.ToolbarItem,{children:(0,Tl.jsx)(yl.Button,{variant:"primary",isSmall:!0,isDisabled:!(l&&l.node.hasInvokeRights(Cl)&&0!==e.length&&e.some((e=>e.state===Al))),icon:(0,Tl.jsx)(Xe,{}),onClick:()=>{e.filter((e=>e.state===Al)).forEach((e=>Sl.startContext(e).then((()=>se.notify({type:"success",message:"Camel context start requested"}))).catch((e=>se.notify({type:"danger",message:`Camel context start failed: ${e}`})))))},children:"Start"})}),(0,Tl.jsx)(yl.ToolbarItem,{children:(0,Tl.jsx)(yl.Button,{variant:"danger",isSmall:!0,isDisabled:!(l&&l.node.hasInvokeRights(kl)&&0!==e.length&&e.some((e=>e.state===wl))),icon:(0,Tl.jsx)(Oe,{}),onClick:()=>{e.filter((e=>e.state===wl)).forEach((e=>Sl.suspendContext(e).then((()=>se.notify({type:"success",message:"Camel context suspension requested"}))).catch((e=>se.notify({type:"danger",message:`Camel context suspension failed: ${e}`})))))},children:"Suspend"})})]}),u=()=>(0,Tl.jsxs)(yl.Modal,{variant:yl.ModalVariant.small,title:"Delete Camel Contexts",titleIconVariant:"danger",isOpen:n,onClose:d,actions:[(0,Tl.jsx)(yl.Button,{variant:"danger",onClick:c,children:"Delete"},"delete"),(0,Tl.jsx)(yl.Button,{variant:"link",onClick:d,children:"Cancel"},"cancel")],children:[(0,Tl.jsx)("p",{children:"You are about to delete this Camel Context."}),(0,Tl.jsx)("p",{children:"This operation cannot be undone so please be careful."})]}),h=[(0,Tl.jsx)(yl.DropdownItem,{component:(0,Tl.jsxs)(yl.Button,{variant:"plain",isDisabled:!(l&&l.node.hasInvokeRights(xl)&&e.length>0),onClick:()=>{i(!1),d()},children:[(0,Tl.jsx)(nt,{})," Delete"]})},"delete")];return(0,Tl.jsxs)(vl.default.Fragment,{children:[(0,Tl.jsx)(yl.Toolbar,{id:"camel-contexts-toolbar",children:(0,Tl.jsxs)(yl.ToolbarContent,{children:[p,(0,Tl.jsx)(yl.ToolbarItem,{id:"camel-contexts-toolbar-item-dropdown",children:(0,Tl.jsx)(yl.Dropdown,{toggle:(0,Tl.jsx)(yl.KebabToggle,{id:"camel-contexts-toolbar-item-dropdown-toggle",onToggle:e=>{i(e)}}),isOpen:r,dropdownItems:h,isPlain:!0})})]})}),(0,Tl.jsx)(u,{})]})},_l=r(74848),Il=()=>{const{selectedNode:e}=(0,bl.useContext)(ml),[t,r]=(0,bl.useState)(!0),[i,n]=(0,bl.useState)([]),[o,a]=(0,bl.useState)([]),s=e=>o.includes(e);if((0,bl.useEffect)((()=>{e&&(r(!0),C(void 0,null,(function*(){try{const t=yield Sl.getContexts(e);n(t)}catch(e){se.notify({type:"warning",message:e})}r(!1)})))}),[e]),(0,bl.useEffect)((()=>{if(i&&0!==i.length)return i.forEach(((e,t)=>{const{objectName:r}=e.node;r&&Sl.register({type:"read",mbean:r},(r=>{gn.debug("Scheduler - Contexts:",r.value);const o=r.value,a=Sl.toContextState(e.node,o),s=[...i];s.splice(t,1,a),n(s)}))})),()=>Sl.unregisterAll()}),[e,i]),!e)return null;if(t)return(0,_l.jsx)(Jt,{});const l=[];l.push({title:"Context",transforms:[gl.wrappable]}),l.push({title:"State",transforms:[gl.wrappable]});const d=[];for(const e of i)d.push({cells:[e.node.name,e.state],selected:s(e)});return 0===d.length?(0,_l.jsx)(fl.Card,{children:(0,_l.jsx)(fl.CardBody,{children:(0,_l.jsxs)(fl.Text,{component:"p",children:[(0,_l.jsx)(Ge,{})," This domain has no contexts."]})})}):(0,_l.jsxs)(fl.Card,{isFullHeight:!0,children:[(0,_l.jsx)(El,{contexts:o,deleteCallback:e=>{const t=i.filter((t=>!e.includes(t)));n(t)}}),(0,_l.jsxs)(gl.Table,{onSelect:(e,t,r)=>{if(-1===r)((e=!0)=>{a(e?[...i]:[])})(t);else{const e=i[r];e&&((e,t)=>{const r=o.filter((t=>t.node!==e.node));a(t?[...r,e]:[...r])})(e,t)}},canSelectAll:!0,"aria-label":"Contexts",variant:"compact",cells:l,rows:d,children:[(0,_l.jsx)(gl.TableHeader,{}),(0,_l.jsx)(gl.TableBody,{})]})]})},Pl=r(52557),Ml=r(96527),Rl=w(r(44914)),Dl=r(96527),Bl=r(44914),Ol=w(r(20072)),ql=(r(90036),{ignoreIdForLabel:!1,showInflightCounter:!0,maximumLabelWidth:34,maximumTraceOrDebugBodyLength:5e3,traceOrDebugIncludeStreams:!1}),Nl="camel.preferences",Ll=new class{loadOptions(){return f(f({},ql),this.loadFromStorage())}saveOptions(e){const t=f(f({},this.loadFromStorage()),e);localStorage.setItem(Nl,JSON.stringify(t))}loadFromStorage(){const e=localStorage.getItem(Nl);return e?JSON.parse(e):{}}},jl=r(44914),Fl=e=>{};function Hl(){const[e,t]=(0,jl.useState)([]),[r,i]=(0,jl.useState)(""),[n,o]=(0,jl.useState)(!0),[a,s]=(0,jl.useState)(Fl),[l,d]=(0,jl.useState)([]);return{graphNodeData:e,setGraphNodeData:t,graphSelection:r,setGraphSelection:i,showStatistics:n,setShowStatistics:o,doubleClickAction:a,setDoubleClickAction:s,annotations:l,setAnnotations:d}}var Vl=(0,jl.createContext)({graphNodeData:[],setGraphNodeData:e=>{},graphSelection:"",setGraphSelection:e=>{},showStatistics:!0,setShowStatistics:e=>{},doubleClickAction:e=>{},setDoubleClickAction:e=>{},annotations:[],setAnnotations:e=>{}}),zl=w(r(76246)),Wl=r(20072),Ul=new class{constructor(){A(this,"dagreGraph"),A(this,"nodeWidth",250),A(this,"nodeHeight",80),A(this,"edgeType","smoothstep"),A(this,"margin",{left:25,top:25}),this.dagreGraph=new zl.default.graphlib.Graph,this.dagreGraph.setDefaultEdgeLabel((()=>({})))}getLayoutedElements(e,t,r="TB"){const i="LR"===r;return this.dagreGraph.setGraph({rankdir:r}),e.forEach((e=>{this.dagreGraph.setNode(e.id,{width:this.nodeWidth,height:this.nodeHeight})})),t.forEach((e=>{this.dagreGraph.setEdge(e.source,e.target)})),zl.default.layout(this.dagreGraph),e.forEach((e=>{const t=this.dagreGraph.node(e.id);e.targetPosition=i?Wl.Position.Left:Wl.Position.Top,e.sourcePosition=i?Wl.Position.Right:Wl.Position.Bottom,e.position={x:t.x-this.nodeWidth/2+this.margin.left,y:t.y-this.nodeHeight/2+this.margin.top}})),{layoutedNodes:e,layoutedEdges:t}}getRouteNodeUri(e){if(!e)return null;const t=e.getAttribute("uri");if(t)return t;const r=e.getAttribute("ref");if(!r)return null;const i=e.getAttribute("method");return i?`${r}.${i}()`:`ref:${r}`}loadRouteXmlNodes(e,t,r){const i=[],n=[],o=cn(t).getElementsByTagName("route");for(const t of Array.from(o)){const o=t.id;r&&o&&r!==o||this.addRouteXmlChildren(e,t,i,n,o,"")}const a=i.map((e=>({id:e.id,data:e,position:{x:0,y:0},type:"camel"})));return n.forEach((e=>{e.markerEnd={type:Wl.MarkerType.Arrow},e.type=this.edgeType,e.animated=!0})),{camelNodes:a,edges:n}}updateStats(e,t){const r=_s.processRoutesStats(e);return t.map((e=>{const t=r.find((t=>t.id===e.data.routeId));if("from"===e.data.type){const r=g(f({},e.data),{stats:t});return g(f({},e),{data:r})}const i=null==t?void 0:t.processorStats.find((t=>e.data.cid===t.id)),n=g(f({},e.data),{stats:i});return g(f({},e),{data:n})}))}addRouteXmlChildren(e,t,r,i,n,o,a=null){let s=t.getAttribute("id"),l=[];const d=t.localName;let c=-1;for(const p of Array.from(t.children)){const t=r.length+"";c++;const u=p.localName;"from"===u&&"-1"!==o&&(o=t);const h=Ts.getSchema(e,u);let m=null;if(h){let a=h.title||u;const f=this.getRouteNodeUri(p);f&&(a+=` ${f.split("?")[0]}`);let g=h.tooltip||h.description||a;f&&(g+=" "+f);const{ignoreIdForLabel:b,maximumLabelWidth:y}=Ll.loadOptions(),v=p.getAttribute("id");let w=a;if(v){const e=p.getAttribute("customId");b||!e||"false"===e?w="id: "+v:a=v}a.length>y&&(w=a+"\n\n"+w,a=a.substring(0,y)+"..");const A=_s.getIcon(e,h);if(("from"===u||"to"===u)&&f){const e=f.indexOf(":");e>0&&f.substring(0,e)}let C=p.getAttribute("_cid")||p.getAttribute("id");m={id:t,routeIdx:c,name:u,label:a,labelSummary:w,group:1,elementId:v,imageUrl:A,cid:null!=C?C:t,tooltip:g,type:u,uri:null!=f?f:"",routeId:n},s&&(m.cid=s),C||(C=u+(r.length+1)),C&&(m.cid=C),s=null,r.push(m),null!==o&&o!==t&&(0===l.length||"choice"===d?i.push({id:o+"-"+t,source:o+"",target:t}):(l.forEach((function(e){i.push({id:e+"-"+t,source:e+"",target:t})})),l.length=0))}else{const e={name:"sfd"};if(e&&a){const t=e.name||u,r=p.textContent;r?(a.tooltip=a.label+" "+t+" "+r,a.label+=": "+this.appendLabel(p,r,!0)):a.label+=": "+this.appendLabel(p,t,!1)}}const f=this.addRouteXmlChildren(e,p,r,i,n,t,m);l="choice"===d?l.concat(f):"aggregate"===u||"choice"===u||"delay"===u||"filter"===u||"loadBalance"===u||"loop"===u||"multicast"===u||"resequence"===u||"split"===u||"doTry"===u||"doCatch"===u||"doFinally"===u||"idempotentConsumer"===u||"onCompletion"===u?f:[r.length-1]}return l}appendLabel(e,t,r){return"method"===e.localName&&(r||(e.getAttribute("bean")?t+=" "+e.getAttribute("bean"):e.getAttribute("ref")?t+=" "+e.getAttribute("ref"):e.getAttribute("beanType")&&(t+=" "+e.getAttribute("beanType"))),e.getAttribute("method")&&(t+=" "+e.getAttribute("method"))),t}},Gl=r(74848),Jl=()=>{const{selectedNode:e}=(0,Bl.useContext)(ml),{setGraphNodeData:t,graphSelection:r,setGraphSelection:i}=(0,Bl.useContext)(Vl),[n,o,a]=(0,Ol.useNodesState)([]),[s,l,d]=(0,Ol.useEdgesState)([]),[c,p]=(0,Bl.useState)(""),u=(0,Bl.useMemo)((()=>({camel:Kl})),[]);(0,Bl.useEffect)((()=>{if(!e)return;const i=e.getMetadata("xml");if(!i)return;const{camelNodes:n,edges:a}=Ul.loadRouteXmlNodes(e,i);t(n.map((e=>e.data))),c&&Ul.updateStats(c,n);const{layoutedNodes:s,layoutedEdges:d}=Ul.getLayoutedElements(n,a);if(s.forEach((e=>{e.selected=r===e.data.cid})),l([...d]),c){const e=Ul.updateStats(c,s);o(e)}else o([...s])}),[e,l,o,c,t,r]),(0,Bl.useEffect)((()=>{const t=()=>C(void 0,null,(function*(){if(e){const t=yield _s.dumpRoutesStatsXML(e);t&&p(t)}}));t();const r=setInterval((()=>t()),2e3);return()=>clearInterval(r)}),[e]);const h=(0,Bl.useCallback)((e=>l((t=>(0,Ol.addEdge)(g(f({},e),{type:Ol.ConnectionLineType.SmoothStep,animated:!0}),t)))),[l]);return e?(0,Gl.jsx)("div",{className:"camel-route-diagram",children:(0,Gl.jsx)(Ol.default,{nodeTypes:u,nodes:n,edges:s,connectionLineType:Ol.ConnectionLineType.SmoothStep,onNodesChange:a,onEdgesChange:d,onConnect:h,fitView:!0,elementsSelectable:!0,onNodeClick:(e,t)=>{i(t.data.cid)}})}):null},Kl=({data:e,selected:t,sourcePosition:r,targetPosition:i})=>{var n,o,a,s,l,d,c,p;const{showStatistics:u,doubleClickAction:h,annotations:m}=(0,Bl.useContext)(Vl),[f,g]=(0,Bl.useState)(!1),[b]=(0,Bl.useState)(!1),[y,v]=(0,Bl.useState)(void 0),{showInflightCounter:w}=Ll.loadOptions();return(0,Bl.useEffect)((()=>{if(!m||0===m.length)return void v(void 0);const t=m.find((t=>t.nodeId===e.cid));v(t)}),[m,e.cid]),(0,Gl.jsxs)("div",{className:"camel-node-content"+(t?" highlighted":""),onMouseEnter:()=>{u&&g(!0)},onMouseLeave:()=>{u&&g(!1)},onDoubleClick:t=>{h&&h(e)},children:[(0,Gl.jsx)(Ol.Handle,{type:"target",position:null!=i?i:Ol.Position.Top}),(0,Gl.jsx)(Ol.Handle,{type:"source",position:null!=r?r:Ol.Position.Bottom,id:"a"}),(0,Gl.jsx)("div",{className:"annotation",children:null==y?void 0:y.element}),(0,Gl.jsx)("div",{className:"icon",children:e.imageUrl}),(0,Gl.jsx)("div",{className:"inflights",children:w&&(null==(n=e.stats)?void 0:n.exchangesInflight)}),(0,Gl.jsx)("div",{className:"number",children:null==(o=e.stats)?void 0:o.exchangesCompleted}),(0,Gl.jsxs)("div",{className:"camel-node-label",children:[" ",(e=>{const t=e.indexOf("\n");return e.length<20&&-1===t?e:e.replace("\n"," ").substring(0,17)+"..."})(e.label)]}),u&&(0,Gl.jsx)(Ol.NodeToolbar,{isVisible:f,position:Ol.Position.Bottom,style:{marginTop:"-30px"},children:(0,Gl.jsxs)("div",{className:"node-tooltip",children:[!e.stats&&e.label,e.stats&&!b&&(0,Gl.jsx)(Dl.TableComposable,{variant:"compact",children:(0,Gl.jsxs)(Dl.Tbody,{style:{fontSize:"xx-small"},children:[(0,Gl.jsxs)(Dl.Tr,{children:[(0,Gl.jsx)(Dl.Td,{children:"ID"}),(0,Gl.jsx)(Dl.Td,{children:e.stats.id})]}),(0,Gl.jsxs)(Dl.Tr,{children:[(0,Gl.jsx)(Dl.Td,{children:"Completed"}),(0,Gl.jsx)(Dl.Td,{children:null==(a=e.stats)?void 0:a.exchangesCompleted})]}),(0,Gl.jsxs)(Dl.Tr,{children:[(0,Gl.jsx)(Dl.Td,{children:"Inflight"}),(0,Gl.jsx)(Dl.Td,{children:null==(s=e.stats)?void 0:s.exchangesInflight})]}),(0,Gl.jsxs)(Dl.Tr,{children:[(0,Gl.jsx)(Dl.Td,{children:"Last"}),(0,Gl.jsxs)(Dl.Td,{children:[null==(l=e.stats)?void 0:l.lastProcessingTime," (ms)"]})]}),(0,Gl.jsxs)(Dl.Tr,{children:[(0,Gl.jsx)(Dl.Td,{children:"Mean"}),(0,Gl.jsxs)(Dl.Td,{children:[null==(d=e.stats)?void 0:d.meanProcessingTime," (ms)"]})]}),(0,Gl.jsxs)(Dl.Tr,{children:[(0,Gl.jsx)(Dl.Td,{children:"Mix"}),(0,Gl.jsxs)(Dl.Td,{children:[null==(c=e.stats)?void 0:c.minProcessingTime," (ms)"]})]}),(0,Gl.jsxs)(Dl.Tr,{children:[(0,Gl.jsx)(Dl.Td,{children:"Max"}),(0,Gl.jsxs)(Dl.Td,{children:[null==(p=e.stats)?void 0:p.maxProcessingTime," (ms)"]})]})]})}),e.stats&&b&&(0,Gl.jsx)(Dl.TableComposable,{variant:"compact",children:(0,Gl.jsx)(Dl.Tbody,{style:{fontSize:"xx-small"},children:Object.entries(e.stats).map((e=>(0,Gl.jsxs)(Dl.Tr,{children:[(0,Gl.jsx)(Dl.Td,{children:e[0]}),(0,Gl.jsx)(Dl.Td,{children:e[1]})]},e[0])))})})]})})]})},Ql=r(52557),Yl=r(44914),Zl=new class{constructor(){A(this,"handles",[])}register(e,t){return C(this,null,(function*(){const r=yield ei.register(e,t);gn.debug("Register handle:",r),this.handles.push(r)}))}unregisterAll(){gn.debug("Unregister all handles:",this.handles),this.handles.forEach((e=>ei.unregister(e))),this.handles=[]}getDebugBean(e){const t=rl(e);return t&&t.objectName||Is("Could not find the debug bean"),t}isDebugging(e){return C(this,null,(function*(){const t=this.getDebugBean(e);if(!t||!t.objectName)return!1;return(yield ei.readAttribute(t.objectName,"Enabled"))||!1}))}setDebugging(e,t){return C(this,null,(function*(){const r=this.getDebugBean(e);if(!r||!r.objectName)return!1;const i=Ll.loadOptions();yield ei.writeAttribute(r.objectName,"BodyMaxChars",i.maximumTraceOrDebugBodyLength),yield ei.writeAttribute(r.objectName,"BodyIncludeStreams",i.traceOrDebugIncludeStreams),yield ei.writeAttribute(r.objectName,"BodyIncludeFiles",i.traceOrDebugIncludeStreams);const n=t?"enableDebugger":"disableDebugger";return yield ei.execute(r.objectName,n),yield this.isDebugging(e)}))}getBreakpoints(e){return C(this,null,(function*(){const t=this.getDebugBean(e);if(!t||!t.objectName)return[];const r=yield ei.execute(t.objectName,il(e));return gn.debug("Debug - getBreakpoints:",r),r}))}addBreakpoint(e,t){return C(this,null,(function*(){const r=this.getDebugBean(e);if(!r||!r.objectName)return!1;yield ei.execute(r.objectName,"addBreakpoint",[t]);const i=(yield this.getBreakpoints(e)).includes(t);return i?Ps("breakpoint created"):Is("breakpoint could not be added"),i}))}removeBreakpoint(e,t){return C(this,null,(function*(){const r=this.getDebugBean(e);if(!r||!r.objectName)return!1;yield ei.execute(r.objectName,"removeBreakpoint",[t]);const i=!(yield this.getBreakpoints(e)).includes(t);return i?Ps("breakpoint removed"):Is("breakpoint could not be removed"),i}))}validateConditionalBreakpoint(e,t){return C(this,null,(function*(){const r=this.getDebugBean(e);return r&&r.objectName?yield ei.execute(r.objectName,"validateConditionalBreakpoint",[t.language,t.predicate]):"Error: cannot find debugger bean"}))}addConditionalBreakpoint(e,t){return C(this,null,(function*(){gn.info("Add conditional breakpoint");const r=this.getDebugBean(e);if(!r||!r.objectName)return!1;yield ei.execute(r.objectName,"addConditionalBreakpoint",[t.nodeId,t.language,t.predicate]);const i=(yield this.getBreakpoints(e)).includes(t.nodeId);return i?Ps("conditional breakpoint created"):Is("conditional breakpoint could not be added"),i}))}getSuspendedBreakpointIds(e){return C(this,null,(function*(){const t=this.getDebugBean(e);if(!t||!t.objectName)return[];const r=yield ei.execute(t.objectName,function(e){return pl(e,4,0)?"suspendedBreakpointNodeIds":"getSuspendedBreakpointNodeIds"}(e));return r}))}stepBreakpoint(e,t){return C(this,null,(function*(){const r=this.getDebugBean(e);return r&&r.objectName?(yield ei.execute(r.objectName,"stepBreakpoint(java.lang.String)",[t]),yield this.getSuspendedBreakpointIds(e)):[]}))}getBreakpointCounter(e){return C(this,null,(function*(){const t=this.getDebugBean(e);return t&&t.objectName?yield ei.execute(t.objectName,"getDebugCounter"):0}))}getTracedMessages(e,t){return C(this,null,(function*(){const r=this.getDebugBean(e);return r&&r.objectName?yield function(e,t,r){return pl(e,4,0)?ei.execute(t,"dumpTracedMessagesAsXml(java.lang.String,boolean)",[r,!1]):ei.execute(t,"dumpTracedMessagesAsXml(java.lang.String)",[r])}(e,r.objectName,t):""}))}resume(e){return C(this,null,(function*(){const t=this.getDebugBean(e);t&&t.objectName&&(yield ei.execute(t.objectName,"resumeAll"))}))}humanizeJavaType(e){return e?e.startsWith("java.lang")?e.substring(10):e:""}createMessageFromXml(e){const t=un(e,"uid")||"",r=un(e,"timestamp")||"";let i=e.querySelector("message");i||(i=e);const n=i.querySelectorAll("headers header"),o={},a={};let s="";n.forEach((e=>{const t=e.getAttribute("key"),r=e.getAttribute("type"),i=pn(e);t&&(i&&(o[t]=i),r&&(a[t]=r),s+=""+t+" "+this.humanizeJavaType(r)+" "+(i||"")+" ")}));const l=this.getIdFromHeaders(o),d=i.querySelector("body");let c="",p="";return d&&(c=d.textContent||"",p=d.getAttribute("type"),p=this.humanizeJavaType(p)),{headers:o,headerTypes:a,id:l,uid:t,timestamp:r,headerHtml:s,body:c,bodyType:p}}getIdFromHeaders(e){var t,r;if(e.breadcrumbId)return e.breadcrumbId;const i=["MessageID","ID","Path","Name"],n=null==(t=Object.entries(e).filter((([e,t])=>i.some((e=>t.endsWith(e))))).find((([e,t])=>!E(e))))?void 0:t[0];return void 0!==n?n:null!=(r=Object.values(e).find((e=>!E(e))))?r:""}},Xl=r(74848),$l=e=>{const[t,r]=(0,Yl.useState)(""),[i,n]=(0,Yl.useState)(""),[o,a]=(0,Yl.useState)(),s=e=>{const t="https://camel.apache.org/components/latest/languages/"+e+"-language.html";return(0,Xl.jsxs)("div",{children:[(0,Xl.jsxs)("p",{children:["Specify the breakpoint condition as a language predicate of ",e," type."]}),(0,Xl.jsx)("br",{}),(0,Xl.jsxs)("p",{children:["See the ",(0,Xl.jsx)("a",{target:"_blank",href:t,rel:"noreferrer",children:"camel documentation"})," for more information."]})]})};return(0,Xl.jsx)(Ql.Modal,{variant:Ql.ModalVariant.small,title:"Add Conditional Breakpoint",titleIconVariant:"default",isOpen:e.isConditionalBreakpointOpen,onClose:e.onAddConditionalBreakpointToggle,actions:[(0,Xl.jsx)(Ql.Button,{variant:"danger","data-testid":"confirm-add",onClick:()=>C(void 0,null,(function*(){const r={nodeId:e.selection,language:t,predicate:i};a(null);const n=yield Zl.validateConditionalBreakpoint(e.selectedNode,r);n?a(n):e.addConditionalBreakpoint(e.selectedNode,r)})),children:"Add"},"unblock"),(0,Xl.jsx)(Ql.Button,{variant:"link","data-testid":"confirm-cancel",onClick:e.onAddConditionalBreakpointToggle,children:"Cancel"},"cancel")],children:(0,Xl.jsxs)(Ql.Form,{id:"cond-bkp-form",isHorizontal:!0,children:[(0,Xl.jsxs)(Ql.FormGroup,{label:"Language",isRequired:!0,isStack:!0,fieldId:"cond-bkp-form-lang",children:[(0,Xl.jsxs)("div",{children:[(0,Xl.jsx)(Ql.Radio,{label:"Simple",id:"cond-bkp-form-lang-simple",className:"cond-bkp-form-lang-radio",name:"simple",isChecked:"simple"===t,onChange:()=>r("simple")}),(0,Xl.jsx)(Ql.Popover,{bodyContent:s("simple"),children:(0,Xl.jsx)(Ql.Button,{className:"cond-bkp-form-lang-radio-help",variant:"plain",isSmall:!0,icon:(0,Xl.jsx)(Ue,{})})})]}),(0,Xl.jsxs)("div",{children:[(0,Xl.jsx)(Ql.Radio,{label:"XPath",id:"cond-bkp-form-lang-xpath",className:"cond-bkp-form-lang-radio",name:"xpath",isChecked:"xpath"===t,description:"",onChange:()=>r("xpath")}),(0,Xl.jsx)(Ql.Popover,{bodyContent:s("xpath"),children:(0,Xl.jsx)(Ql.Button,{className:"cond-bkp-form-lang-radio-help",variant:"plain",isSmall:!0,icon:(0,Xl.jsx)(Ue,{})})})]})]}),(0,Xl.jsx)(Ql.FormGroup,{label:"Predicate",isRequired:!0,fieldId:"cond-bkp-form-pred",children:(0,Xl.jsx)(Ql.TextInput,{id:"cond-bkp-form-pred-input",isRequired:!0,isDisabled:!t||0===t.length,type:"text",value:i,onChange:e=>n(e)})}),o&&(0,Xl.jsxs)("div",{className:"cond-bkp-form-error",children:[(0,Xl.jsx)(He,{className:"cond-bkp-form-error-icon"}),(0,Xl.jsx)("p",{className:"cond-bkp-form-error-msg",children:o})]})]})})},ed=r(52557),td=r(96527),rd=r(44914),id=r(74848),nd=e=>{var t;const r=(0,rd.useRef)(null),[i,n]=(0,rd.useState)("msg-panel-tab-header"),o=[{id:"msg-panel-tab-header",label:"Header",panelFn:()=>{if(!e.messages||0===e.messages.length)return(0,id.jsx)("em",{children:"No Messages"},"header-no-messages");const t=e.messages[0];return t?(0,id.jsxs)(td.TableComposable,{"aria-label":"Header table",variant:"compact",children:[(0,id.jsx)(td.Thead,{children:(0,id.jsxs)(td.Tr,{children:[(0,id.jsx)(td.Th,{children:"Key"}),(0,id.jsx)(td.Th,{children:"Value"})]})}),(0,id.jsx)(td.Tbody,{children:Object.entries(t.headers).map((([e,t])=>(0,id.jsxs)(td.Tr,{children:[(0,id.jsx)(td.Td,{dataLabel:"Key",children:e}),(0,id.jsx)(td.Td,{dataLabel:"Value",children:t})]},e)))})]},"header-"+t.uid):(0,id.jsx)("em",{children:"No Messages"},"header-no-messages")}},{id:"msg-panel-tab-body",label:"Body",panelFn:()=>{if(!e.messages||0===e.messages.length)return(0,id.jsx)("em",{children:"No Messages"},"body-no-messages");const t=e.messages[0];return t?"[Body is null]"===t.body?(0,id.jsx)("em",{children:"No Body"},"body-"+t.uid):(0,id.jsx)("p",{children:t.body},"body-"+t.uid):(0,id.jsx)("em",{children:"No Messages"},"body-no-messages")}}],a=()=>{const t=[...o];return e.extraPanel&&t.push(e.extraPanel),t},s=(0,id.jsxs)(ed.DrawerPanelContent,{children:[(0,id.jsxs)(ed.DrawerHead,{children:[(0,id.jsxs)("div",{tabIndex:e.expanded?0:-1,ref:r,children:[(0,id.jsx)(ed.Text,{children:(0,id.jsx)("em",{children:e.messages&&e.messages.length>0?null==(t=e.messages[0])?void 0:t.uid:""})}),(0,id.jsx)(ed.Nav,{onSelect:e=>{n(e.itemId)},variant:"horizontal",theme:"light","aria-label":"Show Header or Body Debug Info Table",children:(0,id.jsx)(ed.NavList,{children:(()=>{const e=[];for(const t of a())e.push((0,id.jsx)(ed.NavItem,{preventDefault:!0,itemId:t.id,isActive:i===t.id,id:t.id,children:t.label},t.id));return e})()})}),(0,id.jsx)(ed.Divider,{})]}),(0,id.jsx)(ed.DrawerActions,{children:(0,id.jsx)(ed.DrawerCloseButton,{onClick:()=>{e.setExpanded(!1)}})})]}),(0,id.jsx)(ed.Panel,{isScrollable:!0,children:(0,id.jsx)(ed.PanelMain,{children:(0,id.jsx)(ed.PanelMainBody,{children:a().map((e=>i===e.id&&e.panelFn()))})})})]});return(0,id.jsx)(ed.Drawer,{isExpanded:e.expanded,onExpand:()=>{r.current&&r.current.focus()},position:"left",children:(0,id.jsx)(ed.DrawerContent,{panelContent:s,children:(0,id.jsx)(ed.DrawerContentBody,{children:e.children})})})},od=r(74848),ad=()=>{const{selectedNode:e}=(0,Rl.useContext)(ml),{graphNodeData:t,setGraphNodeData:r,graphSelection:i,setGraphSelection:n,setShowStatistics:o,doubleClickAction:a,setDoubleClickAction:s,annotations:l,setAnnotations:d}=Hl(),[c,p]=(0,Rl.useState)(!0),[u,h]=(0,Rl.useState)(!1),[m,f]=(0,Rl.useState)([]),[g,b]=(0,Rl.useState)([]),[y,v]=(0,Rl.useState)(0),[w,A]=(0,Rl.useState)(!1),[k,x]=(0,Rl.useState)([]),[S,T]=Rl.default.useState(!1),_=(0,Rl.useRef)([]),I=(0,Rl.useCallback)((e=>{if(!Array.isArray(e))return _.current=[],void f([]);const t=e;if(function(e,t){if(e.length!==t.length)return!1;for(const r of e)if(!t.includes(r))return!1;return!0}(_.current,t))return;const r=[...t];_.current=r,f(r)}),[]),P=(0,Rl.useCallback)(((e,t)=>C(void 0,null,(function*(){if(!e||e===y)return;v(e);const r=yield Zl.getSuspendedBreakpointIds(t);if(gn.debug("Debug - suspended breakpoints:",r),b(r),0===r.length)return void T(!1);const i=r[0];if(!i)return;n(i);const o=yield Zl.getTracedMessages(t,i);if(gn.debug("Debug - messages as XML:",o),E(o))return void gn.warn("Debug - dumpTracedMessagesAsXml() returned no results!");const a=cn(o).getElementsByTagName("backlogTracerEventMessage"),s=[];for(const e of Array.from(a)){const t=Zl.createMessageFromXml(e);if(!t)continue;const r=un(e,"toNode");r&&(t.toNode=r),s.push(t)}gn.debug("Debug - messages:",s),x(s)}))),[y,n]),M=(0,Rl.useCallback)(((e,t)=>C(void 0,null,(function*(){if(yield Zl.addBreakpoint(e,t)){const t=yield Zl.getBreakpoints(e);I(t)}}))),[I]),R=(0,Rl.useCallback)(((e,t)=>C(void 0,null,(function*(){if(yield Zl.removeBreakpoint(e,t)){const t=yield Zl.getBreakpoints(e);I(t)}}))),[I]),D=(0,Rl.useCallback)((()=>t=>C(void 0,null,(function*(){e&&(0!==t.routeIdx?(yield Zl.getBreakpoints(e)).includes(t.cid)?R(e,t.cid):M(e,t.cid):Is("Cannot breakpoint on the first node in the route"))}))),[e,M,R]),B=(0,Rl.useCallback)(((e,t,r)=>({nodeId:e,element:(0,od.jsxs)("div",{className:"breakpoint-symbol",children:[r.includes(e)&&(0,od.jsx)(Ke,{}),t.includes(e)&&(0,od.jsx)(He,{})]})})),[]),O=(0,Rl.useCallback)(((e,t)=>C(void 0,null,(function*(){Zl.unregisterAll();const r=Zl.getDebugBean(t);if(r&&r.objectName)if(e){const e=yield Zl.getBreakpoints(t);I(e);const i=yield Zl.getBreakpointCounter(t);P(i,t),Zl.register({type:"exec",mbean:r.objectName,operation:"getDebugCounter"},(e=>{gn.debug("Scheduler - Debug:",e.value),P(null==e?void 0:e.value,t)}))}else f([]),b([]),v(0)}))),[P,I]);if((0,Rl.useEffect)((()=>{e&&(p(!0),o(!1),s(D),Zl.isDebugging(e).then((t=>{h(t),O(t,e),p(!1)})))}),[e,D,s,o,O]),(0,Rl.useEffect)((()=>{const e=[];for(const t of m)e.push(B(t,m,g));for(const t of g)e.push(B(t,m,g));d(e)}),[m,g,B,d]),!e)return null;if(c)return(0,od.jsx)(Jt,{});const q=e=>{const r=null==t?void 0:t.at(0);return!!r&&r.cid===e},N=()=>{return!(!i||!(e=i)||0===e.length||0===m.length||-1===m.indexOf(e));var e},L=()=>!i||q(i),j=()=>{A(!w)},F=(0,od.jsxs)(Rl.default.Fragment,{children:[N()&&(0,od.jsx)(Pl.ToolbarItem,{spacer:{default:"spacerSm"},title:"Remove the breakpoint on the selected node",children:(0,od.jsx)(Pl.Button,{variant:"secondary",isSmall:!0,icon:(0,od.jsx)(Qe,{}),isDisabled:!i,onClick:()=>{gn.debug("Debug - remove breakpoint"),N()&&R(e,i)},children:"Remove breakpoint"})}),!N()&&(0,od.jsxs)(Rl.default.Fragment,{children:[(0,od.jsx)(Pl.ToolbarItem,{spacer:{default:"spacerSm"},title:"Add a breakpoint on the selected node",children:(0,od.jsx)(Pl.Button,{variant:"secondary",isSmall:!0,icon:(0,od.jsx)(tt,{}),isDisabled:L(),onClick:()=>{gn.debug("Debug - add breakpoint"),i&&!q(i)&&M(e,i)},children:"Add breakpoint"})}),(0,od.jsx)(Pl.ToolbarItem,{spacer:{default:"spacerSm"},title:"Add a conditional breakpoint on the selected node",children:(0,od.jsx)(Pl.Button,{variant:"secondary",isSmall:!0,icon:(0,od.jsx)(et,{}),isDisabled:L(),onClick:j,children:"Add conditional breakpoint"})})]}),(0,od.jsx)(Pl.ToolbarItem,{variant:"separator",spacer:{default:"spacerSm"}}),(0,od.jsx)(Pl.ToolbarItem,{spacer:{default:"spacerSm"},title:"Step into the next node",children:(0,od.jsx)(Pl.Button,{variant:"secondary",isSmall:!0,icon:(0,od.jsx)(Ke,{}),isDisabled:0===g.length,onClick:()=>C(void 0,null,(function*(){if(gn.debug("Debug - step"),!g||0===g.length)return;const t=g[0];if(!t)return;const r=yield Zl.stepBreakpoint(e,t);gn.debug("Debug - next breakpoint:",r),O(u,e)})),children:"Step"})}),(0,od.jsx)(Pl.ToolbarItem,{spacer:{default:"spacerSm"},title:"Resume running",children:(0,od.jsx)(Pl.Button,{variant:"secondary",isSmall:!0,icon:(0,od.jsx)(Xe,{}),isDisabled:0===g.length,onClick:()=>{gn.debug("Debug - resume"),Zl.resume(e),x([]),b([])},children:"Resume"})}),g.length>0&&(0,od.jsxs)(Rl.default.Fragment,{children:[(0,od.jsx)(Pl.ToolbarItem,{variant:"separator",spacer:{default:"spacerSm"}}),(0,od.jsx)(Pl.ToolbarItem,{spacer:{default:"spacerSm"},title:"Show Debug Panel",children:(0,od.jsx)(Pl.Button,{variant:"secondary",isSmall:!0,icon:(0,od.jsx)(Ne,{}),isDisabled:0===g.length,onClick:()=>{T(!S)},children:"Details"})})]})]});return(0,od.jsxs)(Pl.Card,{isFullHeight:!0,children:[(0,od.jsxs)(Pl.CardHeader,{children:[(0,od.jsx)(Pl.CardTitle,{children:"Debug"}),(0,od.jsx)(Pl.CardActions,{children:(0,od.jsx)(Pl.Button,{variant:"primary",isSmall:!0,icon:u?Rl.default.createElement(qe):Rl.default.createElement(Xe),onClick:()=>C(void 0,null,(function*(){gn.debug("Debug -",u?"stop":"start","debugging");const t=yield Zl.setDebugging(e,!u);h(t),O(t,e)})),isDisabled:!nl(e),children:u?"Stop Debugging":"Start Debugging"})})]}),(0,od.jsxs)(Pl.CardBody,{children:[!u&&(0,od.jsx)(Pl.Text,{"data-testid":"no-debugging",component:"p",children:"Debugging allows you to step through camel routes to diagnose issues."}),u&&(0,od.jsxs)(Rl.default.Fragment,{children:[(0,od.jsx)(Pl.Toolbar,{id:"toolbar-items",children:(0,od.jsx)(Pl.ToolbarContent,{children:F})}),(0,od.jsx)(nd,{messages:k,expanded:S,setExpanded:T,extraPanel:{id:"debug-panel-tab-breakpoints",label:"Breakpoints",panelFn:()=>(0,od.jsxs)(Ml.TableComposable,{"aria-label":"Breakpoints table",variant:"compact",children:[(0,od.jsx)(Ml.Thead,{children:(0,od.jsxs)(Ml.Tr,{children:[(0,od.jsx)(Ml.Th,{children:"Breakpoint"}),(0,od.jsx)(Ml.Th,{children:"Remove"})]})}),(0,od.jsx)(Ml.Tbody,{children:m.map((t=>(0,od.jsxs)(Ml.Tr,{children:[(0,od.jsx)(Ml.Td,{dataLabel:"Breakpoint",children:t}),(0,od.jsx)(Ml.Td,{dataLabel:"Remove",children:(0,od.jsx)(Pl.Button,{variant:"plain",isSmall:!0,icon:(0,od.jsx)(at,{}),onClick:()=>R(e,t)})})]},t)))})]},"breakpoints")},children:(0,od.jsx)("div",{id:"route-diagram-breakpoint-view",children:(0,od.jsx)(Vl.Provider,{value:{graphNodeData:t,setGraphNodeData:r,graphSelection:i,setGraphSelection:n,setShowStatistics:o,doubleClickAction:a,setDoubleClickAction:s,annotations:l,setAnnotations:d},children:(0,od.jsx)(Jl,{})})})})]}),(0,od.jsx)($l,{selectedNode:e,selection:i,isConditionalBreakpointOpen:w,onAddConditionalBreakpointToggle:j,addConditionalBreakpoint:(e,t)=>C(void 0,null,(function*(){if(yield Zl.addConditionalBreakpoint(e,t)){const t=yield Zl.getBreakpoints(e);I(t)}A(!1)}))})]})]})},sd=r(52557),ld=r(96527),dd=w(r(44914)),cd=r(52557),pd=r(44914),ud=r(52557),hd=r(44914),md=r(44914),fd=(0,md.createContext)({showAddEndpoint:e=>{},componentNames:null,setComponentNames:e=>{},componentName:"",setComponentName:e=>{},componentSchema:{},setComponentSchema:e=>{},endpointPath:"",setEndpointPath:e=>{},endpointParameters:{},setEndpointParameters:e=>{}}),gd=r(74848),bd=()=>{const{selectedNode:e}=(0,hd.useContext)(ml),t=(0,hd.useContext)(fd),[r,i]=(0,hd.useState)("");return e?(0,gd.jsxs)(ud.Form,{children:[(0,gd.jsx)(ud.FormGroup,{label:"URI",children:(0,gd.jsx)(ud.TextInput,{isRequired:!0,type:"text",id:"uri-input-text",name:"uri-input-text",value:r,onChange:e=>{i(e)}})}),(0,gd.jsxs)(ud.ActionGroup,{children:[(0,gd.jsx)(ud.Button,{variant:"primary",isDisabled:!r,onClick:()=>{Vn(e,r),t.showAddEndpoint(!1)},children:"Submit"}),(0,gd.jsx)(ud.Button,{variant:"link",onClick:()=>{t.showAddEndpoint(!1)},children:"Cancel"})]})]}):null},yd=r(52557),vd=w(r(44914)),wd=r(52557),Ad=w(r(44914)),Cd=r(74848),kd=()=>{const e=(0,Ad.useContext)(fd),[t,r]=(0,Ad.useState)();if((0,Ad.useEffect)((()=>{if(!e.componentSchema)return void r(null);const t=e.componentSchema.properties;if(!t)return void r(null);const i={};Object.entries(t).forEach((([e,t])=>{const r=t;i[e]={type:r.type,title:r.title,required:P(r.required),description:r.description,defaultValue:r.defaultValue,enums:r.enum}})),r(i)}),[e.componentSchema]),!t)return(0,Cd.jsxs)(wd.Label,{color:"red",icon:(0,Cd.jsx)(He,{}),children:["No schema properties defined for component ",e.componentName]});const i=(t,r)=>{const i=r,n=f({},e.endpointParameters);n[t]=i,e.setEndpointParameters(n)},n=(e,t)=>{t||(t="0");const r=parseInt(e);return Number.isNaN(r)?parseInt(t):r};return(0,Cd.jsx)(Ad.default.Fragment,{children:Object.entries(t).map((([r,o],a)=>((r,o,a)=>{var s,l;switch(a.type){case"string":return(0,Cd.jsxs)(wd.FormGroup,{label:a.title,id:r+"-"+o,fieldId:r+"-"+o,children:[(0,Cd.jsx)(wd.TextInput,{id:r+"-input",value:e.endpointParameters[r],isRequired:a.required,onChange:e=>i(r,e)},o),(0,Cd.jsx)(wd.HelperText,{id:r+"-helper-text",children:(0,Cd.jsx)(wd.HelperTextItem,{id:r+"-helper-text-item",variant:"indeterminate",children:a.description})})]},r+"-"+o);case"integer":return(0,Cd.jsxs)(wd.FormGroup,{label:a.title,id:r+"-"+o,fieldId:r+"-"+o,children:[(0,Cd.jsx)(wd.NumberInput,{inputName:a.title,value:n(null!=(s=e.endpointParameters[r])?s:"",a.defaultValue),allowEmptyInput:!0,onPlus:()=>(r=>{var n,o,a,s;let l=parseInt(null!=(n=e.endpointParameters[r])?n:"");Number.isNaN(l)?(l=parseInt(null!=(a=null==(o=t[r])?void 0:o.defaultValue)?a:""),Number.isNaN(l)&&(l=0)):l=parseInt(null!=(s=e.endpointParameters[r])?s:""),i(r,l+1)})(r),onMinus:()=>(r=>{var n,o,a,s;let l=parseInt(null!=(n=e.endpointParameters[r])?n:"");Number.isNaN(l)?(l=parseInt(null!=(a=null==(o=t[r])?void 0:o.defaultValue)?a:""),Number.isNaN(l)&&(l=100)):l=parseInt(null!=(s=e.endpointParameters[r])?s:""),i(r,l-1)})(r),onChange:e=>i(r,e),className:"endpoint-parameter-number-input"},o),(0,Cd.jsx)(wd.HelperText,{id:r+"-helper-text",children:(0,Cd.jsx)(wd.HelperTextItem,{id:r+"-helper-text-item",variant:"indeterminate",children:a.description})})]},r+"-"+o);case"boolean":return(0,Cd.jsx)(wd.Checkbox,{id:r+"-"+o,label:a.title,isChecked:P(null!=(l=e.endpointParameters[r])?l:""),isRequired:a.required,description:a.description,onChange:e=>i(r,e)},o);case"object":return a.enums?(0,Cd.jsxs)(wd.FormGroup,{label:a.title,id:r+"-"+o,fieldId:r+"-"+o,children:[(0,Cd.jsx)(wd.ToggleGroup,{children:a.enums.map(((t,n)=>(0,Cd.jsx)(wd.ToggleGroupItem,{id:r+"-"+n,name:t,text:t,isSelected:e.endpointParameters[r]===t,onChange:e=>{e&&i(r,t)}},n)))}),(0,Cd.jsx)(wd.HelperText,{id:r+"-helper-text",children:(0,Cd.jsx)(wd.HelperTextItem,{id:r+"-helper-text-item",variant:"indeterminate",children:a.description})})]},r+"-"+o):(0,Cd.jsx)(Ad.default.Fragment,{},o);default:return(0,Cd.jsx)(Ad.default.Fragment,{},o)}})(r,a,o)))})},xd=r(74848),Sd="Select Component Name",Td=()=>{var e,t;const{selectedNode:r}=(0,vd.useContext)(ml),i=(0,vd.useContext)(fd),n=(0,vd.useRef)(),[o,a]=(0,vd.useState)(!1),[s,l]=(0,vd.useState)("default");return(0,vd.useEffect)((()=>{if(!r||!i.componentName)return;const e=function(e,t){var r;const i=Ls(e);if(!i)return se.notify({type:"danger",message:"Could not find the CamelContext!"}),null;if(E(t))return null;const n=dl(i);return gn.info("Endpoints - Use Camel model version:",n.apacheCamelModelVersion),null!=(r=n.components[t])?r:null}(r,i.componentName);e&&i.setComponentSchema(e)}),[r,i.componentName]),r?(0,xd.jsxs)(yd.Form,{isHorizontal:!0,children:[(0,xd.jsx)(yd.FormGroup,{label:"Component",isRequired:!0,fieldId:"form-component-name",children:(0,xd.jsx)(yd.Select,{toggleRef:()=>n,variant:yd.SelectVariant.single,"aria-label":Sd,onToggle:e=>{a(e)},onSelect:(e,t,r)=>{var o;Sd!==t&&(i.setComponentName(t),a(!1),null==(o=null==n?void 0:n.current)||o.focus())},selections:i.componentName,isOpen:o,direction:yd.SelectDirection.down,placeholderText:Sd,children:null!=(t=null==(e=i.componentNames)?void 0:e.map(((e,t)=>(0,xd.jsx)(yd.SelectOption,{value:e},t))))?t:[]})}),i.componentName&&(0,xd.jsxs)(vd.default.Fragment,{children:[(0,xd.jsx)(yd.FormGroup,{label:"Endpoint Path",fieldId:"endpoint-path",validated:s,helperTextInvalid:i.endpointPath&&0!==i.endpointPath.length?"Endpoint path invalid. Only alphanumeric characters, underscore, and hyphen allowed":"Endpoint path is empty.",helperTextInvalidIcon:(0,xd.jsx)(He,{}),children:(0,xd.jsx)(yd.TextInput,{id:"endpoint-path-input",type:"text",value:i.endpointPath,isRequired:!0,onChange:e=>{i.setEndpointPath(e);const t=!e||0===e.length||!/^[a-zA-Z\d-_/:]+$/.test(e);l(t?"error":"success")},validated:s})}),i.componentSchema&&(0,xd.jsx)(yd.FormSection,{title:"Endpoint Parameters",children:(0,xd.jsx)(kd,{})})]}),(0,xd.jsxs)(yd.ActionGroup,{children:[(0,xd.jsx)(yd.Button,{variant:"primary",isDisabled:!i.endpointPath||0===i.endpointPath.length||"success"!==s,onClick:()=>{!function(e,t,r,i){t||gn.error("createEndpointFromData: component name must be defined"),r||gn.error("createEndpointFromData: endpoint path must be defined"),gn.debug("Have endpoint data "+JSON.stringify(i));const n=t+"://"+r+(i?"?"+Object.entries(i).map((e=>e.join("="))).join("&"):"");gn.debug("Creating endpoint for uri: "+n),Vn(e,n)}(r,i.componentName,i.endpointPath,i.endpointParameters),i.showAddEndpoint(!1)},children:"Submit"}),(0,xd.jsx)(yd.Button,{variant:"link",onClick:()=>{i.showAddEndpoint(!1)},children:"Cancel"})]})]}):null},Ed=r(74848),_d=()=>{const{selectedNode:e}=(0,pd.useContext)(ml),t=(0,pd.useContext)(fd),[r,i]=(0,pd.useState)("");if(!e)return(0,Ed.jsx)(cd.Card,{children:(0,Ed.jsx)(cd.CardBody,{children:(0,Ed.jsx)(cd.Text,{component:"p",children:"No selection has been made"})})});return(0,Ed.jsxs)(cd.Card,{children:[(0,Ed.jsx)(cd.CardTitle,{children:"Add Endpoint"}),(0,Ed.jsx)(cd.CardBody,{children:t.componentNames&&0===t.componentNames.length||"URI"===r?(0,Ed.jsx)(bd,{}):"DATA"===r?(0,Ed.jsx)(Td,{}):(0,Ed.jsx)(cd.Form,{children:(0,Ed.jsxs)(cd.FormGroup,{fieldId:"create-from-radio-group",isInline:!0,label:"How do you want to create your endpoint?",children:[(0,Ed.jsx)(cd.Button,{variant:"secondary",onClick:()=>{i("URI")},children:"From URI"}),(0,Ed.jsx)(cd.Button,{variant:"secondary",onClick:()=>{i("DATA")},children:"From Data"})]})})})]})},Id=r(74848),Pd=()=>{const{selectedNode:e}=(0,dd.useContext)(ml),t=function(){const[e,t]=(0,md.useState)(!1),[r,i]=(0,md.useState)(null),[n,o]=(0,md.useState)(""),[a,s]=(0,md.useState)({}),[l,d]=(0,md.useState)(""),[c,p]=(0,md.useState)({});return{addEndpoint:e,showAddEndpoint:t,componentNames:r,setComponentNames:i,componentName:n,setComponentName:o,componentSchema:a,setComponentSchema:s,endpointPath:l,setEndpointPath:d,endpointParameters:c,setEndpointParameters:p}}(),[r,i]=(0,dd.useState)(!1),[n,o]=(0,dd.useState)([]),[a,s]=(0,dd.useState)("asc");if((0,dd.useEffect)((()=>{e&&(i(!0),C(void 0,null,(function*(){try{const r=yield Fn(e);o(r);const i=yield function(e){return C(this,null,(function*(){const t=Ls(e);return t&&0!==t.childCount()&&t.objectName?yield ei.execute(t.objectName,Dn):[]}))}(e);t.setComponentNames(i)}catch(e){se.notify({type:"warning",message:e})}i(!1)})))}),[e]),!e)return null;if(r)return(0,Id.jsx)(Jt,{});if(0===n.length)return(0,Id.jsx)(Wt,{message:"No endpoints found."});if(t.addEndpoint)return(0,Id.jsx)(fd.Provider,{value:t,children:(0,Id.jsx)(_d,{})});const l=n;return l.sort(((e,t)=>{const r=e.uri.localeCompare(t.uri);return"desc"===a?-1*r:r})),(0,Id.jsxs)(dd.default.Fragment,{children:[(0,Id.jsx)(sd.Toolbar,{id:"camel-endpoints-toolbar",children:(0,Id.jsx)(sd.ToolbarContent,{children:(0,Id.jsx)(sd.ToolbarItem,{id:"camel-endpoints-toolbar-item-add",children:(0,Id.jsx)(sd.Button,{variant:"secondary",isSmall:!0,isDisabled:!function(e){const t=Ls(e);return!!t&&t.hasInvokeRights(Rn)}(e),icon:(0,Id.jsx)(tt,{}),onClick:()=>t.showAddEndpoint(!0),children:"Add"})})})}),(0,Id.jsxs)(ld.TableComposable,{id:"camel-endpoints-table","aria-label":"Camel endpoints table",variant:"compact",children:[(0,Id.jsx)(ld.Thead,{children:(0,Id.jsxs)(ld.Tr,{children:[(0,Id.jsx)(ld.Th,{sort:(()=>{const e={index:0,defaultDirection:"asc"};return a&&(e.direction=a),{columnIndex:0,sortBy:e,onSort:(e,t,r)=>s(r)}})(),children:"URI"}),(0,Id.jsx)(ld.Th,{modifier:"wrap",children:"State"})]})}),(0,Id.jsx)(ld.Tbody,{children:l.map((e=>(0,Id.jsxs)(ld.Tr,{children:[(0,Id.jsx)(ld.Td,{dataLabel:e.uri,children:e.uri}),(0,Id.jsx)(ld.Td,{dataLabel:e.state,children:e.state})]},e.mbean)))})]})]})},Md=r(52557),Rd=r(96527),Dd=w(r(44914)),Bd=r(20072),Od=w(r(44914)),qd=r(52557),Nd=r(74848),Ld=({suggestions:e,value:t,onChange:r})=>{const[i,n]=Od.default.useState(!1),o=(0,Od.useRef)(null),a=e=>{o.current&&!o.current.contains(e.target)&&n(!1)};(0,Od.useEffect)((()=>(document.addEventListener("mousedown",a),()=>{document.removeEventListener("mousedown",a)})),[]);const s=null==e?void 0:e.filter((e=>e.toLowerCase().includes(t.toLowerCase()))).map(((e,r)=>{const i=t.replace(/[-\\/^$*+?.()|[\]{}]/g,"\\$&"),n=""!==t?e.split(new RegExp(`(${i})`,"gi")).map(((e,r)=>e.toLowerCase()===t.toLowerCase()?(0,Nd.jsx)("strong",{children:e},e+r):e)):e;return(0,Nd.jsx)(qd.MenuItem,{itemId:e,children:(0,Nd.jsx)(qd.Text,{children:n})},e)})),l=(0,Nd.jsx)("div",{ref:o,children:(0,Nd.jsx)(qd.Menu,{style:{position:"absolute",top:"100%",zIndex:"999"},onSelect:(e,t)=>{r(t),n(!1),null==e||e.stopPropagation()},onBlur:()=>n(!1),isScrollable:!0,children:(0,Nd.jsx)(qd.MenuContent,{menuHeight:"250px",children:(0,Nd.jsx)(qd.MenuList,{"data-testid":"suggestions-menu-list",children:s})})})});return(0,Nd.jsxs)("div",{style:{position:"relative"},children:[(0,Nd.jsx)(qd.TextInput,{value:t,onChange:r,onFocus:()=>n(!0),placeholder:"","aria-label":"Search input"}),s.length>0&&i&&l]})},jd=r(74848),Fd=()=>{const{selectedNode:e}=(0,Dd.useContext)(ml),[t,r]=(0,Dd.useState)([]),[i,n]=(0,Dd.useState)([]),[o,a]=(0,Dd.useState)(""),[s,l]=(0,Dd.useState)([]),[d,c]=(0,Dd.useState)([]),[p,u]=(0,Dd.useState)(1),[h,m]=(0,Dd.useState)(10),[f,g]=(0,Dd.useState)([]);if((0,Dd.useEffect)((()=>{e&&C(void 0,null,(function*(){const t=yield zn(e,0,-1);b(t);const r=yield Fn(e);g(r.map((e=>e.uri)))}))}),[e]),!e)return null;const b=e=>{const t=e.reverse();r(t),n(t),c([]),l([])},y=(e,r)=>{a(e);let i=[];i=""===e?[...t]:t.filter((t=>t.messageId.toLowerCase().includes(e.toLowerCase())||t.body.includes(e))),r.forEach((e=>{i=i.filter((t=>t.messageId.toLowerCase().includes(e.toLowerCase())||t.body.includes(e)))})),a(e),u(1),n([...i])},v=()=>(p-1)*h,w=e=>{var t;return null!=(t=i[e])?t:null},A=e=>{let t=e.substring(0,100);return e.length>100&&(t+="..."),t},k=()=>{l([]),a(""),n([...t])},x=(e,t)=>{se.notify({type:e,message:t})},S=(r,i)=>C(void 0,null,(function*(){if(e){let n=[];i?n.push(i):n=t.filter((e=>d.includes(e.messageId))),yield function(e,t,r,i){return C(this,null,(function*(){var n;const o=null==(n=e.parent)?void 0:n.getMetadata(Sn);if(o&&t&&r&&r.length){try{yield ei.execute(o,Rn,[t])}catch(e){return void i("danger",`Error: ${e}`)}let e=0;for(const n of r){const r=n.body,a={};n.headers.length>0&&n.headers.forEach((e=>{e.key&&""!==e.key&&(a[e.key]=e.value)}));try{yield ei.execute(o,On,[t,r,a]),e++}catch(e){return void i("danger",`Error: ${e}`)}}i("success",`Forwarded ${e} ${e>1?"messages":"message"} to endpoint ${t}`)}}))}(e,r,n,x)}})),T=()=>(0,jd.jsx)(Md.Pagination,{itemCount:i.length,page:p,perPage:h,onSetPage:(e,t)=>u(t),onPerPageSelect:(e,t)=>m(t),variant:"top"});return(0,jd.jsxs)(Md.Card,{isFullHeight:!0,children:[(0,jd.jsx)(Md.CardTitle,{children:"Browse Messages"}),(0,jd.jsxs)(Md.CardBody,{children:[(0,jd.jsx)(Md.Toolbar,{clearAllFilters:k,children:(0,jd.jsxs)(Md.ToolbarContent,{children:[(0,jd.jsxs)(Md.ToolbarGroup,{children:[(0,jd.jsx)(Md.ToolbarFilter,{chips:s,deleteChip:(e,t)=>(e=>{const t=s.filter((t=>t!==e));l(t),y(o,t)})(t),deleteChipGroup:k,categoryName:"Filters",children:(0,jd.jsx)(Md.SearchInput,{type:"text","data-testid":"filter-input",id:"search-input",placeholder:"Search...",value:o,onChange:(e,t)=>y(t,s),"aria-label":"Search input"})}),(0,jd.jsx)(Md.Button,{variant:"secondary",onClick:()=>{l([...s,o]),a("")},children:"Add Filter"})]}),(0,jd.jsx)(Md.ToolbarItem,{children:(0,jd.jsx)(Md.Button,{variant:"secondary",onClick:()=>C(void 0,null,(function*(){const t=yield zn(e,0,-1);b(t)})),children:"Refresh"})}),(0,jd.jsx)(Md.ToolbarItem,{children:(0,jd.jsx)(Hd,{endpoints:f,enabled:d.length>0,onForwardMessages:S})}),(0,jd.jsx)(Md.ToolbarItem,{variant:"pagination",children:(0,jd.jsx)(T,{})})]})}),i.length>0&&(0,jd.jsx)(Md.FormGroup,{children:(0,jd.jsxs)(Rd.TableComposable,{"aria-label":"Message Table",variant:"compact",height:"80vh",children:[(0,jd.jsx)(Rd.Thead,{children:(0,jd.jsxs)(Rd.Tr,{children:[(0,jd.jsx)(Rd.Th,{select:{onSelect:(e,t)=>(e=>{const t=i.map((e=>e.messageId));c(e?t:[])})(t),isSelected:(()=>{for(const e of i)if(!d.includes(e.messageId))return!1;return!0})()}}),(0,jd.jsx)(Rd.Th,{children:"Message ID"}),(0,jd.jsx)(Rd.Th,{children:"Body"})]})}),(0,jd.jsx)(Rd.Tbody,{children:i.slice(v(),v()+h).map(((e,t)=>(0,jd.jsxs)(Rd.Tr,{children:[(0,jd.jsx)(Rd.Td,{style:{flex:1},select:{rowIndex:t,onSelect:(t,r)=>{((e,t)=>{const r=d.filter((t=>e!==t));c(t?[...r,e]:[...r])})(e.messageId,r)},isSelected:d.includes(e.messageId)}}),(0,jd.jsx)(Rd.Td,{style:{width:"20%"},children:(0,jd.jsx)(zd,{"aria-label":`message-details ${e.messageId}`,message:e,endpoints:f,mid:e.messageId,index:v()+t,getMessage:w,forwardMessages:S,maxValue:i.length})}),(0,jd.jsx)(Rd.Td,{style:{flex:3},children:A(e.body)})]},t)))})]})}),0===i.length&&(0,jd.jsx)(Md.Bullseye,{children:(0,jd.jsxs)(Md.EmptyState,{children:[(0,jd.jsx)(Md.EmptyStateIcon,{icon:ot}),(0,jd.jsx)(Md.EmptyStateBody,{children:"No results found."})]})})]})]})},Hd=({onForwardMessages:e,enabled:t,endpoints:r})=>{const[i,n]=(0,Dd.useState)(!1),o=()=>{n((e=>!e))};return(0,jd.jsxs)(Dd.default.Fragment,{children:[(0,jd.jsx)(Md.Button,{isDisabled:!t,onClick:o,children:"Forward"}),(0,jd.jsx)(Md.Modal,{bodyAriaLabel:"forward-message-modal","aria-label":"forward-message-modal",position:Bd.Position.Top,tabIndex:0,variant:Md.ModalVariant.small,title:"Forward Messages",isOpen:i,onClose:o,style:{overflow:"visible"},children:(0,jd.jsx)(Vd,{endpoints:r,onForwardMessages:e})})]})},Vd=({onForwardMessages:e,currentMessage:t,endpoints:r})=>{const[i,n]=(0,Dd.useState)("");return(0,jd.jsx)(Md.FormGroup,{label:"URI:",children:(0,jd.jsxs)(Md.Flex,{children:[(0,jd.jsx)(Md.FlexItem,{flex:{default:"flexNone",md:"flex_3"},children:(0,jd.jsx)(Ld,{suggestions:r,value:i,onChange:n})}),(0,jd.jsx)(Md.FlexItem,{flex:{default:"flexNone",md:"flex_1"},children:(0,jd.jsx)(Md.Button,{variant:"primary",onClick:()=>e(i,t),children:"Forward"},"confirm")})]})})},zd=({message:e,mid:t,index:r,maxValue:i,getMessage:n,forwardMessages:o,endpoints:a})=>{const[s,l]=(0,Dd.useState)(!1),[d,c]=(0,Dd.useState)(e),[p,u]=(0,Dd.useState)(r),h=()=>{l((e=>!e)),c(e),u(r)},m=e=>{const t=n(e);t&&(c(t),u(e))},f=()=>(0,jd.jsxs)("div",{"aria-label":"message-details-header",style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%"},children:[(0,jd.jsx)(Md.Title,{"aria-label":"message-header-tittle",headingLevel:"h2",style:{marginRight:"10px"},children:"Message"}),(0,jd.jsx)(Wd,{"aria-label":"message-header-messageSelector",value:p+1,min:1,max:i,onPrevious:()=>m(p-1),onNext:()=>m(p+1),onLast:()=>m(i-1),onFirst:()=>m(0)})]});return(0,jd.jsxs)(Dd.default.Fragment,{children:[(0,jd.jsx)(Md.Button,{variant:"link",onClick:h,children:t}),(0,jd.jsxs)(Md.Modal,{"aria-label":"Message-details-label",tabIndex:0,"data-testid":"message-details",position:Bd.Position.Top,variant:Md.ModalVariant.large,title:"Message Details",isOpen:s,onClose:h,header:(0,jd.jsx)(f,{"aria-label":"header"}),children:[(0,jd.jsx)("br",{}),(0,jd.jsx)(Vd,{endpoints:a,currentMessage:d,onForwardMessages:o}),(0,jd.jsx)(Md.FormGroup,{label:"ID",frameBorder:1,children:d.messageId}),(0,jd.jsx)("br",{}),(0,jd.jsx)(Md.FormGroup,{label:"Body",children:(0,jd.jsx)(Md.CodeBlock,{children:(0,jd.jsx)(Md.CodeBlockCode,{children:d.body})})}),(0,jd.jsx)("br",{}),(0,jd.jsx)(Md.FormGroup,{label:"Headers",children:(0,jd.jsxs)(Rd.TableComposable,{variant:"compact",children:[(0,jd.jsx)(Rd.Thead,{"aria-label":"headers-table-header",children:(0,jd.jsxs)(Rd.Tr,{children:[(0,jd.jsx)(Rd.Td,{label:"Key",children:"Key"}),(0,jd.jsx)(Rd.Td,{label:"Type",children:"Type"}),(0,jd.jsx)(Rd.Td,{label:"Value",children:"Value"})]})}),(0,jd.jsx)(Rd.Tbody,{children:d.headers.map(((e,t)=>(0,jd.jsxs)(Rd.Tr,{children:[(0,jd.jsx)(Rd.Td,{children:e.key}),(0,jd.jsx)(Rd.Td,{children:e.type}),(0,jd.jsx)(Rd.Td,{children:e.value})]},t+"row")))})]})})]})]})},Wd=({min:e,max:t,value:r,onNext:i,onPrevious:n,onFirst:o,onLast:a})=>(0,jd.jsxs)("div",{style:{display:"flex",alignItems:"center",width:"300px"},children:[(0,jd.jsx)(Md.Button,{"data-testid":"first-message-button",variant:"plain",onClick:o,isDisabled:r===e,children:"<<"}),(0,jd.jsx)(Md.Button,{"data-testid":"previous-message-button",variant:"plain",onClick:n,isDisabled:r===e,children:"<"}),(0,jd.jsx)(Md.TextInput,{id:"current-message-index",value:`${r}/${t}`,readOnly:!0}),(0,jd.jsx)(Md.Button,{"data-testid":"next-message-button",variant:"plain",onClick:i,isDisabled:r===t,children:">"})," ",(0,jd.jsx)(Md.Button,{"data-testid":"last-message-button",variant:"plain",onClick:a,isDisabled:r===t,children:">>"})]}),Ud=w(r(44914)),Gd=r(52557),Jd=r(96527),Kd=r(74848),Qd=()=>{var e;const{selectedNode:t}=(0,Ud.useContext)(ml),[r,i]=(0,Ud.useState)([]),[n,o]=(0,Ud.useState)([]),[a,s]=(0,Ud.useState)(""),[l,d]=(0,Ud.useState)([]),[c,p]=Ud.default.useState(-1),[u,h]=Ud.default.useState("asc"),[m,f]=(0,Ud.useState)("url"),[g,b]=Ud.default.useState(!1);(0,Ud.useEffect)((()=>{t&&function(e){return C(this,null,(function*(){let t=[];const r=Xs(e);if(r&&r.objectName){const e=yield ei.execute(r.objectName,jn);t=Object.values(e)}else gn.error("Error with the retrieving the registry");return t}))}(t).then((e=>{i(e),o(e)}))}),[t]);const y=()=>{d([]),s(""),v("",m,[])},v=(e,t,i)=>{s(e);let n=[];n=""===e?[...r]:r.filter((r=>r[t].toLowerCase().includes(e.toLowerCase()))),i.forEach((e=>{var t,r;const i=null!=(t=e.split(":")[0])?t:"",o=null!=(r=e.split(":")[1])?r:"";n=n.filter((e=>String(e[i]).toLowerCase().includes(o.toLowerCase())))})),s(e),o([...n])},w=e=>{const{hits:t,routeId:r,dynamic:i,url:n,direction:o}=e;return[n,r,o,String(e.static),String(i),t]},A=e=>({sortBy:{index:c,direction:u,defaultDirection:"asc"},onSort:(e,t,r)=>{p(t),h(r)},columnIndex:e}),k=[{key:"url",value:"URL"},{key:"routeId",value:"Route ID"},{key:"direction",value:"Direction"}],x=k.map((e=>(0,Kd.jsx)(Gd.DropdownItem,{onClick:()=>{f(e.key),v(a,e.key,l)},children:e.value},e.key)));return(0,Kd.jsxs)(Gd.PageSection,{variant:"light",children:[(0,Kd.jsx)(Gd.Title,{headingLevel:"h1",children:"Endpoints (in/out)"}),(0,Kd.jsx)(Gd.Toolbar,{clearAllFilters:y,children:(0,Kd.jsx)(Gd.ToolbarContent,{children:(0,Kd.jsxs)(Gd.ToolbarGroup,{children:[(0,Kd.jsx)(Gd.Dropdown,{"data-testid":"attribute-select",onSelect:()=>b(!1),defaultValue:"url",toggle:(0,Kd.jsx)(Gd.DropdownToggle,{"data-testid":"attribute-select-toggle",id:"toggle-basic",onToggle:b,children:null==(e=k.find((e=>e.key===m)))?void 0:e.value}),isOpen:g,dropdownItems:x}),(0,Kd.jsx)(Gd.ToolbarFilter,{chips:l,deleteChip:(e,t)=>(e=>{const t=l.filter((t=>t!==e));d(t),v(a,m,t)})(t),deleteChipGroup:y,categoryName:"Filters",children:(0,Kd.jsx)(Gd.SearchInput,{type:"text","data-testid":"filter-input",id:"search-input",placeholder:"Search...",value:a,onChange:(e,t)=>{v(t,m,l)},"aria-label":"Search input"})}),(0,Kd.jsx)(Gd.Button,{onClick:()=>{d([...l,`${m}:${a}`]),s("")},children:"Add Filter"})]})})}),(()=>{let e=n;return c>=0&&(e=n.sort(((e,t)=>cr(w(e)[c],w(t)[c],"desc"===u)))),e})().length>0?(0,Kd.jsx)(Gd.FormGroup,{children:(0,Kd.jsxs)(Jd.TableComposable,{"aria-label":"Endpoints Table",variant:"compact",height:"80vh",children:[(0,Kd.jsx)(Jd.Thead,{noWrap:!0,children:(0,Kd.jsxs)(Jd.Tr,{children:[(0,Kd.jsx)(Jd.Th,{"data-testid":"url-header",sort:A(0),children:"URL"}),(0,Kd.jsx)(Jd.Th,{"data-testid":"routeId-header",sort:A(1),children:"Route ID"}),(0,Kd.jsx)(Jd.Th,{"data-testid":"direction-header",sort:A(2),children:"Direction"}),(0,Kd.jsx)(Jd.Th,{"data-testid":"static-header",sort:A(3),children:"Static"}),(0,Kd.jsx)(Jd.Th,{"data-testid":"dynamic-header",sort:A(4),children:"Dynamic"}),(0,Kd.jsx)(Jd.Th,{"data-testid":"hits-header",sort:A(5),children:"Hits"})]})}),(0,Kd.jsx)(Jd.Tbody,{children:n.map(((e,t)=>(0,Kd.jsxs)(Jd.Tr,{"data-testid":"row"+t,children:[(0,Kd.jsx)(Jd.Td,{style:{flex:3},children:e.url}),(0,Kd.jsx)(Jd.Td,{style:{width:"20%"},children:e.routeId}),(0,Kd.jsx)(Jd.Td,{style:{flex:1},children:e.direction}),(0,Kd.jsx)(Jd.Td,{style:{flex:1},children:e.static+""}),(0,Kd.jsx)(Jd.Td,{style:{flex:1},children:e.dynamic+""}),(0,Kd.jsx)(Jd.Td,{style:{flex:1},children:e.hits})]},"row"+t)))})]})}):(0,Kd.jsx)(Gd.Bullseye,{children:(0,Kd.jsxs)(Gd.EmptyState,{children:[(0,Kd.jsx)(Gd.EmptyStateIcon,{icon:ot}),(0,Kd.jsx)(Gd.EmptyStateBody,{children:"No results found."})]})})]})},Yd=r(21594),Zd=r(52557),Xd=w(r(44914)),$d=w(r(16099)),ec={CamelAuthenticationFailurePolicyId:{type:"java.lang.String"},CamelAcceptContentType:{type:"java.lang.String"},CamelAggregatedSize:{type:"java.lang.String"},CamelAggregatedTimeout:{type:"java.lang.String"},CamelAggregatedCompletedBy:{type:"java.lang.String"},CamelAggregatedCorrelationKey:{type:"java.lang.String"},CamelAggregatedCollectionGuard:{type:"java.lang.String"},CamelAggregationStrategy:{type:"java.lang.String"},CamelAggregationCompleteCurrentGroup:{type:"java.lang.String"},CamelAggregationCompleteAllGroups:{type:"java.lang.String"},CamelAggregationCompleteAllGroupsInclusive:{type:"java.lang.String"},CamelAsyncWait:{type:"java.lang.String"},CamelBatchIndex:{type:"java.lang.String"},CamelBatchSize:{type:"java.lang.String"},CamelBatchComplete:{type:"java.lang.String"},CamelBeanMethodName:{type:"java.lang.String"},CamelBinding:{type:"java.lang.String"},breadcrumbId:{type:"java.lang.String"},CamelCharsetName:{type:"java.lang.String"},CamelCircuitBreakerState:{type:"java.lang.String"},CamelCreatedTimestamp:{type:"java.lang.String"},CamelClaimCheckRepository:{type:"java.lang.String"},"Content-Encoding":{type:"java.lang.String"},"Content-Length":{type:"java.lang.String"},"Content-Type":{type:"java.lang.String"},CamelCookieHandler:{type:"java.lang.String"},CamelCorrelationId:{type:"java.lang.String"},CamelContentSchema:{type:"java.lang.String"},CamelContentSchemaType:{type:"java.lang.String"},CamelDataSetIndex:{type:"java.lang.String"},"org.apache.camel.default.charset":{type:"java.lang.String"},CamelDestinationOverrideUrl:{type:"java.lang.String"},CamelDisableHttpStreamCache:{type:"java.lang.String"},CamelDuplicateMessage:{type:"java.lang.String"},CamelDocumentBuilderFactory:{type:"java.lang.String"},CamelExceptionCaught:{type:"java.lang.String"},CamelExceptionHandled:{type:"java.lang.String"},CamelEvaluateExpressionResult:{type:"java.lang.String"},CamelErrorHandlerBridge:{type:"java.lang.String"},CamelErrorHandlerCircuitDetected:{type:"java.lang.String"},CamelErrorHandlerHandled:{type:"java.lang.String"},CamelExternalRedelivered:{type:"java.lang.String"},CamelFailureHandled:{type:"java.lang.String"},CamelFailureEndpoint:{type:"java.lang.String"},CamelFailureRouteId:{type:"java.lang.String"},CamelFatalFallbackErrorHandler:{type:"java.lang.String"},CamelFileContentType:{type:"java.lang.String"},CamelFileLocalWorkPath:{type:"java.lang.String"},CamelFileName:{type:"java.lang.String"},CamelFileNameOnly:{type:"java.lang.String"},CamelFileNameProduced:{type:"java.lang.String"},CamelFileNameConsumed:{type:"java.lang.String"},CamelFilePath:{type:"java.lang.String"},CamelFileParent:{type:"java.lang.String"},CamelFileLastModified:{type:"java.lang.String"},CamelFileLength:{type:"java.lang.String"},CamelFileLockFileAcquired:{type:"java.lang.String"},CamelFileLockFileName:{type:"java.lang.String"},CamelFileLockExclusiveLock:{type:"java.lang.String"},CamelFileLockRandomAccessFile:{type:"java.lang.String"},CamelFileLockChannelFile:{type:"java.lang.String"},CamelFilterMatched:{type:"java.lang.String"},CamelFilterNonXmlChars:{type:"java.lang.String"},CamelGroupedExchange:{type:"java.lang.String"},CamelHttpScheme:{type:"java.lang.String"},CamelHttpHost:{type:"java.lang.String"},CamelHttpPort:{type:"java.lang.String"},CamelHttpBaseUri:{type:"java.lang.String"},CamelHttpCharacterEncoding:{type:"java.lang.String"},CamelHttpMethod:{type:"java.lang.String"},CamelHttpPath:{type:"java.lang.String"},CamelHttpProtocolVersion:{type:"java.lang.String"},CamelHttpQuery:{type:"java.lang.String"},CamelHttpRawQuery:{type:"java.lang.String"},CamelHttpResponseCode:{type:"java.lang.String"},CamelHttpResponseText:{type:"java.lang.String"},CamelHttpUri:{type:"java.lang.String"},CamelHttpUrl:{type:"java.lang.String"},CamelHttpChunked:{type:"java.lang.String"},CamelHttpServletRequest:{type:"java.lang.String"},CamelHttpServletResponse:{type:"java.lang.String"},CamelInterceptedEndpoint:{type:"java.lang.String"},CamelInterceptSendToEndpointWhenMatched:{type:"java.lang.String"},CamelInterrupted:{type:"java.lang.String"},CamelLanguageScript:{type:"java.lang.String"},CamelLogDebugBodyMaxChars:{type:"java.lang.String"},CamelLogDebugStreams:{type:"java.lang.String"},CamelLogEipName:{type:"java.lang.String"},CamelLoopIndex:{type:"java.lang.String"},CamelLoopSize:{type:"java.lang.String"},"Long-Running-Action":{type:"java.lang.String"},CamelMaximumCachePoolSize:{type:"java.lang.String"},CamelMaximumEndpointCacheSize:{type:"java.lang.String"},CamelMaximumSimpleCacheSize:{type:"java.lang.String"},CamelMaximumTransformerCacheSize:{type:"java.lang.String"},CamelMaximumValidatorCacheSize:{type:"java.lang.String"},CamelMessageHistory:{type:"java.lang.String"},CamelMessageHistoryHeaderFormat:{type:"java.lang.String"},CamelMessageHistoryOutputFormat:{type:"java.lang.String"},CamelMessageTimestamp:{type:"java.lang.String"},CamelMulticastIndex:{type:"java.lang.String"},CamelMulticastComplete:{type:"java.lang.String"},CamelNotifyEvent:{type:"java.lang.String"},CamelOnCompletion:{type:"java.lang.String"},CamelOnCompletionRouteIds:{type:"java.lang.String"},CamelOffset:{type:"java.lang.String"},CamelOverruleFileName:{type:"java.lang.String"},CamelParentUnitOfWork:{type:"java.lang.String"},CamelStreamCacheUnitOfWork:{type:"java.lang.String"},CamelRecipientListEndpoint:{type:"java.lang.String"},CamelReceivedTimestamp:{type:"java.lang.String"},CamelRedelivered:{type:"java.lang.String"},CamelRedeliveryCounter:{type:"java.lang.String"},CamelRedeliveryMaxCounter:{type:"java.lang.String"},CamelRedeliveryExhausted:{type:"java.lang.String"},CamelRedeliveryDelay:{type:"java.lang.String"},CamelRestHttpUri:{type:"java.lang.String"},CamelRestHttpQuery:{type:"java.lang.String"},CamelRollbackOnly:{type:"java.lang.String"},CamelRollbackOnlyLast:{type:"java.lang.String"},CamelRouteStop:{type:"java.lang.String"},CamelReuseScripteEngine:{type:"java.lang.String"},CamelCompileScript:{type:"java.lang.String"},CamelSAXParserFactory:{type:"java.lang.String"},CamelSchedulerPolledMessages:{type:"java.lang.String"},CamelSoapAction:{type:"java.lang.String"},CamelSkipGzipEncoding:{type:"java.lang.String"},CamelSkipWwwFormUrlEncoding:{type:"java.lang.String"},CamelSlipEndpoint:{type:"java.lang.String"},CamelSlipProducer:{type:"java.lang.String"},CamelSplitIndex:{type:"java.lang.String"},CamelSplitComplete:{type:"java.lang.String"},CamelSplitSize:{type:"java.lang.String"},CamelStepId:{type:"java.lang.String"},CamelTimerCounter:{type:"java.lang.String"},CamelTimerFiredTime:{type:"java.lang.String"},CamelTimerName:{type:"java.lang.String"},CamelTimerPeriod:{type:"java.lang.String"},CamelTimerTime:{type:"java.lang.String"},CamelToEndpoint:{type:"java.lang.String"},CamelTraceEvent:{type:"java.lang.String"},CamelTraceEventNodeId:{type:"java.lang.String"},CamelTraceEventTimestamp:{type:"java.lang.String"},CamelTraceEventExchange:{type:"java.lang.String"},CamelTracingHeaderFormat:{type:"java.lang.String"},CamelTracingOutputFormat:{type:"java.lang.String"},CamelTransactionContextData:{type:"java.lang.String"},TryRouteBlock:{type:"java.lang.String"},"Transfer-Encoding":{type:"java.lang.String"},CamelUnitOfWorkExhausted:{type:"java.lang.String"},CamelXsltFileName:{type:"java.lang.String"},CamelXsltError:{type:"java.lang.String"},CamelXsltFatalError:{type:"java.lang.String"},CamelXsltWarning:{type:"java.lang.String"}},tc=r(74848),rc=()=>{const{selectedNode:e}=(0,Xd.useContext)(ml),t=(0,Xd.useRef)([]),r=(0,Xd.useRef)("");if(!e)return null;const i=(e,t)=>{se.notify({type:e,message:t})};return(0,tc.jsxs)(Zd.Card,{isFullHeight:!0,children:[(0,tc.jsx)(Zd.CardTitle,{children:"Send Message"}),(0,tc.jsx)(Zd.CardBody,{children:(0,tc.jsxs)(Zd.Form,{onSubmit:n=>{n.preventDefault(),function(e,t,r,i){C(this,null,(function*(){var n;const o={};r.forEach((e=>{const t=e.name;t&&""!==t&&(o[t]=e.value)}));const a=null==(n=e.parent)?void 0:n.getMetadata(Sn),s=e.name;if(a&&s){let e=!0;(yield ei.execute(a,Bn,[s]))||(i("warning","Camel does not support sending to this endpoint."),e=!1),e&&(Object.keys(o).length>0?ei.execute(a,On,[s,t,o]).then((e=>{i("success",`Message and headers were sent to the ${s} endpoint`)})):ei.execute(a,qn,[s,t]).then((e=>{i("success",`Message was sent to the ${s} endpoint`)})))}else i("danger",e?"Failed to determine endpoint name!":"Could not find CamelContext MBean!"),gn.debug("Parsed context and endpoint:",a,e)}))}(e,r.current,t.current,i)},children:[(0,tc.jsx)(ic,{onHeadersChange:e=>{t.current=[...e]}}),(0,tc.jsx)(nc,{onBodyChange:e=>{r.current=e}}),(0,tc.jsx)(Zd.FormGroup,{children:(0,tc.jsx)(Zd.Button,{type:"submit",className:"pf-m-1-col",children:"Send"})})]})})]})},ic=({onHeadersChange:e})=>{const[t,r]=(0,Xd.useState)([]),i=Object.keys(ec),n=(i,n,o)=>{const a=[...t],s=a[i];s&&(a[i]=g(f({},s),{[o]:n}),r(a),e(a))};return(0,tc.jsxs)(Xd.default.Fragment,{children:[(0,tc.jsx)(Zd.FormGroup,{children:(0,tc.jsx)(Zd.Button,{variant:"link",onClick:()=>{const i=[...t,{name:"",value:""}];r(i),e(i)},children:"Add Headers"})}),(0,tc.jsxs)(Zd.FormGroup,{children:[t.length>0&&(0,tc.jsxs)(Zd.Flex,{children:[(0,tc.jsx)(Zd.FlexItem,{flex:{default:"flexNone",md:"flex_2"},children:"Name"}),(0,tc.jsx)(Zd.FlexItem,{flex:{default:"flexNone",md:"flex_2"},children:"Value"}),(0,tc.jsx)(Zd.FlexItem,{flex:{default:"flexNone",md:"flex_1"}})]}),t.length>0&&t.map(((o,a)=>(0,tc.jsxs)(Zd.Flex,{children:[(0,tc.jsx)(Zd.FlexItem,{flex:{default:"flexNone",md:"flex_2"},children:(0,tc.jsx)(Ld,{"aria-label":"name-input-"+a,suggestions:i,value:o.name,onChange:e=>n(a,e,"name")})}),(0,tc.jsx)(Zd.FlexItem,{flex:{default:"flexNone",md:"flex_2"},children:(0,tc.jsx)(Zd.TextInput,{type:"text",name:"value","aria-label":"value-input-"+a,value:o.value,onChange:(e,t)=>n(a,e,"value")})}),(0,tc.jsx)(Zd.FlexItem,{flex:{default:"flexNone",md:"flex_1"},span:4,children:(0,tc.jsx)(Zd.Button,{variant:"link",onClick:()=>(i=>{const n=[...t];n.splice(i,1),r(n),e(n)})(a),"aria-label":"Remove Header",children:(0,tc.jsx)(st,{})})})]},a)))]})]})},nc=({onBodyChange:e})=>{const[t,r]=(0,Xd.useState)(""),[i,n]=(0,Xd.useState)(Yd.Language.xml),[o,a]=(0,Xd.useState)(!1),s=(0,Xd.useRef)(null),l=t=>{r(t),e(t)};return(0,tc.jsxs)(Xd.default.Fragment,{children:[(0,tc.jsx)(Zd.FormGroup,{label:"Message",children:(0,tc.jsx)(Yd.CodeEditor,{code:t,onEditorDidMount:e=>{s.current=e},language:i,height:"300px",onChange:l})}),(0,tc.jsx)(Zd.FormGroup,{children:(0,tc.jsxs)(Zd.Flex,{children:[(0,tc.jsxs)(Zd.FlexItem,{flex:{default:"flexNone",md:"flex_2"},children:[" ",(0,tc.jsxs)(Zd.Select,{variant:Zd.SelectVariant.single,"aria-label":"Select Format",onToggle:()=>{a(!o)},onSelect:(e,t)=>{n(t),a(!1)},selections:i,isOpen:o,children:[(0,tc.jsx)(Zd.SelectOption,{label:"xml",value:Yd.Language.xml}),(0,tc.jsx)(Zd.SelectOption,{label:"json",value:Yd.Language.json}),(0,tc.jsx)(Zd.SelectOption,{label:"plaintext",value:Yd.Language.plaintext})]})]})," ",(0,tc.jsx)(Zd.FlexItem,{flex:{default:"flexNone",md:"flex_1"},children:(0,tc.jsx)(Zd.Button,{variant:"secondary",isSmall:!0,onClick:()=>{if(!E(t)&&s.current){const e=s.current.getModel();if(e)if(i===Yd.Language.xml)l((0,$d.default)(t));else{const t=e.getFullModelRange();s.current.trigger("","editor.action.formatDocument",{range:t})}}},children:"Format"})})]})})]})},oc=w(r(44914)),ac=r(52557),sc=r(96527),lc=r(44914),dc="DefaultInflightRepository",cc="DefaultAsyncProcessorAwaitManager";function pc(e,t){return C(this,null,(function*(){const r=Ls(e);if(!r)return Promise.resolve([]);const i=r.navigate(Pn,"services",t+"*");if(!i)return Promise.resolve([]);const n=yield ei.execute(i.objectName,"browse()");let o=Object.values(n);return e.getType()===Tn&&(o=o.filter((t=>t.routeId===e.name))),o.sort(((e,t)=>e.exchangeId.localeCompare(t.exchangeId))),o}))}var uc=r(74848),hc=()=>{const{selectedNode:e}=(0,lc.useContext)(ml),[t,r]=(0,lc.useState)(!1),[i,n]=(0,lc.useState)([]),[o,a]=(0,lc.useState)(!1),[s,l]=(0,lc.useState)(null),d=(0,lc.useRef)(null),c=(0,lc.useRef)(o);c.current=o;const p=()=>{a(!o)},u=()=>{s&&function(e,t){return C(this,null,(function*(){const r=Ls(e);if(!r)return Promise.resolve(null);const i=r.navigate(Pn,"services",cc+"*");if(!i)return Promise.resolve(null);const n=yield ei.execute(i.objectName,"interrupt(java.lang.String)",[t.exchangeId]);return Promise.resolve(n)}))}(e,s).then((()=>{p()}))};if((0,lc.useEffect)((()=>{if(!e)return;const t=()=>C(void 0,null,(function*(){e&&(c.current?o&&d.current&&(clearTimeout(d.current),d.current=null):(r(!0),n(yield function(e){return C(this,null,(function*(){return yield pc(e,cc)}))}(e)),r(!1),d.current=setTimeout(t,1e4)))}));return t(),()=>{d.current&&clearTimeout(d.current)}}),[e,o]),t)return(0,uc.jsx)(Jt,{});if(0===i.length)return(0,uc.jsx)(Wt,{title:"Blocked Exchanges",message:"No blocked exchanges found.",testid:"no-exchanges"});const h=[];h.push({title:"Exchange ID",transforms:[sc.wrappable]}),h.push({title:"Route ID",transforms:[sc.wrappable]}),h.push({title:"Node ID",transforms:[sc.wrappable]}),h.push({title:"Duration (ms)",transforms:[sc.wrappable]}),h.push({title:"Elapsed (ms)",transforms:[sc.wrappable]}),h.push({title:"",dataLabel:"Action",transforms:[sc.fitContent]});const m=i.map((e=>{const t=(0,uc.jsx)(sc.TableText,{children:(0,uc.jsx)(ac.Button,{variant:"secondary",onClick:()=>{return t=e,d.current&&clearTimeout(d.current),l(t),void p();var t},children:"Unblock"})});return[e.exchangeId,e.routeId,e.nodeId,e.duration,e.elapsed,t]})),f=()=>(0,uc.jsxs)(ac.Modal,{variant:ac.ModalVariant.small,title:"Unblock Exchange",titleIconVariant:"danger",isOpen:o,onClose:p,actions:[(0,uc.jsx)(ac.Button,{variant:"danger","data-testid":"confirm-unblock",onClick:u,children:"Unblock"},"unblock"),(0,uc.jsx)(ac.Button,{variant:"link","data-testid":"confirm-cancel",onClick:p,children:"Cancel"},"cancel")],children:[(0,uc.jsx)("p",{children:"You are about to unblock the selected thread."}),(0,uc.jsx)("p",{children:"This operation cannot be undone so please be careful."})]});return(0,uc.jsxs)(ac.Card,{isFullHeight:!0,children:[(0,uc.jsx)(ac.CardTitle,{children:"Blocked Exchanges"}),(0,uc.jsxs)(ac.CardBody,{children:[(0,uc.jsxs)(sc.Table,{"data-testid":"exchange-table","aria-label":"Blocked Exchanges",cells:h,rows:m,children:[(0,uc.jsx)(sc.TableHeader,{}),(0,uc.jsx)(sc.TableBody,{})]}),(0,uc.jsx)(f,{})]})]})},mc=r(52557),fc=r(96527),gc=r(44914),bc=r(74848),yc=()=>{const{selectedNode:e}=(0,gc.useContext)(ml),[t,r]=(0,gc.useState)(!1),[i,n]=(0,gc.useState)(!1),[o,a]=(0,gc.useState)([]);if((0,gc.useEffect)((()=>{if(!e)return;let t;r(!0);const i=()=>C(void 0,null,(function*(){const o=yield function(e){return C(this,null,(function*(){const t=Ls(e);if(!t)return Promise.resolve(!1);const r=t.navigate(Pn,"services",dc+"*");return r?yield ei.readAttribute(r.objectName,"InflightBrowseEnabled"):Promise.resolve(!1)}))}(e);n(o),o&&a(yield function(e){return C(this,null,(function*(){return yield pc(e,dc)}))}(e)),r(!1),t=setTimeout(i,1e4)}));return i(),()=>{clearTimeout(t)}}),[e]),t)return(0,bc.jsx)(Jt,{});if(!i)return(0,bc.jsx)(Wt,{title:"Inflight Exchanges",message:"Browsing of Inflight Exchanges has not been enabled.",testid:"exchanges-denied"});if(0===o.length)return(0,bc.jsx)(Wt,{title:"Inflight Exchanges",message:"No inflight exchanges found.",testid:"no-exchanges"});const s=[];s.push({title:"Exchange ID",transforms:[fc.wrappable]}),s.push({title:"Route ID",transforms:[fc.wrappable]}),s.push({title:"Node ID",transforms:[fc.wrappable]}),s.push({title:"Duration (ms)",transforms:[fc.wrappable]}),s.push({title:"Elapsed (ms)",transforms:[fc.wrappable]});const l=o.map((e=>[e.exchangeId,e.routeId,e.nodeId,e.duration,e.elapsed]));return(0,bc.jsxs)(mc.Card,{isFullHeight:!0,children:[(0,bc.jsx)(mc.CardTitle,{children:"Inflight Exchanges"}),(0,bc.jsx)(mc.CardBody,{children:(0,bc.jsxs)(fc.Table,{"data-testid":"exchange-table","aria-label":"Inflight Exchanges",cells:s,rows:l,children:[(0,bc.jsx)(fc.TableHeader,{}),(0,bc.jsx)(fc.TableBody,{})]})})]})},vc=r(74848),wc=()=>(0,vc.jsxs)(oc.default.Fragment,{children:[(0,vc.jsx)(yc,{}),(0,vc.jsx)(hc,{})]}),Ac=r(52557),Cc=r(96527),kc=r(44914),xc=new class{constructor(){A(this,"handles",[])}register(e,t){return C(this,null,(function*(){const r=yield ei.register(e,t);gn.debug("Register handle:",r),this.handles.push(r)}))}unregisterAll(){gn.debug("Unregister all handles:",this.handles),this.handles.forEach((e=>ei.unregister(e))),this.handles=[]}getProfile(e){return C(this,null,(function*(){const t=yield _s.dumpRoutesStatsXML(e);if(!t)return[];const r=[];return _s.processRoutesStats(t).forEach((e=>{const t={id:e.id,count:(e.exchangesCompleted?+e.exchangesCompleted:0)+(e.exchangesFailed?+e.exchangesFailed:0),last:e.lastProcessingTime?+e.lastProcessingTime:0,delta:e.deltaProcessingTime?+e.deltaProcessingTime:0,mean:e.meanProcessingTime?+e.meanProcessingTime:0,min:e.minProcessingTime?+e.minProcessingTime:0,max:e.maxProcessingTime?+e.maxProcessingTime:0,total:e.totalProcessingTime?+e.totalProcessingTime:0,self:e.selfProcessingTime?+e.selfProcessingTime:0};r.push(t),e.processorStats.forEach((e=>{const t={id:e.id,count:(e.exchangesCompleted?+e.exchangesCompleted:0)+(e.exchangesFailed?+e.exchangesFailed:0),last:e.lastProcessingTime?+e.lastProcessingTime:0,delta:e.deltaProcessingTime?+e.deltaProcessingTime:0,mean:e.meanProcessingTime?+e.meanProcessingTime:0,min:e.minProcessingTime?+e.minProcessingTime:0,max:e.maxProcessingTime?+e.maxProcessingTime:0,total:e.accumulatedProcessingTime?+e.accumulatedProcessingTime:0,self:e.totalProcessingTime?+e.totalProcessingTime:0};r.push(t)}))})),r}))}},Sc=r(74848),Tc=()=>{const{selectedNode:e}=(0,kc.useContext)(ml),[t,r]=(0,kc.useState)(!0),[i,n]=(0,kc.useState)([]);return(0,kc.useEffect)((()=>{if(!e)return;r(!0);const t=()=>C(void 0,null,(function*(){n(yield xc.getProfile(e)),r(!1)}));return t(),xc.register({type:"exec",mbean:e.objectName,operation:"dumpRouteStatsAsXml()"},(e=>{gn.debug("Scheduler - Debug:",e.value),t()})),()=>xc.unregisterAll()}),[e]),e?t?(0,Sc.jsx)(Jt,{}):(0,Sc.jsxs)(Ac.Card,{isFullHeight:!0,children:[(0,Sc.jsx)(Ac.CardHeader,{children:(0,Sc.jsx)(Ac.CardTitle,{children:"Profiling"})}),(0,Sc.jsx)(Ac.CardBody,{children:(0,Sc.jsxs)(Cc.TableComposable,{"aria-label":"message table",variant:"compact",isStriped:!0,children:[(0,Sc.jsx)(Cc.Thead,{children:(0,Sc.jsxs)(Cc.Tr,{children:[(0,Sc.jsx)(Cc.Th,{children:"ID"}),(0,Sc.jsx)(Cc.Th,{children:"Count"}),(0,Sc.jsx)(Cc.Th,{children:"Last"}),(0,Sc.jsx)(Cc.Th,{children:"Delta"}),(0,Sc.jsx)(Cc.Th,{children:"Mean"}),(0,Sc.jsx)(Cc.Th,{children:"Min"}),(0,Sc.jsx)(Cc.Th,{children:"Max"}),(0,Sc.jsx)(Cc.Th,{children:"Total"}),(0,Sc.jsx)(Cc.Th,{children:"Self"})]})}),(0,Sc.jsx)(Cc.Tbody,{isOddStriped:!0,children:i.map((e=>(0,Sc.jsxs)(Cc.Tr,{children:[(0,Sc.jsx)(Cc.Td,{dataLabel:"ID",children:e.id}),(0,Sc.jsx)(Cc.Td,{dataLabel:"Count",children:e.count}),(0,Sc.jsx)(Cc.Td,{dataLabel:"Last",children:e.last}),(0,Sc.jsx)(Cc.Td,{dataLabel:"Delta",children:e.delta}),(0,Sc.jsx)(Cc.Td,{dataLabel:"Mean",children:e.mean}),(0,Sc.jsx)(Cc.Td,{dataLabel:"Min",children:e.min}),(0,Sc.jsx)(Cc.Td,{dataLabel:"Max",children:e.max}),(0,Sc.jsx)(Cc.Td,{dataLabel:"Total",children:e.total}),(0,Sc.jsx)(Cc.Td,{dataLabel:"Self",children:e.self})]},e.id)))})]})})]}):(0,Sc.jsx)(Wt,{message:"No selection has been made."})},Ec=r(52557),_c=r(44914),Ic=r(52557),Pc=r(52557),Mc=w(r(44914)),Rc=r(74848),Dc=({property:e})=>{const t=(0,Mc.useRef)(null);return(0,Rc.jsxs)(Mc.default.Fragment,{children:[e.name,(0,Rc.jsx)("span",{ref:t,className:"properties-name-tooltip-button",children:(0,Rc.jsx)(Ge,{})}),(0,Rc.jsx)(Pc.Tooltip,{id:`camel-properties-${e.id}-tooltip`,reference:t,content:(0,Rc.jsx)("div",{children:e.description}),removeFindDomNode:!0})]})},Bc=r(74848),Oc=e=>(0,Bc.jsxs)(Ic.Panel,{variant:"raised",className:"properties-list-panel",children:[(0,Bc.jsx)(Ic.PanelHeader,{children:e.title}),(0,Bc.jsxs)(Ic.PanelMain,{children:[(!e.values||0===e.values.length)&&(0,Bc.jsx)(Ic.PanelMainBody,{className:"properties-no-properties",children:"No properties"}),e.values&&e.values.length>0&&(0,Bc.jsx)(Ic.PanelMainBody,{children:(0,Bc.jsx)(Ic.DescriptionList,{columnModifier:{default:"2Col"},children:e.values.map((e=>(0,Bc.jsxs)(Ic.DescriptionListGroup,{children:[(0,Bc.jsx)(Ic.DescriptionListTerm,{children:(0,Bc.jsx)(Dc,{property:e})}),(0,Bc.jsx)(Ic.DescriptionListDescription,{children:e.value})]},e.name)))})})]})]}),qc=class{constructor(e,t,r){this.name=e,this.value=t,this.description=r,A(this,"id"),this.id=zi(e)}static sortByName(e,t){return e.namet.name?1:0}},Nc=r(74848),Lc=()=>{const{selectedNode:e}=(0,_c.useContext)(ml),[t,r]=(0,_c.useState)(!0),[i,n]=(0,_c.useState)(""),[o,a]=(0,_c.useState)(),[s,l]=(0,_c.useState)([]),[d,c]=(0,_c.useState)(""),[p,u]=(0,_c.useState)([]),[h,m]=(0,_c.useState)([]),[f,g]=(0,_c.useState)([]);return(0,_c.useEffect)((()=>{e&&(r(!0),C(void 0,null,(function*(){var t;const i=null!=(t=e.getMetadata(Mn))?t:"",o=i||e.name,s=Ts.getSchema(e,o);let d=i,p=e.icon,h="",f=[];if(s){d=s.title,p=_s.getIcon(e,s,24),h=s.description,f=s.group.split(","),gn.debug("Properties - schema:",s);const t=s.properties;!function(e,t){const r=e.getMetadata("xml");if(!r)return;const i=e.getMetadata(Mn);if(!i)return;const n=cn(r).getElementsByTagName(i);for(const e of n)for(const r of e.attributes){const e=t[r.name];e&&(e.value=r.value)}}(e,t),u((b=t,Object.keys(b).filter((e=>{var t;const r=null!=(t=b[e])?t:{};return Object.keys(r).includes("value")})).map((e=>{var t,r,i;const n=b[e],o=null!=(t=null==n?void 0:n.title)?t:e;return new qc(o,null!=(r=null==n?void 0:n.value)?r:null,null!=(i=null==n?void 0:n.description)?i:"")})).sort(qc.sortByName))),m(function(e){return Object.keys(e).filter((t=>{var r;const i=null!=(r=e[t])?r:{};return!Object.keys(i).includes("value")&&Object.keys(i).includes("defaultValue")})).map((t=>{var r,i,n;const o=e[t],a=null!=(r=null==o?void 0:o.title)?r:t;return new qc(a,null!=(i=null==o?void 0:o.defaultValue)?i:null,null!=(n=null==o?void 0:o.description)?n:"")})).sort(qc.sortByName)}(t)),g(function(e){return Object.keys(e).filter((t=>{var r;const i=null!=(r=e[t])?r:{};return!Object.keys(i).includes("value")&&!Object.keys(i).includes("defaultValue")})).map((t=>{var r,i;const n=e[t],o=null!=(r=null==n?void 0:n.title)?r:t;return new qc(o,null,null!=(i=null==n?void 0:n.description)?i:"")})).sort(qc.sortByName)}(t))}var b;a(p),n(d),c(h),l(f),r(!1)})))}),[e]),e?t?(0,Nc.jsx)(Jt,{}):(0,Nc.jsxs)(Ec.Card,{isFullHeight:!0,children:[(0,Nc.jsx)(Ec.CardHeader,{children:(0,Nc.jsx)(Ec.CardTitle,{children:"Properties"})}),(0,Nc.jsxs)(Ec.CardBody,{id:"properties-card-body",children:[(0,Nc.jsx)(Ec.Panel,{variant:"raised",children:(0,Nc.jsx)(Ec.PanelMain,{children:(0,Nc.jsxs)(Ec.PanelMainBody,{id:"properties-card-title-panel",children:[o,(0,Nc.jsx)("span",{children:i}),(0,Nc.jsx)(Ec.LabelGroup,{id:"properties-card-title-panel-labelgroup",children:s.map((e=>(0,Nc.jsx)(Ec.Label,{icon:(0,Nc.jsx)(Ge,{}),children:e},e)))})]})})}),d&&(0,Nc.jsx)(Ec.Panel,{variant:"raised",children:(0,Nc.jsx)(Ec.PanelMain,{children:(0,Nc.jsx)(Ec.PanelMainBody,{id:"properties-card-description-panel",children:d})})}),(0,Nc.jsx)(Oc,{title:"Defined Properties",values:p}),(0,Nc.jsx)(Oc,{title:"Default Properties",values:h}),(0,Nc.jsx)(Oc,{title:"Undefined Properties",values:f})]})]}):(0,Nc.jsx)(Wt,{message:"No selection has been made."})},jc=r(52557),Fc=r(96527),Hc=r(44914),Vc=new class{constructor(){A(this,"handles",[])}register(e,t){return C(this,null,(function*(){const r=yield ei.register(e,t);gn.debug("Register handle:",r),this.handles.push(r)}))}unregisterAll(){gn.debug("Unregister all handles:",this.handles),this.handles.forEach((e=>ei.unregister(e))),this.handles=[]}getRestServices(e){return C(this,null,(function*(){if(!e)return[];const t=al(e);if(!t||!t.objectName)return[];const r=yield ei.execute(t.objectName,"listRestServices()");if(!r||!ar(r))return[];const i=[];for(const[,e]of Object.entries(r))if(e&&ar(e))for(const[,t]of Object.entries(e))t&&ar(t)&&i.push(t);return i}))}},zc=r(74848),Wc=["URL","Method","Consumes","Produces","Route ID"],Uc=()=>{var e;const{selectedNode:t}=(0,Hc.useContext)(ml),[r,i]=(0,Hc.useState)(!0),[n,o]=(0,Hc.useState)([]),a=(0,Hc.useRef)(),[s,l]=(0,Hc.useState)([]),[d,c]=(0,Hc.useState)(null!=(e=Wc[0])?e:""),[p,u]=(0,Hc.useState)(!1),[h,m]=(0,Hc.useState)(),[f,g]=(0,Hc.useState)("Filter by URL ..."),[b,y]=(0,Hc.useState)([]);(0,Hc.useEffect)((()=>{if(!t)return;i(!0);const e=()=>C(void 0,null,(function*(){const e=yield Vc.getRestServices(t);o(e),i(!1)}));return e(),Vc.register({type:"exec",mbean:t.objectName,operation:"listRestServices()"},(t=>{gn.debug("Scheduler - Debug:",t.value),e()})),()=>Vc.unregisterAll()}),[t]);const v=(0,Hc.useCallback)(((e,t)=>{const r=t[e.type.toLowerCase()];return!!r&&r.toLowerCase().includes(e.value.toLowerCase())}),[]),w=(0,Hc.useCallback)(((e,t)=>{const r=e.filter((e=>{let r=!0;for(const i of t)if(!v(i,e)){r=!1;break}return r}));y(r)}),[y,v]);if((0,Hc.useEffect)((()=>{w(n,s)}),[w,n,s]),!t)return(0,zc.jsx)(Wt,{message:"No selection has been made."});if(r)return(0,zc.jsx)(Jt,{});const A=()=>{l([]),m(""),y([...n])};return(0,zc.jsxs)(jc.Card,{isFullHeight:!0,children:[(0,zc.jsx)(jc.CardHeader,{children:(0,zc.jsx)(jc.CardTitle,{children:"REST Services"})}),(0,zc.jsxs)(jc.CardBody,{id:"rest-services-card-body",children:[(0,zc.jsx)(jc.Toolbar,{clearAllFilters:A,children:(0,zc.jsx)(jc.ToolbarContent,{children:(0,zc.jsxs)(jc.ToolbarGroup,{variant:"filter-group",children:[(0,zc.jsx)(jc.ToolbarItem,{children:(0,zc.jsx)(jc.Select,{toggleRef:()=>a,variant:jc.SelectVariant.single,id:"select-filter-type","aria-label":"select-filter-type",onToggle:e=>{u(e)},onSelect:(e,t,r)=>{var i;!r&&t&&(c(t),g("Filter by "+t+" ..."),u(!1),null==(i=null==a?void 0:a.current)||i.focus())},selections:d,isOpen:p,direction:jc.SelectDirection.down,children:Wc.map(((e,t)=>(0,zc.jsx)(jc.SelectOption,{value:e},e+"-"+t)))})}),(0,zc.jsx)(jc.ToolbarFilter,{chips:(()=>{const e=[];return s.forEach((t=>{e.push(t.type+":"+t.value)})),e})(),deleteChip:(e,t)=>(e=>{const t=s.filter((t=>e!==t.type+":"+t.value));l(t),w(n,t)})(t),deleteChipGroup:A,categoryName:"Filters",children:(0,zc.jsx)(jc.SearchInput,{type:"text",id:"search-filter-input","aria-label":"filter input value",placeholder:f,value:h,onChange:(e,t)=>m(t),onClear:()=>m(""),onSearch:(e,t)=>(e=>{if(m(e),!d)return;const t={type:d.toLowerCase(),value:e};if(s.includes(t))return;const r=s.concat(t);l(r),w(n,r)})(t)})})]})})}),(0,zc.jsxs)(Fc.TableComposable,{"aria-label":"message table",variant:"compact",isStriped:!0,children:[(0,zc.jsx)(Fc.Thead,{children:(0,zc.jsx)(Fc.Tr,{children:Wc.map((e=>(0,zc.jsx)(Fc.Th,{children:e},e)))})}),(0,zc.jsx)(Fc.Tbody,{isOddStriped:!0,children:b.map((e=>(0,zc.jsxs)(Fc.Tr,{children:[(0,zc.jsx)(Fc.Td,{dataLabel:"URL",children:e.url}),(0,zc.jsx)(Fc.Td,{dataLabel:"Method",children:e.method}),(0,zc.jsx)(Fc.Td,{dataLabel:"Consumes",children:e.consumes}),(0,zc.jsx)(Fc.Td,{dataLabel:"Produces",children:e.produces}),(0,zc.jsx)(Fc.Td,{dataLabel:"Route ID",children:e.routeId})]},e.url+"_"+e.method)))})]})]})]})},Gc=r(52557),Jc=r(96527),Kc=w(r(44914)),Qc=class{constructor(e,t,r,i,n,o,a,s,l,d){this.node=e,this.routeId=t,this.state=r,this.uptime=i,this.exchangesCompleted=n,this.exchangesFailed=o,this.failuresHandled=a,this.exchangesTotal=s,this.exchangesInflight=l,this.meanProcessingTime=d}toArrayForSort(){const{routeId:e,state:t,uptime:r,exchangesCompleted:i,exchangesFailed:n,failuresHandled:o,exchangesTotal:a,exchangesInflight:s,meanProcessingTime:l}=this;return[e,null!=t?t:"",r,i,n,o,a,s,l]}},Yc="start()",Zc="stop()",Xc="remove()",$c=new class{getRoutesAttributes(e){return C(this,null,(function*(){const t=e.getChildren();if(0===t.length)return[];const r=[];for(const e of t)if(e.getType()===Tn){const t=yield this.readRouteAttributes(e);t&&r.push(t)}else if(e.getType()===An){const t=yield this.getRoutesAttributes(e);r.push(...t)}return r}))}readRouteAttributes(e){return C(this,null,(function*(){const{objectName:t}=e;if(!t)return null;const r=yield ei.readAttributes(t);return new Qc(e,r.RouteId,r.State,r.Uptime,r.ExchangesCompleted,r.ExchangesFailed,r.FailuresHandled,r.ExchangesTotal,r.ExchangesInflight,r.MeanProcessingTime)}))}canStartRoute(e){return e.hasInvokeRights(Yc)}startRoute(e){return C(this,null,(function*(){const{objectName:t}=e;t&&(yield ei.execute(t,Yc))}))}canStopRoute(e){return e.hasInvokeRights(Zc)}stopRoute(e){return C(this,null,(function*(){const{objectName:t}=e;t&&(yield ei.execute(t,Zc))}))}canDeleteRoute(e){return e.hasInvokeRights(Xc)}deleteRoute(e){return C(this,null,(function*(){const{objectName:t}=e;t&&(yield ei.execute(t,Xc))}))}},ep=r(74848),tp=()=>{const{selectedNode:e}=(0,Kc.useContext)(ml),[t,r]=(0,Kc.useState)([]),[i,n]=(0,Kc.useState)(!0),[o,a]=(0,Kc.useState)([]),[s,l]=(0,Kc.useState)(!1),[d,c]=(0,Kc.useState)(-1),[p,u]=(0,Kc.useState)("asc");if((0,Kc.useEffect)((()=>{if(!e)return;let t;n(!0);const i=()=>C(void 0,null,(function*(){const o=yield $c.getRoutesAttributes(e);r(o),n(!1),t=setTimeout(i,1e4)}));return i(),()=>t&&clearTimeout(t)}),[e]),!e)return null;if(i)return(0,ep.jsx)(Jt,{});if(0===t.length)return(0,ep.jsx)(Wt,{message:"This context does not have any routes."});d>=0&&t.sort(((e,t)=>cr(e.toArrayForSort()[d],t.toArrayForSort()[d],"desc"===p)));const h=()=>{l(!s)},m=e=>({sortBy:{index:d,direction:p,defaultDirection:"asc"},onSort:(e,t,r)=>{c(t),u(r)},columnIndex:e}),f=()=>C(void 0,null,(function*(){let e=0;for(const r of o){const i=t.find((e=>e.routeId===r&&"Stopped"===e.state));if(i)try{yield $c.deleteRoute(i.node),e++,en.refreshTree()}catch(e){se.notify({type:"danger",message:`Couldn't delete the route: ${e}`})}}e>0&&se.notify({type:"success",message:`${e} routes deleted successfully`}),a([]),r([]),l(!1)})),g=()=>(0,ep.jsxs)(Gc.Modal,{variant:"small",title:"Delete Camel Routes",titleIconVariant:"danger",isOpen:s,onClose:h,actions:[(0,ep.jsx)(Gc.Button,{variant:"danger",onClick:f,children:"Delete"},"delete"),(0,ep.jsx)(Gc.Button,{variant:"link",onClick:h,children:"Cancel"},"cancel")],children:[(0,ep.jsx)("p",{children:"You are about to delete the selected camel routes."}),(0,ep.jsx)("p",{children:"This operation cannot be undone so please be careful."})]});return(0,ep.jsxs)(Kc.default.Fragment,{children:[(0,ep.jsx)(rp,{routes:t,selectedRoutes:o,handleConfirmDeleteToggle:h}),(0,ep.jsxs)(Jc.TableComposable,{id:"camel-routes-table","data-testid":"camel-routes-table","aria-label":"Camel routes table",variant:"compact",children:[(0,ep.jsx)(Jc.Thead,{noWrap:!0,children:(0,ep.jsxs)(Jc.Tr,{children:[(0,ep.jsx)(Jc.Th,{select:{onSelect:(e,r)=>(e=>{const r=t.map((e=>e.routeId));a(e?r:[])})(r),isSelected:o.length===t.length}}),(0,ep.jsx)(Jc.Th,{"data-testid":"name-header",sort:m(0),children:"Name"}),(0,ep.jsx)(Jc.Th,{"data-testid":"state-header",sort:m(1),children:"State"}),(0,ep.jsx)(Jc.Th,{"data-testid":"uptime-header",sort:m(2),children:"Uptime"}),(0,ep.jsx)(Jc.Th,{"data-testid":"completed-header",sort:m(3),children:"Completed"}),(0,ep.jsx)(Jc.Th,{"data-testid":"failed-header",sort:m(4),children:"Failed"}),(0,ep.jsx)(Jc.Th,{"data-testid":"handled-header",sort:m(5),children:"Handled"}),(0,ep.jsx)(Jc.Th,{"data-testid":"total-header",sort:m(6),children:"Total"}),(0,ep.jsx)(Jc.Th,{"data-testid":"inflight-header",sort:m(7),children:"InFlight"}),(0,ep.jsx)(Jc.Th,{"data-testid":"meantime-header",sort:m(8),children:"Meantime"})]})}),(0,ep.jsx)(Jc.Tbody,{children:t.map(((e,t)=>(0,ep.jsxs)(Jc.Tr,{"data-testid":"row"+t,children:[(0,ep.jsx)(Jc.Td,{select:{rowIndex:t,onSelect:(t,r)=>{((e,t)=>{const r=o.filter((t=>e!==t));a(t?[...r,e]:[...r])})(e.routeId,r)},isSelected:o.includes(e.routeId)}}),(0,ep.jsx)(Jc.Td,{dataLabel:"Name",children:e.routeId}),(0,ep.jsx)(Jc.Td,{dataLabel:"State",children:e.state}),(0,ep.jsx)(Jc.Td,{dataLabel:"Uptime",children:e.uptime}),(0,ep.jsx)(Jc.Td,{dataLabel:"Completed",children:e.exchangesCompleted}),(0,ep.jsx)(Jc.Td,{dataLabel:"Failed",children:e.exchangesFailed}),(0,ep.jsx)(Jc.Td,{dataLabel:"Handled",children:e.failuresHandled}),(0,ep.jsx)(Jc.Td,{dataLabel:"Total",children:e.exchangesTotal}),(0,ep.jsx)(Jc.Td,{dataLabel:"InFlight",children:e.exchangesInflight}),(0,ep.jsx)(Jc.Td,{dataLabel:"Meantime",children:e.meanProcessingTime})]},e.routeId)))})]}),(0,ep.jsx)(g,{})]})},rp=({routes:e,selectedRoutes:t,handleConfirmDeleteToggle:r})=>{const{selectedNode:i}=(0,Kc.useContext)(ml),[n,o]=(0,Kc.useState)(!1);if(!i)return null;const a=e[0];if(!a)return null;const s=r=>{let i=!1;return t.forEach((t=>{const n=e.find((e=>e.routeId===t));n&&n.state===r&&(i=!0)})),i},l=(0,ep.jsxs)(Kc.default.Fragment,{children:[(0,ep.jsx)(Gc.ToolbarItem,{children:(0,ep.jsx)(Gc.Button,{variant:"primary",isSmall:!0,isDisabled:!$c.canStartRoute(a.node)||!s("Stopped"),icon:(0,ep.jsx)(Xe,{}),onClick:()=>C(void 0,null,(function*(){let r=0;for(const i of t){const t=e.find((e=>e.routeId===i&&"Stopped"===e.state));if(t)try{yield $c.startRoute(t.node),r++}catch(e){se.notify({type:"danger",message:`Couldn't start the route: ${e}`})}}r>0&&se.notify({type:"success",message:`${r} routes started successfully`})})),children:"Start"})}),(0,ep.jsx)(Gc.ToolbarItem,{children:(0,ep.jsx)(Gc.Button,{variant:"danger",isSmall:!0,isDisabled:!$c.canStopRoute(a.node)||!s("Started"),icon:(0,ep.jsx)(Oe,{}),onClick:()=>C(void 0,null,(function*(){let r=0;for(const i of t){const t=e.find((e=>e.routeId===i&&"Started"===e.state));if(t)try{yield $c.stopRoute(t.node),r++}catch(e){se.notify({type:"danger",message:`Couldn't stop the route: ${e}`})}}r>0&&se.notify({type:"success",message:`${r} routes stopped successfully`})})),children:"Stop"})})]}),d=[(0,ep.jsx)(Gc.DropdownItem,{component:(0,ep.jsxs)(Gc.Button,{variant:"plain",isDisabled:!$c.canDeleteRoute(a.node)||!s("Stopped"),onClick:()=>{r(),o(!1)},children:[(0,ep.jsx)(nt,{})," Delete"]})},"action")];return(0,ep.jsx)(Gc.Toolbar,{id:"camel-routes-toolbar",children:(0,ep.jsxs)(Gc.ToolbarContent,{children:[l,(0,ep.jsx)(Gc.ToolbarItem,{id:"camel-routes-toolbar-item-dropdown",children:(0,ep.jsx)(Gc.Dropdown,{toggle:(0,ep.jsx)(Gc.KebabToggle,{id:"camel-routes-toolbar-item-dropdown-toggle",onToggle:e=>{o(e)}}),isOpen:n,dropdownItems:d,isPlain:!0})})]})})},ip=r(21594),np=r(44914),op=r(74848),ap=()=>{const{selectedNode:e}=(0,np.useContext)(ml),[t,r]=(0,np.useState)("");return(0,np.useEffect)((()=>{const t=null==e?void 0:e.getMetadata("xml");t?r(t):gn.warn("Source - Unable to fetch XML from",e)}),[e]),(0,op.jsx)(ip.CodeEditor,{isReadOnly:!0,code:t,language:ip.Language.xml,height:"500px"})},sp=r(52557),lp=r(96527),dp=w(r(44914)),cp=new class{constructor(){A(this,"handles",[])}register(e,t){return C(this,null,(function*(){const r=yield ei.register(e,t);gn.debug("Register handle:",r),this.handles.push(r)}))}unregisterAll(){gn.debug("Unregister all handles:",this.handles),this.handles.forEach((e=>ei.unregister(e))),this.handles=[]}getTracingBean(e){const t=tl(e);return t&&t.objectName||Is("Could not find the tracing bean"),t}isTracing(e){return C(this,null,(function*(){const t=this.getTracingBean(e);if(!t)return!1;return(yield ei.readAttribute(t.objectName,"Enabled"))||!1}))}setTracing(e,t){return C(this,null,(function*(){const r=this.getTracingBean(e);if(!r)return!1;const i=Ll.loadOptions();return yield ei.writeAttribute(r.objectName,"BodyMaxChars",i.maximumTraceOrDebugBodyLength),yield ei.writeAttribute(r.objectName,"BodyIncludeStreams",i.traceOrDebugIncludeStreams),yield ei.writeAttribute(r.objectName,"BodyIncludeFiles",i.traceOrDebugIncludeStreams),yield ei.execute(r.objectName,"setEnabled",[t]),yield this.isTracing(e)}))}getTracedMessages(e){return C(this,null,(function*(){const t=this.getTracingBean(e);return t?yield ei.execute(t.objectName,"dumpAllTracedMessagesAsXml()"):""}))}},pp=r(74848),up=()=>{const{selectedNode:e}=(0,dp.useContext)(ml),{graphNodeData:t,setGraphNodeData:r,graphSelection:i,setGraphSelection:n,setShowStatistics:o}=Hl(),[a,s]=(0,dp.useState)(!0),[l,d]=(0,dp.useState)(!1),c=(0,dp.useRef)([]),[p,u]=(0,dp.useState)(),[h,m]=dp.default.useState(!1),f=e=>{c.current=e},g=(0,dp.useCallback)(((e,t)=>{if(gn.debug("Populating response",e),!e)return;const r=cn(e);let i=r.getElementsByTagName("fabricTracerEventMessage");if(i&&i.length||(i=r.getElementsByTagName("backlogTracerEventMessage")),0===i.length)return;const n=[];for(let e=i.length-1;e>=0;--e){const r=i[e];if(!r)continue;if(un(r,"routeId")!==t.name)continue;const o=Zl.createMessageFromXml(r);if(!o)continue;const a=un(r,"toNode");a&&(o.toNode=a),n.push(o)}const o=[...n,...c.current];o.length>500&&o.splice(500),f(o)}),[]),b=(0,dp.useCallback)((t=>C(void 0,null,(function*(){if(!e)return;cp.unregisterAll(),d(t),yield cp.setTracing(e,t);const r=cp.getTracingBean(e);r&&(t?cp.register({type:"exec",mbean:r.objectName,operation:"dumpAllTracedMessagesAsXml()"},(t=>{gn.debug("Scheduler - Debug:",t.value),g(null==t?void 0:t.value,e)})):(f([]),cp.unregisterAll()))}))),[e,g]);if((0,dp.useEffect)((()=>{e&&(s(!0),cp.isTracing(e).then((t=>{cp.getTracedMessages(e).then((t=>g(t,e))),b(t),s(!1)})))}),[e,b,g]),!e)return(0,pp.jsx)(Wt,{message:"No selection has been made."});if(a)return(0,pp.jsx)(Jt,{});const y=()=>{m(!h)};return(0,pp.jsxs)(sp.Card,{isFullHeight:!0,children:[(0,pp.jsxs)(sp.CardHeader,{children:[(0,pp.jsx)(sp.CardTitle,{children:"Tracing"}),(0,pp.jsx)(sp.CardActions,{children:(0,pp.jsx)(sp.Button,{variant:"primary",isSmall:!0,icon:l?dp.default.createElement(qe):dp.default.createElement(Xe),onClick:()=>C(void 0,null,(function*(){b(!l)})),isDisabled:!ol(e),children:l?"Stop Tracing":"Start Tracing"})})]}),(0,pp.jsxs)(sp.CardBody,{children:[!l&&(0,pp.jsxs)(dp.default.Fragment,{children:[(0,pp.jsx)(sp.Text,{className:"noTracing","data-testid":"no-tracing",component:"p",children:"Tracing allows you to send messages to a route and then step through and see the messages flow through a route to aid debugging and to help diagnose issues."}),(0,pp.jsx)(sp.Text,{className:"noTracing","data-testid":"no-tracing",component:"p",children:"Once you start tracing, you can send messages to the input endpoints, then come back to this page and see the flow of messages through your route."}),(0,pp.jsx)(sp.Text,{className:"noTracing","data-testid":"no-tracing",component:"p",children:"As you click on the message table, you can see which node in the flow it came through; moving the selection up and down in the message table lets you see the flow of the message through the diagram."})]}),l&&(0,pp.jsxs)(dp.default.Fragment,{children:[(0,pp.jsx)(sp.Panel,{id:"route-diagram-tracing-view",isScrollable:!0,variant:"raised",children:(0,pp.jsx)(sp.PanelMain,{children:(0,pp.jsx)(sp.PanelMainBody,{children:(0,pp.jsx)(Vl.Provider,{value:{graphNodeData:t,setGraphNodeData:r,graphSelection:i,setGraphSelection:n,setShowStatistics:o},children:(0,pp.jsx)(Jl,{})})})})}),(0,pp.jsx)(nd,{messages:p?[p]:[],expanded:h,setExpanded:m,children:(0,pp.jsxs)(sp.Panel,{id:"route-message-table",isScrollable:!0,variant:"raised",children:[(0,pp.jsx)(sp.PanelHeader,{children:"Messages"}),(0,pp.jsx)(sp.Divider,{}),(0,pp.jsx)(sp.PanelMain,{children:(0,pp.jsx)(sp.PanelMainBody,{children:(0,pp.jsxs)(lp.TableComposable,{"aria-label":"message table",variant:"compact",isStriped:!0,children:[(0,pp.jsx)(lp.Thead,{children:(0,pp.jsxs)(lp.Tr,{children:[(0,pp.jsx)(lp.Th,{children:"ID"}),(0,pp.jsx)(lp.Th,{children:"To Node"})]})}),(0,pp.jsx)(lp.Tbody,{isOddStriped:!0,children:c.current.map((r=>{return(0,pp.jsxs)(lp.Tr,{onRowClick:()=>(r=>{let i=r.toNode?r.toNode:"";const o=t[0];i===(null==e?void 0:e.name)&&o&&(i=o.cid),u(r),n(i)})(r),isRowSelected:(i=r,i.uid===(null==p?void 0:p.uid)),children:[(0,pp.jsx)(lp.Td,{dataLabel:"ID",children:(0,pp.jsx)(sp.Button,{variant:"link",isDisabled:!r,onClick:y,children:r.headers.breadcrumbId?r.headers.breadcrumbId:r.uid})}),(0,pp.jsx)(lp.Td,{dataLabel:"ToNode",children:r.toNode})]},r.uid);var i}))})]})})})]})})]})]})]})},hp=r(52557),mp=r(52557),fp=w(r(44914)),gp=class{constructor(){A(this,"attemptCounter"),A(this,"hitCounter"),A(this,"missCounter"),A(this,"failedCounter"),this.attemptCounter=0,this.hitCounter=0,this.missCounter=0,this.failedCounter=0}};function bp(e){const t=Ls(e);if(!t)return null;const r=t.navigate(Pn,"services","*TypeConverter");return r?r.objectName:null}var yp=r(74848),vp=()=>{const{selectedNode:e}=(0,fp.useContext)(ml),[t,r]=(0,fp.useState)(!0),[i,n]=(0,fp.useState)(new gp),[o,a]=(0,fp.useState)(!1),s=e=>o?`${e}`:"-";return(0,fp.useEffect)((()=>{r(!0),C(void 0,null,(function*(){const t=yield function(e){return C(this,null,(function*(){if(!e)return!1;const t=bp(e);return t?yield ei.readAttribute(t,"StatisticsEnabled"):Promise.reject()}))}(e);a(t),r(!1)}))}),[e]),(0,fp.useEffect)((()=>{if(!o)return;let t;const r=()=>C(void 0,null,(function*(){try{if(o){const t=yield function(e){return C(this,null,(function*(){const t=new gp;if(!e)return t;const r=bp(e);if(!r)return t;const i=yield ei.readAttributes(r);return t.attemptCounter=i.AttemptCounter,t.hitCounter=i.HitCounter,t.missCounter=i.MissCounter,t.failedCounter=i.FailedCounter,t}))}(e);n(t)}t=setTimeout(r,1e4)}catch(e){se.notify({type:"warning",message:e})}}));return r(),()=>{clearTimeout(t)}}),[e,o]),e?t?(0,yp.jsx)(Jt,{}):(0,yp.jsxs)(fp.default.Fragment,{children:[(0,yp.jsx)(mp.Toolbar,{"data-testid":"stats-view-toolbar",id:"toolbar-items",children:(0,yp.jsxs)(mp.ToolbarContent,{children:[(0,yp.jsx)(mp.ToolbarItem,{children:(0,yp.jsx)(mp.Button,{variant:"secondary",isSmall:!0,icon:fp.default.createElement(lt),onClick:()=>{(function(e,t){return C(this,null,(function*(){const r=bp(e);return r?ei.writeAttribute(r,"StatisticsEnabled",t):Promise.reject()}))})(e,!o).then((e=>{a(!o)}))},children:o?"Disable Statistics":"Enable Statistics"})}),(0,yp.jsx)(mp.ToolbarItem,{children:(0,yp.jsx)(mp.Button,{variant:"secondary",isSmall:!0,isDisabled:!o,icon:fp.default.createElement(it),onClick:()=>{n(new gp),function(e){C(this,null,(function*(){const t=bp(e);return!!t&&(yield ei.execute(t,"resetTypeConversionCounters"))}))}(e)},children:"Reset Statistics"})}),(0,yp.jsx)(mp.ToolbarItem,{variant:"separator"})]})}),(0,yp.jsxs)(mp.DescriptionList,{isHorizontal:!0,isCompact:!0,className:"camel-type-converters-statistics","data-testid":"stats-view-list",children:[(0,yp.jsxs)(mp.DescriptionListGroup,{children:[(0,yp.jsx)(mp.DescriptionListTerm,{children:"Attempts"}),(0,yp.jsx)(mp.DescriptionListDescription,{"data-testid":"attemptCounter",children:s(i.attemptCounter)})]}),(0,yp.jsxs)(mp.DescriptionListGroup,{children:[(0,yp.jsx)(mp.DescriptionListTerm,{children:"Hits"}),(0,yp.jsx)(mp.DescriptionListDescription,{"data-testid":"hitCounter",children:s(i.hitCounter)})]}),(0,yp.jsxs)(mp.DescriptionListGroup,{children:[(0,yp.jsx)(mp.DescriptionListTerm,{children:"Misses"}),(0,yp.jsx)(mp.DescriptionListDescription,{"data-testid":"missesCounter",children:s(i.missCounter)})]}),(0,yp.jsxs)(mp.DescriptionListGroup,{children:[(0,yp.jsx)(mp.DescriptionListTerm,{children:"Failures"}),(0,yp.jsx)(mp.DescriptionListDescription,{"data-testid":"failedCounter",children:s(i.failedCounter)})]})]})]}):(0,yp.jsx)(Wt,{message:"No statistics available.",testid:"no-stats-available"})},wp=r(74848),Ap=()=>(0,wp.jsxs)(hp.Card,{isFullHeight:!0,children:[(0,wp.jsx)(hp.CardTitle,{children:"Type Converters"}),(0,wp.jsx)(hp.CardBody,{children:(0,wp.jsx)(vp,{})})]}),Cp=r(74848),kp=()=>{var e,t;const{selectedNode:r}=(0,an.useContext)(ml),i=Hl(),{pathname:n,search:o}=(0,sn.useLocation)();if(!r)return(0,Cp.jsx)(on.PageSection,{variant:on.PageSectionVariants.light,isFilled:!0,children:(0,Cp.jsxs)(on.EmptyState,{variant:on.EmptyStateVariant.full,children:[(0,Cp.jsx)(on.EmptyStateIcon,{icon:Fe}),(0,Cp.jsx)(on.Title,{headingLevel:"h1",size:"lg",children:"Select Camel Node"})]})});const a=e=>Bs(e)&&!qs(e)&&!js(e)&&!Hs(e),s=[{id:"attributes",title:"Attributes",component:(0,Cp.jsx)(si,{}),isApplicable:a},{id:"operations",title:"Operations",component:(0,Cp.jsx)(Hi,{}),isApplicable:a},{id:"contexts",title:"Contexts",component:(0,Cp.jsx)(Il,{}),isApplicable:qs},{id:"routes",title:"Routes",component:(0,Cp.jsx)(tp,{}),isApplicable:js},{id:"endpoints",title:"Endpoints",component:(0,Cp.jsx)(Pd,{}),isApplicable:Vs},{id:"routeDiagram",title:"Route Diagram",component:(0,Cp.jsx)(Vl.Provider,{value:i,children:(0,Cp.jsx)(Jl,{})}),isApplicable:Js},{id:"source",title:"Source",component:(0,Cp.jsx)(ap,{}),isApplicable:Ks},{id:"properties",title:"Properties",component:(0,Cp.jsx)(Lc,{}),isApplicable:ll},{id:"send",title:"Send",component:(0,Cp.jsx)(rc,{}),isApplicable:Qs},{id:"browse",title:"Browse",component:(0,Cp.jsx)(Fd,{}),isApplicable:Ys},{id:"endpoint-stats",title:"Endpoints (in/out)",component:(0,Cp.jsx)(Qd,{}),isApplicable:Zs},{id:"exchanges",title:"Exchanges",component:(0,Cp.jsx)(wc,{}),isApplicable:$s},{id:"rest-services",title:"Rest Services",component:(0,Cp.jsx)(Uc,{}),isApplicable:sl},{id:"type-converters",title:"Type Converters",component:(0,Cp.jsx)(Ap,{}),isApplicable:el},{id:"chart",title:"Chart",component:(0,Cp.jsx)(ki,{}),isApplicable:a},{id:"profile",title:"Profile",component:(0,Cp.jsx)(Tc,{}),isApplicable:ol},{id:"trace",title:"Trace",component:(0,Cp.jsx)(up,{}),isApplicable:ol},{id:"debug",title:"Debug",component:(0,Cp.jsx)(ad,{}),isApplicable:nl}].filter((e=>e.isApplicable(r))),l=(0,Cp.jsx)(on.Nav,{"aria-label":"Camel Nav",variant:"tertiary",children:(0,Cp.jsx)(on.NavList,{children:s.map((e=>(0,Cp.jsx)(on.NavItem,{isActive:n===`${mn}/${e.id}`,children:(0,Cp.jsx)(sn.NavLink,{to:{pathname:e.id,search:o},children:e.title})},e.id)))})}),d=s.map((e=>(0,Cp.jsx)(sn.Route,{path:e.id,element:e.component},e.id)));return(0,Cp.jsxs)(an.default.Fragment,{children:[(0,Cp.jsxs)(on.PageGroup,{children:[(0,Cp.jsxs)(on.PageSection,{id:"camel-content-header",variant:on.PageSectionVariants.light,children:[Ns(r)&&(0,Cp.jsx)(xp,{}),(0,Cp.jsx)(on.Title,{headingLevel:"h1",children:r.name}),r.objectName&&(0,Cp.jsx)(on.Text,{component:"small",children:r.objectName})]}),s.length>1&&(0,Cp.jsx)(on.PageNavigation,{children:l})]}),(0,Cp.jsxs)(on.PageSection,{id:"camel-content-main",children:[s.length>0&&(0,Cp.jsxs)(sn.Routes,{children:[d,(0,Cp.jsx)(sn.Route,{path:"/",element:(0,Cp.jsx)(sn.Navigate,{to:null!=(t=null==(e=s[0])?void 0:e.id)?t:""})},"root")]}),0===s.length&&!r.objectName&&(0,Cp.jsx)(tr,{})]})]})},xp=()=>{const{selectedNode:e,setSelectedNode:t}=(0,an.useContext)(ml),[r,i]=(0,an.useState)(null),n=(0,sn.useNavigate)();return(0,an.useEffect)((()=>{if(!e||!e.objectName||!Ns(e))return;const{objectName:t}=e;return C(void 0,null,(function*(){const r=yield Sl.getContext(e);r&&i(r),Sl.register({type:"read",mbean:t},(t=>{gn.debug("Scheduler - Contexts:",t.value);const r=t.value,n=Sl.toContextState(e,r);n&&i(n)}))})),()=>Sl.unregisterAll()}),[e]),(0,Cp.jsx)(El,{contexts:r?[r]:[],deleteCallback:()=>{t(null),n("jmx"),se.notify({type:"warning",message:"No Camel domain detected. Redirecting to back to JMX."})}})},Sp=r(52557),Tp=r(44914),Ep=r(78765),_p=r(74848),Ip=()=>{const{tree:e,selectedNode:t,setSelectedNode:r}=(0,Tp.useContext)(ml),[i,n]=(0,Tp.useState)(0),o=(0,Ep.useNavigate)(),[a,s]=(0,Tp.useState)(e.getTree());return(0,Tp.useEffect)((()=>{s(e.getTree())}),[e]),(0,_p.jsx)(Sp.TreeView,g(f({id:"camel-tree-view",data:a,hasGuides:!0,onSelect:(e,t)=>{r(t),o(mn)},hasSelectableNodes:!0,activeItems:t?[t]:[]},(()=>{switch(i){case 1:return{allExpanded:!0};case 2:return{allExpanded:!1};default:return{}}})()),{toolbar:(0,_p.jsx)(or,{onSearch:t=>{r(null),n(0);const i=t.target.value;""===i?s(e.getTree()):(s(Xi.filter(e.getTree(),(e=>e.name.toLowerCase().includes(i.toLowerCase())))),n(1))},onSetExpanded:e=>{n(e?1:2)}})}))},Pp=r(74848),Mp=()=>{const{tree:e,loaded:t,selectedNode:r,setSelectedNode:i}=function(){const[e,t]=(0,ul.useState)(Xi.createEmpty(fn)),[r,i]=(0,ul.useState)(!1),{selectedNode:n,setSelectedNode:o}=(0,ul.useContext)($t),a=(0,hl.useNavigate)(),s=(0,ul.useRef)();s.current=n;const l=()=>C(this,null,(function*(){var e,r;const i=yield en.getTree(),n=i.find((e=>e.name===hn));if(n&&n.children&&n.children.length>0){const i=n.getChildren()[0];if(!i)return;const l=Xi.createFromNodes(fn,i.getChildren());t(l);const d=[];s.current&&Ds(s.current)&&!Os(s.current)?d.push(...s.current.path()):d.push(...i.path());const c=null==(e=n.children[0])?void 0:e.children;c&&c[0]&&(c[0].defaultExpanded=!0,null==(r=c[0].children)||r.forEach((e=>{switch(e.name){case"routes":case"endpoints":case"components":e.defaultExpanded=!0}}))),n.forEach(d,(e=>{e.defaultExpanded=!0}));const p=n.navigate(...d);p&&o(p),a(mn)}else t(i),a("jmx"),se.notify({type:"warning",message:"No Camel domain detected in target. Redirecting to back to jmx."})}));return(0,ul.useEffect)((()=>{const e=()=>C(this,null,(function*(){yield l(),i(!0)})),t=()=>{i(!1),e()};return se.onRefresh(t),e(),()=>se.removeListener(oe,t)}),[]),{tree:e,loaded:r,selectedNode:n,setSelectedNode:o}}();return t?e.isEmpty()?(0,Pp.jsx)(rn.PageSection,{variant:rn.PageSectionVariants.light,children:(0,Pp.jsxs)(rn.EmptyState,{variant:rn.EmptyStateVariant.full,children:[(0,Pp.jsx)(rn.EmptyStateIcon,{icon:Fe}),(0,Pp.jsx)(rn.Title,{headingLevel:"h1",size:"lg",children:"No Camel Contexts found"})]})}):(0,Pp.jsx)(ml.Provider,{value:{tree:e,selectedNode:r,setSelectedNode:i},children:(0,Pp.jsxs)(nn.default,{className:"camel-split",sizes:[25,75],minSize:200,gutterSize:5,children:[(0,Pp.jsx)("div",{children:(0,Pp.jsx)(Ip,{})}),(0,Pp.jsx)("div",{children:(0,Pp.jsx)(kp,{})})]})}):(0,Pp.jsx)(rn.PageSection,{children:(0,Pp.jsx)(rn.Spinner,{isSVG:!0,"aria-label":"Loading Camel Contexts tree"})})},Rp=r(52557),Dp=r(74848),Bp=({tooltip:e})=>(0,Dp.jsx)(Rp.Icon,{size:"md",children:(0,Dp.jsx)(Rp.Tooltip,{content:e,removeFindDomNode:!0,children:(0,Dp.jsx)(Ue,{})})}),Op=r(52557),qp=r(44914),Np=r(74848),Lp=()=>{const[e,t]=(0,qp.useState)(Ll.loadOptions()),r=(r,i)=>{const n=f(f({},e),{[r]:i});Ll.saveOptions(n),t(n)},i=e=>t=>{const i=parseInt(t);i&&r(e,i)},n=e=>t=>{r(e,t)};return(0,Np.jsx)(Op.CardBody,{children:(0,Np.jsxs)(Op.Form,{isHorizontal:!0,children:[(0,Np.jsxs)(Op.FormSection,{title:"Route diagram",titleElement:"h2",children:[(0,Np.jsx)(Op.FormGroup,{hasNoPaddingTop:!0,label:"Maximum label width",fieldId:"camel-form-maximum-label-width",labelIcon:(0,Np.jsx)(Bp,{tooltip:"The maximum length of a label in Camel diagrams before it is clipped"}),children:(0,Np.jsx)(Op.TextInput,{id:"camel-form-maximum-label-width-input",type:"number",value:e.maximumLabelWidth,onChange:i("maximumLabelWidth")})}),(0,Np.jsx)(Op.FormGroup,{hasNoPaddingTop:!0,label:"Ignore ID for label",fieldId:"camel-form-ignore-id-for-label",labelIcon:(0,Np.jsx)(Bp,{tooltip:"If enabled then we will ignore the ID value when viewing a pattern in a Camel diagram; otherwise we will use the ID value as the label (the tooltip will show the actual detail)"}),children:(0,Np.jsx)(Op.Checkbox,{id:"camel-form-ignore-id-for-label-input",isChecked:e.ignoreIdForLabel,onChange:n("ignoreIdForLabel")})}),(0,Np.jsx)(Op.FormGroup,{hasNoPaddingTop:!0,label:"Show inflight counter",fieldId:"camel-show-inflight-counter",labelIcon:(0,Np.jsx)(Bp,{tooltip:"Whether to show inflight counter in route diagram"}),children:(0,Np.jsx)(Op.Checkbox,{id:"camel-show-inflight-counter-input",isChecked:e.showInflightCounter,onChange:n("showInflightCounter")})})]}),(0,Np.jsxs)(Op.FormSection,{title:"Trace / debug",titleElement:"h2",children:[(0,Np.jsx)(Op.FormGroup,{hasNoPaddingTop:!0,label:"Include streams",fieldId:"camel-form-include-streams",labelIcon:(0,Np.jsx)(Bp,{tooltip:"Whether to include stream based message body when using the tracer and debugger"}),children:(0,Np.jsx)(Op.Checkbox,{id:"camel-form-include-streams-input",isChecked:e.traceOrDebugIncludeStreams,onChange:n("traceOrDebugIncludeStreams")})}),(0,Np.jsx)(Op.FormGroup,{hasNoPaddingTop:!0,label:"Maximum body length",fieldId:"camel-form-maximum-body-length",labelIcon:(0,Np.jsx)(Bp,{tooltip:"The maximum length of the body before its clipped when using the tracer and debugger"}),children:(0,Np.jsx)(Op.TextInput,{id:"camel-form-maximum-body-length-input",type:"number",value:e.maximumTraceOrDebugBodyLength,onChange:i("maximumTraceOrDebugBodyLength")})})]})]})})};function jp(e,t,r,i){var n;e.adopt(t),t.setIcons(i),Ns(e)&&t.addMetadata(Sn,null!=(n=e.objectName)?n:""),t.setType(r),Rs(t)}function Fp(e,t){e.getChildren().forEach((e=>{e.setIcons(t)}))}function Hp(e){let t=!1;for(const r of e.getChildren())if(r.getMetadata("group")){t=!0;break}if(!t)return;const r=Ss(xs.CamelRouteIcon),i=[...e.getChildren()];for(const t of i){if(t.getType()===An)continue;const i=t.getMetadata("group");let n;n=i?e.getOrCreate(i,!0):e.getOrCreate("default",!0),n.setType(An),Rs(n),jp(n,t,Tn,r)}Fp(e,r)}var Vp=e=>C(void 0,null,(function*(){var t;const r=e.get(hn);if(!r)return;r.setIcons(Ss(xs.CamelIcon)),r.setType(yn),Rs(r);const i=r.removeChildren(),n=r.getOrCreate(bn,!0);n.setIcons(Ss(xs.CamelIcon)),n.addMetadata("class","org-apache-camel-context-folder"),n.addMetadata("key",bn),n.addMetadata("name",bn),n.setType(vn),Rs(n);for(const e of i){const r=e.get(Sn,!0);let i=null;if(r&&1===r.childCount()&&(i=r.getIndex(0)),!i)return;i.setType(Sn),Rs(i),yield cl(i),i.setIcons(Ss(xs.CamelIcon));const o=Ss(xs.EndpointsFolderIcon),a=Ss(xs.EndpointsNodeIcon),s=Ss(xs.CamelRouteIcon),l=e.get(wn,!0);l&&(jp(i,l,wn,o),Fp(l,s),Ms(l,Tn),l.addMetadata(Sn,null!=(t=i.objectName)?t:""),yield _s.loadRoutesXml(i,l),Hp(l));const d=e.get(Cn,!0);d&&(jp(i,d,Cn,o),Fp(d,a),Ms(d,_n));const c=e.get(kn,!0);c&&(jp(i,c,kn,o),Fp(c,a),Ms(c,In));const p=e.get(xn,!0);p&&jp(i,p,xn,o);const u=i.getOrCreate(Pn,!0);u.setType(Pn),Rs(u);const h=new Set([Sn,wn,Cn,kn,xn]);e.getChildren().filter((e=>!h.has(e.name))).forEach((e=>u.adopt(e))),u.sort(!1),n.adopt(i),n.initId(!0)}})),zp=()=>{pe.addPlugin({id:"camel",title:"Camel",path:mn,order:12,component:Mp,isActive:()=>C(void 0,null,(function*(){return en.treeContainsDomainAndProperties(hn)}))}),Zi.add("camel",Vp),kt.add("camel","Camel","## Camel\n\nClick [Camel](camel/contexts) in the top navigation bar to view all the running Camel Contexts in the current JVM. (The selection will not appear on the navigation bar if there is no Camel running).\n\nThe Camel plugin allows you to view all the running Camel applications in the current JVM.\nYou can among others see the following details:\n\n- Lists of all running Camel applications\n- Detailed information of each Camel Context such as Camel version number, runtime statics\n- Lists of all routes in each Camel applications and their runtime statistics\n- Manage the lifecycle of all Camel applications and their routes, so you can restart / stop / pause / resume, etc.\n- Graphical representation of the running routes along with real time metrics\n- Live tracing and debugging of running routes\n- Profile the running routes with real time runtime statics; detailed specified per processor\n- Browsing and sending messages to Camel endpoint\n",12),tn.add("camel","Camel",Lp,12),gn.info("Using Camel versions:",[ln.apacheCamelModelVersion,dn.apacheCamelModelVersion])},Wp=r(52557),Up=w(r(44914)),Gp=r(78765),Jp=r(44914),Kp="ADD",Qp="UPDATE",Yp="DELETE",Zp="IMPORT",Xp="RESET";function $p(e,t){return e[t.name]?e:g(f({},e),{[t.name]:t})}function eu(e,t){switch(t.type){case Kp:{const{connection:r}=t;return $p(e,r)}case Qp:{const{name:r,connection:i}=t;return function(e,t,r){return t===r.name?e[r.name]?g(f({},e),{[r.name]:r}):e:e[r.name]?e:Object.fromEntries(Object.entries(e).map((([e,i])=>e===t?[r.name,r]:[e,i])))}(e,r,i)}case Yp:{const{name:r}=t;return function(e,t){const r=f({},e);return delete r[t],r}(e,r)}case Zp:{const{connections:r}=t;return r.reduce(((e,t)=>$p(e,t)),e)}case Xp:return{};default:return e}}function tu(){const[e,t]=(0,Jp.useReducer)(eu,Hr.loadConnections());return(0,Jp.useEffect)((()=>{Hr.saveConnections(e)}),[e]),{connections:e,dispatch:t}}var ru=(0,Jp.createContext)({connections:{},dispatch:()=>{}}),iu=r(52557),nu=w(r(44914)),ou="connect",au="Connect",su="/connect",lu=N.get("hawtio-connect"),du="proxy/enabled",cu=new class{hasDiscoveryMBean(){return en.treeContainsDomainAndProperties("jolokia",{type:"Discovery"})}hasLocalMBean(){return en.treeContainsDomainAndProperties("hawtio",{type:"JVMList"})}discoverAgents(){return C(this,null,(function*(){const e=(yield en.findMBeans("jolokia",{type:"Discovery"}))[0];if(!(null==e?void 0:e.objectName))return[];const t=yield ei.execute(e.objectName,"lookupAgentsWithTimeout(int)",[1e4]);return yield this.fetchMoreJvmDetails(t),t}))}listJvms(){return C(this,null,(function*(){const e=(yield en.findMBeans("hawtio",{type:"JVMList"}))[0];return(null==e?void 0:e.objectName)?yield ei.execute(e.objectName,"listLocalJVMs()"):[]}))}fetchMoreJvmDetails(e){return C(this,null,(function*(){for(const t of e){if(!t.url||t.secured)continue;const e=Hr.createJolokia(this.agentToConnection(t));t.startTime=e.getAttribute("java.lang:type=Runtime","StartTime"),this.hasName(t)||(t.command=e.getAttribute("java.lang:type=Runtime","SystemProperties","sun.java.command"))}}))}hasName(e){return[e.server_vendor,e.server_product,e.server_version].every((e=>!E(e)))}agentToConnection(e){var t;const r=g(f({},Br),{name:null!=(t=e.agent_description)?t:`discover-${e.agent_id}`});if(!e.url)return lu.warn("No URL available to connect to agent:",e),r;const i=new URL(e.url);return r.scheme=this.schemeFromUrl(i),r.host=i.hostname,r.port=parseInt(i.port),r.path=i.pathname,lu.debug("Discover - connection from agent:",r),r}schemeFromUrl(e){const t=e.protocol.substring(0,e.protocol.length-1);return"http"===t||"https"===t?t:"http"}jvmToConnection(e){const t=g(f({},Br),{name:`local-${e.port}`});return e.scheme&&e.hostname&&0!==e.port&&e.path?(t.scheme="http"===e.scheme||"https"===e.scheme?e.scheme:"http",t.host=e.hostname,t.port=e.port,t.path=e.path,lu.debug("Discover - connection from JVM:",t),t):(lu.warn("Lack of information to connect to JVM:",e),t)}isConnectable(e){return[e.scheme,e.hostname,e.path].every((e=>e&&!E(e)))&&0!==e.port}stopAgent(e){return C(this,null,(function*(){const t=(yield en.findMBeans("hawtio",{type:"JVMList"}))[0];(null==t?void 0:t.objectName)&&(lu.debug("Discover - stop JVM agent:",t,e),yield ei.execute(t.objectName,"stopAgent(java.lang.String)",[e]))}))}startAgent(e){return C(this,null,(function*(){const t=(yield en.findMBeans("hawtio",{type:"JVMList"}))[0];(null==t?void 0:t.objectName)&&(lu.debug("Discover - start JVM agent:",t,e),yield ei.execute(t.objectName,"startAgent(java.lang.String)",[e]))}))}},pu=r(74848),uu=()=>{const{connections:e,dispatch:t}=(0,nu.useContext)(ru),[r,i]=(0,nu.useState)(!1),[n,o]=(0,nu.useState)(!1),[a,s]=(0,nu.useState)(!0),[l,d]=(0,nu.useState)([]),[c,p]=(0,nu.useState)([]),[u,h]=(0,nu.useState)(""),[m,f]=(0,nu.useState)("Agent"),[g,b]=(0,nu.useState)(!1),[y,v]=(0,nu.useState)([]),[w,A]=(0,nu.useState)([]);if((0,nu.useEffect)((()=>{C(void 0,null,(function*(){const e=yield cu.hasDiscoveryMBean();i(e);const t=yield cu.hasLocalMBean();o(t),!e&&t&&f("JVM"),e||t||s(!1)}))}),[]),(0,nu.useEffect)((()=>{a&&C(void 0,null,(function*(){const e=yield cu.discoverAgents();lu.debug("Discover - agents:",e),d(e),v(e);const t=yield cu.listJvms();lu.debug("Discover - JVMs:",t),p(t),A(t),s(!1)}))}),[a]),!r&&!n)return(0,pu.jsx)(Wt,{message:"Agent discovery is not available"});if(a)return(0,pu.jsx)(Jt,{message:"Please wait, discovering agents..."});const k=(e=!1)=>{d([]),v([]),p([]),A([]),e?setTimeout((()=>s(!0)),100):s(!0)},x=r=>{lu.debug("Discover - connect to:",r),e[r.name]?t({type:Qp,name:r.name,connection:r}):t({type:Kp,connection:r}),Hr.connect(r)},S=(0,pu.jsx)(iu.Toolbar,{id:"connect-discover-toolbar",children:(0,pu.jsxs)(iu.ToolbarContent,{children:[(0,pu.jsxs)(iu.ToolbarGroup,{id:"connect-discover-toolbar-filters",children:[(0,pu.jsx)(iu.ToolbarItem,{id:"connect-discover-toolbar-label",children:(0,pu.jsxs)(iu.Select,{id:"connect-discover-toolbar-label-select",variant:"single","aria-label":"Filter Label",selections:m,isOpen:g,onToggle:()=>b(!g),onSelect:(e,t)=>{f(t),b(!g)},children:[(0,pu.jsx)(iu.SelectOption,{value:"Agent",isDisabled:!r},"agent"),(0,pu.jsx)(iu.SelectOption,{value:"JVM",isDisabled:!n},"jvm")]})}),(0,pu.jsx)(iu.ToolbarItem,{id:"connect-discover-toolbar-filter",children:(0,pu.jsx)(iu.SearchInput,{id:"connect-discover-toolbar-filter-input","aria-label":"Filter Agents",placeholder:"Filter by text...",value:u,onChange:(e,t)=>h(t),onSearch:()=>{const e=e=>"string"==typeof e&&e.toLowerCase().includes(u.toLowerCase()),t=l.filter((t=>Object.values(t).some(e)));v(t);const r=c.filter((t=>Object.values(t).some(e)));A(r),lu.debug("Discover - apply filter:",u,"agents:",t,"JVMs:",r)},onClear:()=>{h(""),v(l),A(c)}})})]}),(0,pu.jsx)(iu.ToolbarItem,{variant:"separator"}),(0,pu.jsx)(iu.ToolbarItem,{children:(0,pu.jsx)(iu.Button,{variant:"secondary",onClick:()=>k(!0),isSmall:!0,children:"Refresh"})})]})});return(0,pu.jsxs)(nu.default.Fragment,{children:[(0,pu.jsx)(iu.Card,{style:{marginBottom:"1rem"},children:S}),(0,pu.jsxs)(iu.Gallery,{hasGutter:!0,minWidths:{default:"400px"},children:["Agent"===m&&y.map(((e,t)=>(0,pu.jsx)(mu,{agent:e,connect:x},`agent-${t}-${e.agent_id}`))),"JVM"===m&&w.map(((e,t)=>(0,pu.jsx)(fu,{jvm:e,connect:x,refresh:k},`jvm-${t}-${e.id}`)))]})]})},hu={jetty:'data:image/svg+xml,%0A\x3c!-- Created with Inkscape (http://www.inkscape.org/) --\x3e%0A%0A%0A',tomcat:'data:image/svg+xml,',generic:'data:image/svg+xml,%0A'},mu=({agent:e,connect:t})=>{const r=cu.hasName(e)?`${e.server_vendor} ${e.server_product} ${e.server_version}`:(0,pu.jsx)(iu.Text,{component:"pre",children:e.command});return(0,pu.jsxs)(iu.Card,{isCompact:!0,id:`connect-discover-agent-card-${e.agent_id}`,children:[(0,pu.jsxs)(iu.CardHeader,{children:[(0,pu.jsx)("img",{src:(i=e,null!=(a=hu[null!=(o=null==(n=i.server_product)?void 0:n.toLowerCase())?o:"generic"])?a:hu.generic),alt:e.server_product,style:{maxWidth:"30px",paddingRight:"0.5rem"}}),(0,pu.jsx)(iu.CardTitle,{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:r}),(0,pu.jsx)(iu.CardActions,{children:(0,pu.jsx)(iu.Label,{color:"blue",children:"Agent"})})]}),(0,pu.jsx)(iu.CardBody,{children:(0,pu.jsxs)(iu.DescriptionList,{isCompact:!0,isHorizontal:!0,children:[(0,pu.jsxs)(iu.DescriptionListGroup,{children:[(0,pu.jsx)(iu.DescriptionListTerm,{children:"Agent ID"}),(0,pu.jsx)(iu.DescriptionListDescription,{children:e.agent_id})]}),(0,pu.jsxs)(iu.DescriptionListGroup,{children:[(0,pu.jsx)(iu.DescriptionListTerm,{children:"Agent Version"}),(0,pu.jsx)(iu.DescriptionListDescription,{children:e.agent_version})]}),(0,pu.jsxs)(iu.DescriptionListGroup,{children:[(0,pu.jsx)(iu.DescriptionListTerm,{children:"Agent Description"}),(0,pu.jsx)(iu.DescriptionListDescription,{children:e.agent_description})]}),e.startTime&&(0,pu.jsxs)(iu.DescriptionListGroup,{children:[(0,pu.jsx)(iu.DescriptionListTerm,{children:"JVM Started"}),(0,pu.jsx)(iu.DescriptionListDescription,{children:_e(new Date(e.startTime))})]}),e.url&&(0,pu.jsxs)(iu.DescriptionListGroup,{children:[(0,pu.jsx)(iu.DescriptionListTerm,{children:"Agent URL"}),(0,pu.jsx)(iu.DescriptionListDescription,{children:(0,pu.jsx)(iu.Text,{component:"a",href:e.url,target:"_blank",children:e.url})})]})]})}),(0,pu.jsx)(iu.CardFooter,{children:(0,pu.jsx)(iu.Button,{variant:"primary",onClick:()=>t(cu.agentToConnection(e)),isSmall:!0,children:"Connect"})})]});var i,n,o,a},fu=({jvm:e,connect:t,refresh:r})=>(0,pu.jsxs)(iu.Card,{isCompact:!0,id:`connect-discover-jvm-card-${e.id}`,children:[(0,pu.jsxs)(iu.CardHeader,{children:[(0,pu.jsx)("img",{src:hu.generic,alt:e.alias,style:{maxWidth:"30px",paddingRight:"0.5rem"}}),(0,pu.jsx)(iu.CardTitle,{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.alias}),(0,pu.jsx)(iu.CardActions,{children:(0,pu.jsx)(iu.Label,{color:"green",children:"JVM"})})]}),(0,pu.jsx)(iu.CardBody,{children:(0,pu.jsxs)(iu.DescriptionList,{isCompact:!0,isHorizontal:!0,children:[(0,pu.jsxs)(iu.DescriptionListGroup,{children:[(0,pu.jsx)(iu.DescriptionListTerm,{children:"PID"}),(0,pu.jsx)(iu.DescriptionListDescription,{children:e.id})]}),(0,pu.jsxs)(iu.DescriptionListGroup,{children:[(0,pu.jsx)(iu.DescriptionListTerm,{children:"Name"}),(0,pu.jsx)(iu.DescriptionListDescription,{children:e.displayName})]}),e.agentUrl&&(0,pu.jsxs)(iu.DescriptionListGroup,{children:[(0,pu.jsx)(iu.DescriptionListTerm,{children:"Agent URL"}),(0,pu.jsx)(iu.DescriptionListDescription,{children:(0,pu.jsx)(iu.Text,{component:"a",href:e.agentUrl,target:"_blank",children:e.agentUrl})})]})]})}),(0,pu.jsx)(iu.CardFooter,{children:(0,pu.jsxs)(iu.ActionList,{children:[(0,pu.jsx)(iu.ActionListItem,{children:(0,pu.jsx)(iu.Button,{variant:"primary",onClick:()=>t(cu.jvmToConnection(e)),isSmall:!0,isDisabled:!cu.isConnectable(e),children:"Connect"})}),e.agentUrl&&(0,pu.jsxs)(nu.default.Fragment,{children:[(0,pu.jsx)(iu.ActionListItem,{children:(0,pu.jsx)(iu.Button,{variant:"secondary",onClick:()=>{cu.startAgent(e.id),r()},isSmall:!0,children:"Start agent"})}),(0,pu.jsx)(iu.ActionListItem,{children:(0,pu.jsx)(iu.Button,{variant:"danger",onClick:()=>{cu.stopAgent(e.id),r()},isSmall:!0,children:"Stop agent"})})]})]})})]}),gu=r(52557),bu=r(44914),yu=r(74848),vu=()=>{const[e,t]=(0,bu.useState)(!0),[r,i]=(0,bu.useState)(""),[n,o]=(0,bu.useState)(""),[a,s]=(0,bu.useState)(!1),l=Hr.getCurrentConnectionName();if(!l)return null;const d=()=>{C(void 0,null,(function*(){(yield Hr.login(r,n))?(s(!1),Hr.redirect()):s(!0)}))},c=()=>{t(!1)},p=[(0,yu.jsx)(gu.Button,{variant:"primary",onClick:d,children:"Log in"},"login"),(0,yu.jsx)(gu.Button,{variant:"link",onClick:c,children:"Cancel"},"cancel")],u=`Log in to ${l}`;return(0,yu.jsx)(gu.Modal,{variant:"small",title:u,isOpen:e,onClose:c,actions:p,children:(0,yu.jsxs)(gu.Form,{id:"connect-login-form",isHorizontal:!0,onKeyUp:e=>"Enter"===e.key&&d(),children:[a&&(0,yu.jsx)(gu.FormAlert,{children:(0,yu.jsx)(gu.Alert,{variant:"danger",title:"Incorrect username or password",isInline:!0})}),(0,yu.jsx)(gu.FormGroup,{label:"Username",isRequired:!0,fieldId:"connect-login-form-username",children:(0,yu.jsx)(gu.TextInput,{isRequired:!0,id:"connect-login-form-username",name:"connect-login-form-username",value:r,onChange:e=>i(e),autoFocus:!0})}),(0,yu.jsx)(gu.FormGroup,{label:"Password",isRequired:!0,fieldId:"connect-login-form-password",children:(0,yu.jsx)(gu.TextInput,{isRequired:!0,id:"connect-login-form-password",name:"connect-login-form-password",type:"password",value:n,onChange:e=>o(e)})})]})})},wu=r(52557),Au=w(r(44914)),Cu=r(52557),ku=r(44914),xu=r(74848),Su={name:{text:"",validated:"default"},host:{text:"",validated:"default"},port:{text:"",validated:"default"},test:null},Tu=({mode:e,isOpen:t,onClose:r,input:i})=>{const{connections:n,dispatch:o}=(0,ku.useContext)(ru),[a,s]=(0,ku.useState)(i),[l,d]=(0,ku.useState)(Su),c=()=>{const e=f({},Su),{name:t,host:r,port:o}=a;let s=!0;return E(t)?(e.name={text:"Please fill out this field",validated:"error"},s=!1):t!==i.name&&n[t]&&(e.name={text:`Connection name '${a.name.trim()}' is already in use`,validated:"error"},s=!1),E(r)?(e.host={text:"Please fill out this field",validated:"error"},s=!1):-1!==r.indexOf(":")&&(e.host={text:"Invalid character ':'",validated:"error"},s=!1),(null===o||o<0||o>65535)&&(e.port={text:"Please enter a number from 0 to 65535",validated:"error"},s=!1),s||d(e),s},p=()=>{s(i),d(Su),r()},u=("add"===e?"Add":"Edit")+" Connection";return(0,xu.jsx)(Cu.Modal,{variant:Cu.ModalVariant.small,title:u,isOpen:t,onClose:p,actions:[(0,xu.jsx)(Cu.Button,{variant:Cu.ButtonVariant.primary,form:"connection-form",onClick:()=>{if(c()){switch(e){case"add":o({type:Kp,connection:a});break;case"edit":o({type:Qp,name:i.name,connection:a})}p()}},children:"add"===e?"Add":"Save"},"save"),(0,xu.jsx)(Cu.Button,{variant:Cu.ButtonVariant.link,onClick:p,children:"Cancel"},"cancel")],children:(0,xu.jsxs)(Cu.Form,{id:"connection-form",isHorizontal:!0,children:[(0,xu.jsx)(Cu.FormGroup,{label:"Name",isRequired:!0,fieldId:"connection-form-name",helperTextInvalid:l.name.text,helperTextInvalidIcon:(0,xu.jsx)(He,{}),validated:l.name.validated,children:(0,xu.jsx)(Cu.TextInput,{isRequired:!0,id:"connection-form-name",name:"connection-form-name",value:a.name,onChange:e=>s(g(f({},a),{name:e})),validated:l.name.validated})}),(0,xu.jsx)(Cu.FormGroup,{label:"Scheme",isRequired:!0,fieldId:"connection-form-scheme",children:(0,xu.jsx)(Cu.Switch,{id:"connection-form-scheme",label:"HTTPS",labelOff:"HTTP",isChecked:"https"===a.scheme,onChange:e=>s(g(f({},a),{scheme:e?"https":"http"}))})}),(0,xu.jsx)(Cu.FormGroup,{label:"Host",isRequired:!0,fieldId:"connection-form-host",helperTextInvalid:l.host.text,helperTextInvalidIcon:(0,xu.jsx)(He,{}),validated:l.host.validated,children:(0,xu.jsx)(Cu.TextInput,{isRequired:!0,id:"connection-form-host",name:"connection-form-host",value:a.host,onChange:e=>s(g(f({},a),{host:e})),validated:l.host.validated})}),(0,xu.jsx)(Cu.FormGroup,{label:"Port",isRequired:!0,fieldId:"connection-form-port",helperTextInvalid:l.port.text,helperTextInvalidIcon:(0,xu.jsx)(He,{}),validated:l.port.validated,children:(0,xu.jsx)(Cu.TextInput,{isRequired:!0,type:"number",id:"connection-form-port",name:"connection-form-port",value:a.port,onChange:e=>s(g(f({},a),{port:parseInt(e)})),validated:l.port.validated})}),(0,xu.jsx)(Cu.FormGroup,{label:"Path",isRequired:!0,fieldId:"connection-form-path",children:(0,xu.jsx)(Cu.TextInput,{isRequired:!0,id:"connection-form-path",name:"connection-form-path",value:a.path,onChange:e=>s(g(f({},a),{path:e}))})}),(0,xu.jsxs)(Cu.ActionGroup,{children:[(0,xu.jsx)(Cu.Button,{variant:Cu.ButtonVariant.secondary,onClick:()=>C(void 0,null,(function*(){if(!c())return;const e=yield Hr.testConnection(a);d(g(f({},Su),{test:e}))})),isSmall:!0,children:"Test connection"}),l.test?(0,xu.jsx)(Cu.HelperText,{children:(0,xu.jsx)(Cu.HelperTextItem,{variant:l.test.ok?"success":"error",hasIcon:!0,children:l.test.message})}):null]})]})})},Eu=r(52557),_u=r(44914),Iu=r(74848),Pu=({isOpen:e,onClose:t})=>{const{dispatch:r}=(0,_u.useContext)(ru),[i,n]=(0,_u.useState)(""),[o,a]=(0,_u.useState)(""),[s,l]=(0,_u.useState)(!1),d=e=>{n(e)},c=()=>{a(""),n("")},p=()=>{c(),t()};return(0,Iu.jsx)(Eu.Modal,{variant:Eu.ModalVariant.medium,title:"Import connections",isOpen:e,onClose:p,actions:[(0,Iu.jsx)(Eu.Button,{variant:"primary",onClick:()=>{const e=JSON.parse(i);r({type:"IMPORT",connections:e}),p(),se.notify({type:"success",message:"Connections imported successfully"})},children:"Import"},"import"),(0,Iu.jsx)(Eu.Button,{variant:"link",onClick:p,children:"Cancel"},"cancel")],children:(0,Iu.jsx)(Eu.FileUpload,{id:"connect-import-connections-file-upload",type:"text",value:i,filename:o,filenamePlaceholder:"Drag and drop or upload an exported JSON file",onFileInputChange:(e,t)=>{a(t.name)},onDataChange:d,onTextChange:d,onReadStarted:()=>{l(!0)},onReadFinished:()=>{l(!1)},onClearClick:c,isLoading:s,allowEditingUploadedText:!1,browseButtonText:"Upload"})})},Mu=r(74848),Ru=()=>{const{connections:e}=(0,Au.useContext)(ru);return lu.debug("Connections:",e),(0,Mu.jsxs)(Au.default.Fragment,{children:[(0,Mu.jsx)(Du,{}),(0,Mu.jsx)(wu.DataList,{id:"connection-list","aria-label":"connection list",isCompact:!0,children:Object.entries(e).map((([e,t])=>(0,Mu.jsx)(Bu,{name:e,connection:t},e)))})]})},Du=()=>{const{connections:e}=(0,Au.useContext)(ru),[t,r]=(0,Au.useState)(!1),[i,n]=(0,Au.useState)(!1),[o,a]=(0,Au.useState)(!1),s=()=>{r(!t)},l=()=>{a(!o)},d=f({},Br);return(0,Mu.jsxs)(wu.Toolbar,{id:"connect-toolbar",children:[(0,Mu.jsxs)(wu.ToolbarContent,{children:[(0,Mu.jsx)(wu.ToolbarItem,{children:(0,Mu.jsxs)(wu.Button,{variant:wu.ButtonVariant.secondary,onClick:s,children:[(0,Mu.jsx)(tt,{})," Add connection"]})}),(0,Mu.jsx)(wu.ToolbarItem,{children:(0,Mu.jsx)(wu.Dropdown,{isPlain:!0,isOpen:i,toggle:(0,Mu.jsx)(wu.KebabToggle,{onToggle:()=>n(!i)}),dropdownItems:[(0,Mu.jsx)(wu.DropdownItem,{onClick:l,children:"Import connections"},"connect-toolbar-dropdown-import"),(0,Mu.jsx)(wu.DropdownItem,{onClick:()=>{Hr.export(e)},children:"Export connections"},"connect-toolbar-dropdown-export")]},"connect-toolbar-dropdown")})]}),(0,Mu.jsx)(Tu,{mode:"add",isOpen:t,onClose:s,input:d}),(0,Mu.jsx)(Pu,{isOpen:o,onClose:l})]})},Bu=({name:e,connection:t})=>{const{dispatch:r}=(0,Au.useContext)(ru),[i,n]=(0,Au.useState)(!1),[o,a]=(0,Au.useState)(!1),[s,l]=(0,Au.useState)(!1),[d,c]=(0,Au.useState)(!1);(0,Au.useEffect)((()=>{const e=()=>{Hr.checkReachable(t).then((e=>n(e)))};e();const r=setInterval(e,2e4);return()=>clearInterval(r)}),[t]);const p=()=>{l(!s)},u=()=>{c(!d)},h=()=>{r({type:Yp,name:e}),u()},m=()=>(0,Mu.jsxs)(wu.Modal,{variant:wu.ModalVariant.small,title:"Delete Connection",titleIconVariant:"danger",isOpen:d,onClose:u,actions:[(0,Mu.jsx)(wu.Button,{variant:"danger",onClick:h,children:"Delete"},"delete"),(0,Mu.jsx)(wu.Button,{variant:"link",onClick:u,children:"Cancel"},"cancel")],children:["You are about to delete the ",(0,Mu.jsx)("b",{children:e})," connection."]});return(0,Mu.jsxs)(wu.DataListItem,{"aria-labelledby":`connection ${e}`,children:[(0,Mu.jsxs)(wu.DataListItemRow,{children:[(0,Mu.jsx)(wu.DataListItemCells,{dataListCells:[(0,Mu.jsx)(wu.DataListCell,{isIcon:!0,children:i?(0,Mu.jsx)($e,{color:"green"}):(0,Mu.jsx)(dt,{color:"red"})},`connection-cell-icon-${e}`),(0,Mu.jsx)(wu.DataListCell,{children:(0,Mu.jsx)("b",{children:e})},`connection-cell-name-${e}`),(0,Mu.jsx)(wu.DataListCell,{width:3,children:Hr.connectionToUrl(t)},`connection-cell-url-${e}`)]}),(0,Mu.jsxs)(wu.DataListAction,{id:`connection-actions-${e}`,"aria-label":`connection actions ${e}`,"aria-labelledby":`${e} connection-actions-${e}`,children:[(0,Mu.jsx)(wu.Button,{variant:"primary",onClick:()=>{i&&(lu.debug("Connecting:",t),Hr.connect(t))},isDisabled:!i,isSmall:!0,children:"Connect"},`connection-action-connect-${e}`),(0,Mu.jsx)(wu.Dropdown,{isPlain:!0,position:wu.DropdownPosition.right,isOpen:o,toggle:(0,Mu.jsx)(wu.KebabToggle,{onToggle:()=>{a(!o)}}),dropdownItems:[(0,Mu.jsx)(wu.DropdownItem,{onClick:p,children:"Edit"},`connection-action-edit-${e}`),(0,Mu.jsx)(wu.DropdownItem,{onClick:u,children:"Delete"},`connection-action-delete-${e}`)]},`connection-action-dropdown-${e}`),(0,Mu.jsx)(m,{})]})]}),(0,Mu.jsx)(Tu,{mode:"edit",isOpen:s,onClose:p,input:t})]},`connection-${e}`)},Ou=r(74848),qu=()=>{var e,t;const{connections:r,dispatch:i}=tu(),{pathname:n,search:o}=(0,Gp.useLocation)(),a=[{id:"remote",title:"Remote",component:Ru},{id:"discover",title:"Discover",component:uu}],s=(0,Ou.jsx)(Wp.Nav,{"aria-label":"Connect Nav",variant:"tertiary",children:(0,Ou.jsx)(Wp.NavList,{children:a.map((({id:e,title:t})=>(0,Ou.jsx)(Wp.NavItem,{isActive:n===`${su}/${e}`,children:(0,Ou.jsx)(Gp.NavLink,{to:{pathname:e,search:o},children:t})},e)))})}),l=a.map((({id:e,component:t})=>(0,Ou.jsx)(Gp.Route,{path:e,element:Up.default.createElement(t)},e)));return(0,Ou.jsxs)(ru.Provider,{value:{connections:r,dispatch:i},children:[(0,Ou.jsxs)(Wp.PageGroup,{children:[(0,Ou.jsx)(Wp.PageSection,{id:"connect-header",variant:"light",children:(0,Ou.jsxs)(Wp.Title,{id:"connect-header-title",headingLevel:"h1",children:["Connect ",(0,Ou.jsx)(Nu,{})]})}),(0,Ou.jsx)(Wp.PageNavigation,{children:s})]}),(0,Ou.jsx)(Wp.PageSection,{id:"connect-main",children:(0,Ou.jsxs)(Gp.Routes,{children:[l,(0,Ou.jsx)(Gp.Route,{path:"login",element:(0,Ou.jsx)(vu,{})},"login"),(0,Ou.jsx)(Gp.Route,{path:"/",element:(0,Ou.jsx)(Gp.Navigate,{to:null!=(t=null==(e=a[0])?void 0:e.id)?t:""})},"root")]})})]})},Nu=()=>{const e=(0,Ou.jsxs)(Wp.TextContent,{children:[(0,Ou.jsxs)(Wp.Text,{component:"p",children:["This page allows you to connect to remote processes which"," ",(0,Ou.jsxs)("strong",{children:["already have a"," ",(0,Ou.jsx)("a",{href:"https://jolokia.org/agent.html",target:"_blank",rel:"noreferrer",children:"Jolokia agent"})," ","running inside them"]}),". You will need to know the host name, port and path of the Jolokia agent to be able to connect."]}),(0,Ou.jsxs)(Wp.Text,{component:"p",children:["If the process you wish to connect to does not have a Jolokia agent inside, please refer to the"," ",(0,Ou.jsx)("a",{href:"http://jolokia.org/agent.html",target:"_blank",rel:"noreferrer",children:"Jolokia documentation"})," ","for how to add a JVM, servlet, or OSGi based agent inside it."]}),(0,Ou.jsxs)(Wp.Text,{component:"p",children:["Some Java applications such as"," ",(0,Ou.jsx)("a",{href:"https://activemq.apache.org/components/artemis/",target:"_blank",rel:"noreferrer",children:"Apache ActiveMQ Artemis"})," ","include a Jolokia agent by default (use context path of Jolokia agent, usually ",(0,Ou.jsx)("code",{children:"jolokia"}),"). Or you can always just deploy Hawtio inside the process, which includes the Jolokia servlet agent (use Jolokia servlet mapping inside Hawtio context path, usually ",(0,Ou.jsx)("code",{children:"hawtio/jolokia"}),")."]})]});return(0,Ou.jsx)(Wp.Popover,{"aria-label":"Connect hint popover",position:"auto",hasAutoWidth:!0,maxWidth:"60rem",bodyContent:e,removeFindDomNode:!0,children:(0,Ou.jsx)(Ye,{})})},Lu=r(52557),ju=r(44914),Fu=r(78765),Hu=r(74848),Vu=()=>(0,Hu.jsx)(Lu.CardBody,{children:(0,Hu.jsxs)(Lu.Form,{isHorizontal:!0,children:[(0,Hu.jsx)(zu,{}),(0,Hu.jsx)(Wu,{})]})}),zu=()=>{const e=(0,Fu.useNavigate)(),t=ei.loadJolokiaStoredOptions(),[r,i]=(0,ju.useState)(ei.loadUpdateRate()),[n,o]=(0,ju.useState)("default"),[a,s]=(0,ju.useState)(""),[l,d]=(0,ju.useState)(t.maxDepth),[c,p]=(0,ju.useState)("default"),[u,h]=(0,ju.useState)(""),[m,f]=(0,ju.useState)(t.maxCollectionSize),[g,b]=(0,ju.useState)("default"),[y,v]=(0,ju.useState)(""),[w,A]=(0,ju.useState)(ei.loadAutoRefresh());return(0,Hu.jsxs)(Lu.FormSection,{title:"Jolokia",titleElement:"h2",children:[(0,Hu.jsx)(Lu.FormGroup,{label:"Update rate",fieldId:"jolokia-form-update-rate",validated:n,helperTextInvalid:a,labelIcon:(0,Hu.jsx)(Bp,{tooltip:"The period between polls to jolokia to fetch JMX data"}),children:(0,Hu.jsx)(Lu.TextInput,{id:"jolokia-form-update-rate-input",type:"number",value:r,validated:n,onChange:e=>{const t=parseInt(e);return t?t<=0?(o("error"),void s("Must be greater than 0")):(i(t),void o("success")):(o("error"),void s("Must be a number"))}})}),(0,Hu.jsx)(Lu.FormGroup,{label:"Max depth",fieldId:"jolokia-form-max-depth",validated:c,helperTextInvalid:u,labelIcon:(0,Hu.jsx)(Bp,{tooltip:"The number of levels jolokia will marshal an object to json on the server side before returning"}),children:(0,Hu.jsx)(Lu.TextInput,{id:"jolokia-form-max-depth-input",type:"number",value:l,validated:c,onChange:e=>{const t=parseInt(e);return t?t<=0?(p("error"),void h("Must be greater than 0")):(d(t),void p("success")):(p("error"),void h("Must be a number"))}})}),(0,Hu.jsx)(Lu.FormGroup,{label:"Max collection size",fieldId:"jolokia-form-max-collection-size",validated:g,helperTextInvalid:y,labelIcon:(0,Hu.jsx)(Bp,{tooltip:"The maximum number of elements in an array that jolokia will marshal in a response"}),children:(0,Hu.jsx)(Lu.TextInput,{id:"jolokia-form-max-collection-size-input",type:"number",value:m,validated:g,onChange:e=>{const t=parseInt(e);return t?t<=0?(b("error"),void v("Must be greater than 0")):(f(t),void b("success")):(b("error"),void v("Must be a number"))}})}),(0,Hu.jsx)(Lu.FormGroup,{label:"Auto refresh",fieldId:"jolokia-form-auto-refresh",labelIcon:(0,Hu.jsx)(Bp,{tooltip:"Whether the page should refresh whenever it detects an update on a plugin"}),children:(0,Hu.jsx)(Lu.Checkbox,{id:"jolokia-form-auto-refresh-input",isChecked:w,onChange:e=>{A(e)}})}),(0,Hu.jsx)(Lu.FormGroup,{fieldId:"jolokia-form-apply",helperText:"Restart Hawtio with the new values in effect.",children:(0,Hu.jsx)(Lu.Button,{onClick:()=>{ei.saveUpdateRate(r),ei.saveJolokiaStoredOptions({maxDepth:l,maxCollectionSize:m}),ei.saveAutoRefresh(w),e(0)},children:"Apply"})})]})},Wu=()=>{const{dispatch:e}=tu(),[t,r]=(0,ju.useState)(!1),[i,n]=(0,ju.useState)(!1),o=()=>{lu.debug("Clear saved connections"),e({type:Xp}),n(!0),r(!1)},a=()=>{r(!t)},s=()=>(0,Hu.jsx)(Lu.Modal,{variant:Lu.ModalVariant.small,title:"Clear saved connections",titleIconVariant:"danger",isOpen:t,onClose:a,actions:[(0,Hu.jsx)(Lu.Button,{variant:"danger",onClick:o,children:"Clear"},"reset"),(0,Hu.jsx)(Lu.Button,{variant:"link",onClick:a,children:"Cancel"},"cancel")],children:"You are about to clear all saved connection settings."});return(0,Hu.jsxs)(Lu.FormSection,{title:"Reset",titleElement:"h2",children:[(0,Hu.jsxs)(Lu.FormGroup,{label:"Clear saved connections",fieldId:"reset-form-clear",helperText:"Clear all saved connection settings stored in your browser local storage.",children:[(0,Hu.jsx)(Lu.Button,{variant:"danger",onClick:a,children:"Clear"}),(0,Hu.jsx)(s,{})]}),i&&(0,Hu.jsx)(Lu.Alert,{variant:"success",isInline:!0,title:"Connections cleared successfully!"})]})};function Uu(){return C(this,null,(function*(){return!!(yield function(){return C(this,null,(function*(){try{const e=yield fetch(du);if(!e.ok)return lu.debug("Failed to fetch",du,":",e.status,e.statusText),!0;const t="false"!==(yield e.text()).trim();return lu.debug("Proxy enabled:",t),t}catch(e){return lu.debug("Failed to fetch",du,":",e),!0}}))}())&&(null===Hr.getCurrentConnectionName()||new URL(window.location.href).pathname===Hr.getLoginPath())}))}var Gu=()=>{!function(){const e=Hr.getCurrentCredentials();Q.addFetchUserHook("connect",(t=>C(this,null,(function*(){const r=yield e;return!!r&&(t({username:r.username,isLogin:!0}),!0)})))),Q.addLogoutHook("connect",(()=>C(this,null,(function*(){return!!(yield e)&&(window.close(),!0)}))))}(),pe.addPlugin({id:ou,title:au,path:su,order:11,component:qu,isActive:Uu}),kt.add(ou,au,'## Connect\n\nThe Connect tab allows you to connect to local and remote Jolokia instances so you can examine JVMs.\n\nThe "Remote" sub-tab is used to manually add connection details for a Jolokia instance. You can store connection details and quickly recall the details of a connection and connect.\n\nThe use proxy option should often be enabled, as Hawtio is running in your browser; usually due to CORS; you cannot open a different host or port from your browser (due to browse security restrictions); so we have to use a proxy servlet inside the Hawtio web app to proxy all requests for a different jolokia server - so we can communicate with a different jolokia agent.\n\nThe "Local" sub-tab lists local JVMs running on your machine and allows you to install the Jolokia JVM agent into a running JVM and connect to it. For this to actually work you need to have your JDK\'s "tools.jar" in the classpath, along with Jolokia\'s JVM agent jar.\n\nThe "Discover" sub-tab lists all JVMs which Jolokia could discover in the network, using its built-in discovery.\n',11),tn.add(ou,au,Vu,11)},Ju="hawtio-jmx",Ku="/jmx",Qu=(N.get(Ju),r(52557)),Yu=w(r(71764)),Zu=r(44914),Xu=r(78765),$u=(0,Zu.createContext)({tree:Xi.createEmpty(Ju),selectedNode:null,setSelectedNode:()=>{}}),eh=r(52557),th=w(r(44914)),rh=r(78765),ih=r(74848),nh=()=>{var e,t;const{selectedNode:r}=(0,th.useContext)($u),{pathname:i,search:n}=(0,rh.useLocation)();if(!r)return(0,ih.jsx)(eh.PageSection,{variant:eh.PageSectionVariants.light,isFilled:!0,children:(0,ih.jsxs)(eh.EmptyState,{variant:eh.EmptyStateVariant.full,children:[(0,ih.jsx)(eh.EmptyStateIcon,{icon:Fe}),(0,ih.jsx)(eh.Title,{headingLevel:"h1",size:"lg",children:"Select MBean"})]})});const o=e=>Boolean(e.objectName);var a,s,l;const d=[{id:"attributes",title:"Attributes",component:(a=r,null!=(l=null==(s=[{condition:o,element:si},{condition:e=>{var t;return Boolean(null==(t=e.children)?void 0:t.every((e=>e.objectName)))},element:ui}].find((e=>e.condition(a))))?void 0:s.element)?l:tr),isApplicable:e=>!0},{id:"operations",title:"Operations",component:Hi,isApplicable:o},{id:"chart",title:"Chart",component:ki,isApplicable:e=>{var t;return Boolean(e.objectName)||Boolean(null==(t=e.children)?void 0:t.some((e=>e.objectName)))}}].filter((e=>e.isApplicable(r))),c=(0,ih.jsx)(eh.Nav,{"aria-label":"MBean Nav",variant:"tertiary",children:(0,ih.jsx)(eh.NavList,{children:d.map((e=>(0,ih.jsx)(eh.NavItem,{isActive:i===`${Ku}/${e.id}`,children:(0,ih.jsx)(rh.NavLink,{to:{pathname:e.id,search:n},children:e.title})},e.id)))})}),p=d.map((e=>(0,ih.jsx)(rh.Route,{path:e.id,element:th.default.createElement(e.component)},e.id)));return(0,ih.jsxs)(th.default.Fragment,{children:[(0,ih.jsxs)(eh.PageGroup,{children:[(0,ih.jsxs)(eh.PageSection,{id:"jmx-content-header",variant:eh.PageSectionVariants.light,children:[(0,ih.jsx)(eh.Title,{headingLevel:"h1",children:r.name}),(0,ih.jsx)(eh.Text,{component:"small",children:r.objectName})]}),(0,ih.jsx)(eh.PageNavigation,{children:c})]}),(0,ih.jsx)(eh.PageSection,{id:"jmx-content-main",children:(0,ih.jsxs)(rh.Routes,{children:[p,(0,ih.jsx)(rh.Route,{path:"/",element:(0,ih.jsx)(rh.Navigate,{to:null!=(t=null==(e=d[0])?void 0:e.id)?t:""})},"root")]})})]})},oh=r(52557),ah=r(44914),sh=r(78765),lh=r(74848),dh=()=>{const{tree:e,selectedNode:t,setSelectedNode:r}=(0,ah.useContext)($u),[i,n]=(0,ah.useState)(0),[o,a]=(0,ah.useState)(e.getTree()),s=(0,sh.useNavigate)();return(0,ah.useEffect)((()=>{a(e.getTree())}),[e]),(0,lh.jsx)(oh.TreeView,g(f({id:"jmx-tree-view",data:o,hasGuides:!0,hasSelectableNodes:!0,activeItems:t?[t]:[]},(()=>{switch(i){case 1:return{allExpanded:!0};case 2:return{allExpanded:!1};default:return{}}})()),{onSelect:(e,t)=>{r(t),s(Ku)},toolbar:(0,lh.jsx)(or,{onSearch:t=>{r(null),n(0);const i=t.target.value;i||a(e.getTree());const o=Xi.filter(e.getTree(),(e=>e.name.toLowerCase().includes(i.toLowerCase())));0===o.length?a(e.getTree()):(a(o),n(1))},onSetExpanded:e=>{n(e?1:2)}})}))},ch=r(74848),ph=()=>{const{tree:e,loaded:t,selectedNode:r,setSelectedNode:i}=function(){const[e,t]=(0,Zu.useState)(Xi.createEmpty(Ju)),[r,i]=(0,Zu.useState)(!1),{selectedNode:n,setSelectedNode:o}=(0,Zu.useContext)($t),a=(0,Xu.useNavigate)(),s=(0,Zu.useRef)();s.current=n;const l=()=>C(this,null,(function*(){const e=yield en.getTree();if(t(e),!s.current)return;const r=[...s.current.path()];e.forEach(r,(e=>{e.defaultExpanded=!0}));const i=e.navigate(...r);i&&o(i),a(Ku)}));return(0,Zu.useEffect)((()=>{const e=()=>C(this,null,(function*(){yield l(),i(!0)})),t=()=>{i(!1),e()};return se.onRefresh(t),e(),()=>se.removeListener(oe,t)}),[]),{tree:e,loaded:r,selectedNode:n,setSelectedNode:o}}();return t?e.isEmpty()?(0,ch.jsx)(Qu.PageSection,{variant:Qu.PageSectionVariants.light,children:(0,ch.jsxs)(Qu.EmptyState,{variant:Qu.EmptyStateVariant.full,children:[(0,ch.jsx)(Qu.EmptyStateIcon,{icon:Fe}),(0,ch.jsx)(Qu.Title,{headingLevel:"h1",size:"lg",children:"No MBeans found"})]})}):(0,ch.jsx)($u.Provider,{value:{tree:e,selectedNode:r,setSelectedNode:i},children:(0,ch.jsxs)(Yu.default,{className:"jmx-split",sizes:[30,70],minSize:200,gutterSize:5,children:[(0,ch.jsx)("div",{children:(0,ch.jsx)(dh,{})}),(0,ch.jsx)("div",{children:(0,ch.jsx)(nh,{})})]})}):(0,ch.jsx)(Qu.PageSection,{children:(0,ch.jsx)(Qu.Spinner,{isSVG:!0,"aria-label":"Loading MBean tree"})})},uh=()=>{pe.addPlugin({id:"jmx",title:"JMX",path:Ku,order:13,component:ph,isActive:()=>C(void 0,null,(function*(){return en.hasMBeans()}))}),kt.add("jmx","JMX","## JMX\n\nThe JMX plugin gives a raw view of the underlying JMX metric data, allowing access to the entire JMX domain tree of MBeans.\n",13)},hh="logs",mh=N.get("hawtio-logs"),fh=r(52557),gh=r(96527),bh=w(r(44914)),yh=class e{constructor(t){this.event=t,A(this,"hasOSGiProperties"),A(this,"hasMDCProperties"),A(this,"hasLogSourceLineHref"),A(this,"mdcProperties"),this.hasOSGiProperties=e.hasOSGiProperties(t.properties),this.hasLogSourceLineHref=null!==t.lineNumber,this.mdcProperties=e.mdcProperties(t.properties),this.hasMDCProperties=!sr(this.mdcProperties)}static hasOSGiProperties(e){return Object.keys(e).some((e=>0===e.indexOf("bundle")))}static mdcProperties(e){return Object.entries(e).filter((([e,t])=>!e.startsWith("bundle.")&&"maven.coordinates"!==e)).reduce(((e,[t,r])=>(e[t]=r,e)),{})}getTimestamp(){const{seq:e,timestamp:t}=this.event;return _e(e?new Date(e):new Date(t),!isNaN(e))}match(e){const{level:t,logger:r,message:i,properties:n}=e;return!(t.length>0&&!t.some((e=>this.event.level===e))||""!==r&&!this.matchLogger(r)||""!==i&&!this.matchMessage(i)||""!==n&&!this.matchProperties(n))}matchLogger(e){const{logger:t}=this.event;return t.toLowerCase().includes(e.toLowerCase())}matchMessage(e){const{message:t}=this.event;return t.toLowerCase().includes(e.toLowerCase())}matchProperties(e){const{properties:t}=this.event,r=e.toLowerCase();return Object.values(t).some((e=>e.toLowerCase().includes(r)))}},vh="logs.preferences",wh={sortAscending:!0,autoScroll:!0,cacheSize:500,batchSize:20},Ah="getLogResults(int)",Ch=new class{getLogQueryMBean(){return C(this,null,(function*(){var e;const t=yield en.findMBeans("hawtio",{type:"LogQuery"});return t.length>1&&mh.warn("Multiple LogQuery MBeans found. Selecting the first MBean:",t),null!=(e=t[0])?e:null}))}isActive(){return C(this,null,(function*(){const e=yield this.getLogQueryMBean();return(null==e?void 0:e.hasInvokeRights(Ah))||!1}))}loadLogs(){const{cacheSize:e}=this.loadOptions();return this.invokeLogQueryMBean(Ah,e)}loadLogsAfter(e){const{batchSize:t}=this.loadOptions();return this.invokeLogQueryMBean("jsonQueryLogResults(java.lang.String)",{afterTimestamp:e,count:t})}invokeLogQueryMBean(e,t){return C(this,null,(function*(){const r=yield this.getLogQueryMBean();if(!r||!r.objectName)return{logs:[],timestamp:0};const i=yield ei.execute(r.objectName,e,[t]);return mh.debug("Response from",e,":",i),{logs:i.events.map((e=>new yh(e))),timestamp:i.toTimestamp}}))}append(e,t){const r=[...e,...t],{cacheSize:i}=this.loadOptions();return r.length>i&&r.splice(0,e.length-i),r}filter(e,t){let r=e.filter((e=>e.match(t)));const{sortAscending:i}=this.loadOptions();return i||(r=r.reverse()),r}loadOptions(){const e=localStorage.getItem(vh),t=e?JSON.parse(e):{};return f(f({},wh),t)}saveOptions(e){const t=f(f({},this.loadOptions()),e);localStorage.setItem(vh,JSON.stringify(t))}},kh=r(74848),xh=()=>(0,kh.jsxs)(bh.default.Fragment,{children:[(0,kh.jsx)(fh.PageSection,{id:"logs-header",variant:"light",children:(0,kh.jsx)(fh.Title,{headingLevel:"h1",children:"Logs"})}),(0,kh.jsx)(fh.PageSection,{id:"logs-table",isFilled:!0,children:(0,kh.jsx)(Sh,{})})]}),Sh=()=>{const[e,t]=(0,bh.useState)([]),r=(0,bh.useRef)(0),[i,n]=(0,bh.useState)(!1),o={level:[],logger:"",message:"",properties:""},[a,s]=(0,bh.useState)(o),l=(0,bh.useRef)(o),[d,c]=(0,bh.useState)([]),[p,u]=(0,bh.useState)(!1),[h,m]=(0,bh.useState)(1),[b,y]=(0,bh.useState)(10),[v,w]=(0,bh.useState)(d.slice(0,b)),[A,k]=(0,bh.useState)(!1),[x,S]=(0,bh.useState)(null);if((0,bh.useEffect)((()=>{let e;C(void 0,null,(function*(){const e=yield Ch.loadLogs();t(e.logs),r.current=e.timestamp,n(!0),mh.debug("Load logs:",r.current)}));const i=()=>C(void 0,null,(function*(){if(mh.debug("Update logs:",r.current),e&&r.current>0){const e=yield Ch.loadLogsAfter(r.current);e.logs.length>0&&t((t=>Ch.append(t,e.logs))),r.current=e.timestamp}e=setTimeout((()=>i()),5e3)}));return i(),()=>e&&clearTimeout(e)}),[]),(0,bh.useEffect)((()=>{const t=Ch.filter(e,a);c(t)}),[e,a]),(0,bh.useEffect)((()=>{w(d.slice(0,b)),m(1)}),[d,b]),!i)return(0,kh.jsx)(fh.Skeleton,{"data-testid":"loading-logs",screenreaderText:"Loading..."});const T=(e,t,r=!1)=>{r||"level"===e?s((r=>g(f({},r),{[e]:t}))):l.current=g(f({},l.current),{[e]:t})},E=()=>{s((e=>f(f({},e),l.current)))},_=()=>{s(o),l.current=o},I=(e,t,r,i,n)=>{w(d.slice(i,n)),m(t)},P=(e,t,r,i,n)=>{w(d.slice(i,n)),m(r),y(t)},M=(e,t)=>(0,kh.jsx)(fh.Pagination,{isCompact:t,itemCount:d.length,page:h,perPage:b,onSetPage:I,onPerPageSelect:P,variant:e,titles:{paginationTitle:`${e} pagination`}}),R=(0,kh.jsx)(fh.Toolbar,{id:"logs-table-toolbar",clearAllFilters:_,usePageInsets:!0,children:(0,kh.jsxs)(fh.ToolbarContent,{children:[(0,kh.jsxs)(fh.ToolbarGroup,{id:"logs-table-toolbar-filters",children:[(0,kh.jsx)(fh.ToolbarFilter,{id:"logs-table-toolbar-level",chips:a.level,deleteChip:(e,t)=>T("level",a.level.filter((e=>e!==t))),deleteChipGroup:()=>T("level",[]),categoryName:"Level",children:(0,kh.jsx)(fh.Select,{id:"logs-table-toolbar-level-select",variant:"checkbox","aria-label":"Filter Level",placeholderText:"Level",selections:a.level,isOpen:p,onToggle:()=>u(!p),onSelect:(e,t)=>{const r=e.target.checked;s((e=>{const i=e.level,n=r?[...i,t]:i.filter((e=>e!==t));return g(f({},e),{level:n})}))},children:["TRACE","DEBUG","INFO","WARN","ERROR"].map(((e,t)=>(0,kh.jsx)(fh.SelectOption,{value:e},t)))})}),(0,kh.jsx)(fh.ToolbarItem,{id:"logs-table-toolbar-logger",children:(0,kh.jsx)(fh.SearchInput,{id:"logs-table-toolbar-logger-input","aria-label":"Filter Logger",placeholder:"Filter by logger",value:a.logger,onChange:(e,t)=>T("logger",t),onSearch:()=>E(),onClear:()=>T("logger","",!0)})}),(0,kh.jsx)(fh.ToolbarItem,{id:"logs-table-toolbar-message",children:(0,kh.jsx)(fh.SearchInput,{id:"logs-table-toolbar-message-input","aria-label":"Filter Message",placeholder:"Filter by message",value:a.message,onChange:(e,t)=>T("message",t),onSearch:()=>E(),onClear:()=>T("message","",!0)})}),(0,kh.jsx)(fh.ToolbarItem,{id:"logs-table-toolbar-properties",children:(0,kh.jsx)(fh.SearchInput,{id:"logs-table-toolbar-properties-input","aria-label":"Filter Properties",placeholder:"Filter by properties",value:a.properties,onChange:(e,t)=>T("properties",t),onSearch:()=>E(),onClear:()=>T("properties","",!0)})})]}),(0,kh.jsx)(fh.ToolbarItem,{variant:"pagination",children:M("top",!0)})]})}),D=()=>{k(!A)},B=(e,t)=>{if(""===t)return e;const r=t.toLowerCase();return e.split(new RegExp(`(${t})`,"gi")).map(((e,t)=>e.toLowerCase()===r?(0,kh.jsx)("mark",{children:e},t):e))};return(0,kh.jsxs)(fh.Card,{children:[R,(0,kh.jsxs)(gh.TableComposable,{variant:"compact","aria-label":"Logs Table",isStriped:!0,isStickyHeader:!0,children:[(0,kh.jsx)(gh.Thead,{children:(0,kh.jsxs)(gh.Tr,{children:[(0,kh.jsx)(gh.Th,{children:"Timestamp"}),(0,kh.jsx)(gh.Th,{children:"Level"}),(0,kh.jsx)(gh.Th,{children:"Logger"}),(0,kh.jsx)(gh.Th,{children:"Message"})]})}),(0,kh.jsxs)(gh.Tbody,{children:[v.map(((e,t)=>(0,kh.jsxs)(gh.Tr,{onRowClick:()=>(e=>{S(e),D()})(e),children:[(0,kh.jsx)(gh.Td,{dataLabel:"timestamp",children:e.getTimestamp()}),(0,kh.jsx)(gh.Td,{dataLabel:"level",children:(0,kh.jsx)(Eh,{level:e.event.level})}),(0,kh.jsx)(gh.Td,{dataLabel:"logger",children:B(e.event.logger,a.logger)}),(0,kh.jsx)(gh.Td,{dataLabel:"message",children:B(e.event.message,a.message)})]},t))),0===d.length&&(0,kh.jsx)(gh.Tr,{children:(0,kh.jsx)(gh.Td,{colSpan:4,children:(0,kh.jsx)(fh.Bullseye,{children:(0,kh.jsxs)(fh.EmptyState,{variant:"small",children:[(0,kh.jsx)(fh.EmptyStateIcon,{icon:ot}),(0,kh.jsx)(fh.Title,{headingLevel:"h2",size:"lg",children:"No results found"}),(0,kh.jsx)(fh.EmptyStateBody,{children:"Clear all filters and try again."}),(0,kh.jsx)(fh.Button,{variant:"link",onClick:_,children:"Clear all filters"})]})})})})]})]}),M("bottom",!1),(0,kh.jsx)(Th,{isOpen:A,onClose:D,log:x})]})},Th=({isOpen:e,onClose:t,log:r})=>{if(!r)return null;const{event:i}=r,n=(0,kh.jsx)(fh.Card,{isCompact:!0,isPlain:!0,children:(0,kh.jsx)(fh.CardBody,{children:(0,kh.jsxs)(fh.DescriptionList,{isCompact:!0,isHorizontal:!0,children:[(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:"Timestamp"}),(0,kh.jsx)(fh.DescriptionListDescription,{children:r.getTimestamp()})]}),(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:"Level"}),(0,kh.jsx)(fh.DescriptionListDescription,{children:(0,kh.jsx)(Eh,{level:i.level})})]}),(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:"Logger"}),(0,kh.jsx)(fh.DescriptionListDescription,{children:i.logger})]}),r.hasLogSourceLineHref&&(0,kh.jsxs)(bh.default.Fragment,{children:[(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:"Class"}),(0,kh.jsx)(fh.DescriptionListDescription,{children:i.className})]}),(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:"Method"}),(0,kh.jsx)(fh.DescriptionListDescription,{children:i.methodName})]}),(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:"File"}),(0,kh.jsxs)(fh.DescriptionListDescription,{children:[i.fileName,":",i.lineNumber]})]})]}),i.host&&(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:"Host"}),(0,kh.jsx)(fh.DescriptionListDescription,{children:i.host})]}),(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:"Thread"}),(0,kh.jsx)(fh.DescriptionListDescription,{children:i.thread})]}),(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:"Message"}),(0,kh.jsx)(fh.DescriptionListDescription,{children:(0,kh.jsx)(fh.CodeBlock,{children:(0,kh.jsx)(fh.CodeBlockCode,{children:i.message})})})]}),i.exception&&(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:"Stack Trace"}),(0,kh.jsx)(fh.DescriptionListDescription,{children:i.exception})]})]})})}),o=r.hasOSGiProperties&&(0,kh.jsxs)(fh.Card,{isCompact:!0,isPlain:!0,children:[(0,kh.jsx)(fh.CardTitle,{children:"OSGi Properties"}),(0,kh.jsx)(fh.CardBody,{children:(0,kh.jsx)(fh.DescriptionList,{isCompact:!0,isHorizontal:!0,children:[{key:"bundle.name",name:"Bundle Name"},{key:"bundle.id",name:"Bundle ID"},{key:"bundle.version",name:"Bundle Version"}].filter((({key:e})=>void 0!==i.properties[e])).map((({key:e,name:t})=>(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsxs)(fh.DescriptionListTerm,{children:["$",t]}),(0,kh.jsx)(fh.DescriptionListDescription,{children:i.properties[e]})]},e)))})})]}),a=r.hasMDCProperties&&(0,kh.jsxs)(fh.Card,{isCompact:!0,isPlain:!0,children:[(0,kh.jsx)(fh.CardTitle,{children:"MDC Properties"}),(0,kh.jsx)(fh.CardBody,{children:(0,kh.jsx)(fh.DescriptionList,{isCompact:!0,isHorizontal:!0,children:Object.entries(r.mdcProperties).map((([e,t])=>(0,kh.jsxs)(fh.DescriptionListGroup,{children:[(0,kh.jsx)(fh.DescriptionListTerm,{children:e}),(0,kh.jsx)(fh.DescriptionListDescription,{children:t})]},e)))})})]});return(0,kh.jsxs)(fh.Modal,{id:"logs-log-modal",variant:"large",title:"Log",isOpen:e,onClose:t,actions:[(0,kh.jsx)(fh.Button,{onClick:t,children:"Close"},"close")],children:[n,o,a]})},Eh=({level:e})=>{switch(e){case"TRACE":case"DEBUG":return(0,kh.jsx)(fh.Label,{color:"grey",children:e});case"INFO":return(0,kh.jsx)(fh.Label,{color:"blue",children:e});case"WARN":return(0,kh.jsx)(fh.Label,{color:"orange",children:e});case"ERROR":return(0,kh.jsx)(fh.Label,{color:"red",children:e});default:return(0,kh.jsx)(bh.default.Fragment,{children:e})}},_h=r(52557),Ih=r(44914),Ph=r(74848),Mh=()=>{const[e,t]=(0,Ih.useState)(Ch.loadOptions()),[r,i]=(0,Ih.useState)("default"),[n,o]=(0,Ih.useState)(""),[a,s]=(0,Ih.useState)("default"),[l,d]=(0,Ih.useState)(""),c=r=>{Ch.saveOptions(r),t(f(f({},e),r))};return(0,Ph.jsx)(_h.CardBody,{children:(0,Ph.jsx)(_h.Form,{isHorizontal:!0,children:(0,Ph.jsxs)(_h.FormSection,{children:[(0,Ph.jsx)(_h.FormGroup,{label:"Sort ascending",fieldId:"logs-form-sort-ascending",labelIcon:(0,Ph.jsx)(Bp,{tooltip:"Sort log entries by timestamp ascending"}),children:(0,Ph.jsx)(_h.Checkbox,{id:"logs-form-sort-ascending-input",isChecked:e.sortAscending,onChange:e=>{c({sortAscending:e})}})}),(0,Ph.jsx)(_h.FormGroup,{label:"Auto scroll",fieldId:"logs-form-auto-scroll",labelIcon:(0,Ph.jsx)(Bp,{tooltip:"Automatically scroll when new log entries are added"}),children:(0,Ph.jsx)(_h.Checkbox,{id:"logs-form-auto-scroll-input",isChecked:e.autoScroll,onChange:e=>{c({autoScroll:e})}})}),(0,Ph.jsx)(_h.FormGroup,{label:"Log cache size",fieldId:"logs-form-log-cache-size",validated:r,helperTextInvalid:n,labelIcon:(0,Ph.jsx)(Bp,{tooltip:"The number of log messages to keep in the browser"}),children:(0,Ph.jsx)(_h.TextInput,{id:"logs-form-log-cache-size-input",type:"number",value:e.cacheSize,validated:r,onChange:e=>{const t=parseInt(e);return t?t<=0?(i("error"),void o("Must be greater than 0")):(c({cacheSize:t}),void i("success")):(i("error"),void o("Must be a number"))}})}),(0,Ph.jsx)(_h.FormGroup,{label:"Log batch size",fieldId:"logs-form-log-batch-size",validated:a,helperTextInvalid:l,labelIcon:(0,Ph.jsx)(Bp,{tooltip:"The maximum number of log messages to retrieve when loading new log lines"}),children:(0,Ph.jsx)(_h.TextInput,{id:"logs-form-log-batch-size-input",type:"number",value:e.batchSize,validated:a,onChange:e=>{const t=parseInt(e);return t?t<=0?(s("error"),void d("Must be greater than 0")):(c({batchSize:t}),void i("success")):(s("error"),void d("Must be a number"))}})})]})})})},Rh=()=>{pe.addPlugin({id:hh,title:"Logs",path:"/logs",order:14,component:xh,isActive:()=>Ch.isActive()}),kt.add(hh,"Logs",'## Logs\n\nWhen we run middleware we spend an awful lot of time looking at and searching logs. With Hawtio we show nicely coloured logs that auto scroll, can be filtered and sorted ascending or descending. Go to the Preferences page to customize the behavior the way you want.\n\n### How to enable Hawtio logs\n\nHawtio uses an MBean usually called LogQuery which implements the [LogQuerySupportMBean](https://github.com/hawtio/hawtio/blob/master/hawtio-log/src/main/java/io/hawt/log/support/LogQuerySupportMBean.java) interface from either the [hawtio-log-osgi](https://github.com/hawtio/hawtio/tree/master/hawtio-log-osgi) or [hawtio-log](https://github.com/hawtio/hawtio/tree/master/hawtio-log) bundles depending on if you are working inside or outside of OSGi respectively.\n\nIf you are using Apache Karaf, just add the hawtio-log-osgi bundle. If you are not using OSGi, then you just need to ensure you have hawtio-log in your WAR when you deploy Hawtio.\n\nYou also need to ensure that the LogQuery bean is instantiated in whatever dependency injection framework you choose.\n\nFor example, this is how we initialise LogQuery using OSGi blueprint:\n\n```html\n\n \n \n```\n\nAnd this is how we initialise LogQuery using Spring XML:\n\n```html\n \n```\n',14),tn.add(hh,"Server Logs",Mh,14)},Dh="quartz",Bh="hawtio-quartz",Oh="/quartz",qh=N.get(Bh),Nh="quartz",Lh=r(52557),jh=w(r(71764)),Fh=r(52557),Hh=w(r(44914)),Vh=r(78765),zh=r(44914),Wh=(0,r(74848).jsx)("img",{src:"data:image/png;base64,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",alt:"quartz"}),Uh=[{value:-1,label:"Ignore"},{value:0,label:"Smart"},{value:1,label:"Fire once now"},{value:2,label:"Do nothing"}],Gh="start()",Jh="standby()",Kh="pauseTrigger",Qh="resumeTrigger",Yh="triggerJob",Zh="hawtio:type=QuartzFacade",Xh="updateCronTrigger",$h="updateSimpleTrigger",em=new class{isActive(){return C(this,null,(function*(){return en.treeContainsDomainAndProperties(Nh)}))}searchSchedulers(){return C(this,null,(function*(){return en.findMBeans(Nh,{type:"QuartzScheduler"})}))}start(e,t){return C(this,null,(function*(){yield ei.execute(t,Gh),se.notify({type:"success",message:`Started scheduler: ${e}`})}))}pause(e,t){return C(this,null,(function*(){yield ei.execute(t,Jh),se.notify({type:"success",message:`Paused scheduler: ${e}`})}))}updateSampleStatisticsEnabled(e,t,r){return C(this,null,(function*(){yield ei.writeAttribute(t,"SampledStatisticsEnabled",r),se.notify({type:"success",message:`${r?"Enabled":"Disabled"} sampled statistics for scheduler: ${e}`})}))}loadTriggers(e){return C(this,null,(function*(){const t=yield ii.read(e),r=t.AllTriggers,i=t.AllJobDetails;return yield em.loadTriggerStates(e,r,i),r}))}loadJobs(e){return C(this,null,(function*(){const t=(yield ii.read(e)).AllJobDetails;return Object.values(t).flatMap((e=>Object.values(e)))}))}registerTriggersLoad(e,t){ii.register({type:"read",mbean:e},(r=>C(this,null,(function*(){const i=r.value;qh.debug("Scheduler - Attributes:",i);const n=i.AllTriggers,o=i.AllJobDetails;yield em.loadTriggerStates(e,n,o),qh.debug("Scheduler - Triggers:",n),t(n)}))))}registerJobsLoad(e,t){ii.register({type:"read",mbean:e},(e=>C(this,null,(function*(){const r=e.value;qh.debug("Scheduler - Attributes:",r);const i=r.AllJobDetails,n=Object.values(i).flatMap((e=>Object.values(e)));qh.debug("Scheduler - Jobs:",n),t(n)}))))}unregisterAll(){ii.unregisterAll()}loadTriggerStates(e,t,r){return C(this,null,(function*(){if(0===t.length)return;const i=t.map((t=>({type:"exec",mbean:e,operation:"getTriggerState",arguments:[t.name,t.group]}))),n=yield ei.bulkRequest(i);t.forEach(((e,t)=>{var i,o;e.state=null!=(o=null==(i=n[t])?void 0:i.value)?o:"unknown",this.applyJobDetails(e,r)}))}))}applyJobDetails(e,t){var r,i,n,o,a;const s=null==(r=t[e.jobName])?void 0:r[e.group];if(!s)return;const l=s.jobDataMap||{};switch(e.type=l.CamelQuartzTriggerType,e.type){case"cron":e.expression=l.CamelQuartzTriggerCronExpression;break;case"simple":{e.expression=`every ${l.CamelQuartzTriggerSimpleRepeatInterval} ms.`;const t=parseInt(null!=(i=l.CamelQuartzTriggerSimpleRepeatCounter)?i:""),r=parseInt(null!=(n=l.CamelQuartzTriggerSimpleRepeatInterval)?n:"");e.expression+=t>0?` (${t} times)`:" (forever)",e.repeatCount=t,e.repeatInterval=r;break}default:{const t=l.CamelQuartzEndpoint;if(t){let r=Rr(t,"cron");r&&(e.type="cron",r=r.replace(/\++/g," "),e.expression=r);const i=parseInt(null!=(o=Rr(t,"trigger.repeatCount"))?o:""),n=parseInt(null!=(a=Rr(t,"trigger.repeatInterval"))?a:"");(i||n)&&(e.type="simple",e.expression=`every ${n} ms.`,e.expression+=i>0?` (${i} times)`:" (forever)",e.repeatCount=i,e.repeatInterval=n)}}}}filterTriggers(e,t){const{state:r,group:i,name:n,type:o}=t;return e.filter((e=>{var t;return!(""!==r&&e.state!==r||""!==i&&!this.match(e.group,i)||""!==n&&!this.match(e.name,n)||""!==o&&!this.match(null!=(t=e.type)?t:"",o))}))}filterJobs(e,t){const{group:r,name:i,durability:n,shouldRecover:o,jobClass:a,description:s}=t;return e.filter((e=>{var t;return!(""!==r&&!this.match(e.group,r)||""!==i&&!this.match(e.name,i)||""!==n&&String(e.durability)!==n||""!==o&&String(e.shouldRecover)!==o||""!==a&&!this.match(e.jobClass,a)||""!==s&&!this.match(null!=(t=e.description)?t:"",s))}))}match(e,t){const r=new RegExp(t,"i");return null!==e.match(r)}pauseTrigger(e,t,r){return C(this,null,(function*(){yield ei.execute(e,Kh,[t,r]),se.notify({type:"success",message:`Paused trigger: ${r}/${t}`})}))}resumeTrigger(e,t,r){return C(this,null,(function*(){yield ei.execute(e,Qh,[t,r]),se.notify({type:"success",message:`Resumed trigger: ${r}/${t}`})}))}updateTrigger(e,t){return C(this,null,(function*(){const{name:r,group:i,misfireInstruction:n,type:o}=t;switch(o){case"cron":yield ei.execute(Zh,Xh,[e,r,i,n,t.expression,null]);break;case"simple":yield ei.execute(Zh,$h,[e,r,i,n,t.repeatCount,t.repeatInterval]);break;default:return void se.notify({type:"danger",message:`Could not update trigger ${i}/${r} due to unknown type: ${o}`})}se.notify({type:"success",message:`Updated trigger: ${i}/${r}`})}))}triggerJob(e,t,r,i){return C(this,null,(function*(){yield ei.execute(e,Yh,[t,r,""===i?{}:JSON.parse(i)]),se.notify({type:"success",message:`Manually fired trigger: ${r}/${t}`})}))}},tm=(0,zh.createContext)({tree:Xi.createEmpty(Bh),selectedNode:null,setSelectedNode:()=>{}}),rm=r(52557),im=r(96527),nm=r(44914),om=r(52557),am=r(96527),sm=w(r(44914)),lm=r(74848),dm=({job:e})=>{const[t,r]=(0,sm.useState)(!1),i=()=>{r(!t)};return(0,lm.jsxs)(sm.default.Fragment,{children:[(0,lm.jsxs)(am.Tr,{onRowClick:i,children:[(0,lm.jsx)(am.Td,{dataLabel:"group",children:e.group}),(0,lm.jsx)(am.Td,{dataLabel:"name",children:e.name}),(0,lm.jsx)(am.Td,{dataLabel:"durable",children:String(e.durability)}),(0,lm.jsx)(am.Td,{dataLabel:"recover",children:String(e.shouldRecover)}),(0,lm.jsx)(am.Td,{dataLabel:"jobClass",children:e.jobClass}),(0,lm.jsx)(am.Td,{dataLabel:"description",children:e.description})]}),(0,lm.jsx)(cm,{isOpen:t,onClose:i,input:e})]})},cm=({isOpen:e,onClose:t,input:r})=>{const{group:i,name:n,jobDataMap:o}=r;return(0,lm.jsx)(om.Modal,{id:"quartz-jobs-detail-modal",variant:"medium",title:`Job Detail: ${i}/${n}`,isOpen:e,onClose:t,actions:[(0,lm.jsx)(om.Button,{variant:"primary",onClick:t,children:"Close"},"close")],children:(0,lm.jsxs)(am.TableComposable,{id:"quartz-jobs-detail-table",variant:"compact","aria-label":"Job Detail Table",isStriped:!0,children:[(0,lm.jsx)(am.Thead,{children:(0,lm.jsxs)(am.Tr,{children:[(0,lm.jsx)(am.Th,{children:"Key"}),(0,lm.jsx)(am.Th,{children:"Value"})]})}),(0,lm.jsx)(am.Tbody,{children:Object.entries(o).map((([e,t],r)=>(0,lm.jsxs)(am.Tr,{children:[(0,lm.jsx)(am.Td,{children:e}),(0,lm.jsx)(am.Td,{children:t})]},r)))})]})})},pm=r(74848),um=()=>{const{selectedNode:e}=(0,nm.useContext)(tm),[t,r]=(0,nm.useState)([]),[i,n]=(0,nm.useState)(!0),o={group:"",name:"",durability:"",shouldRecover:"",jobClass:"",description:""},[a,s]=(0,nm.useState)(o),l=(0,nm.useRef)(o),[d,c]=(0,nm.useState)([]),[p,u]=(0,nm.useState)(!1),[h,m]=(0,nm.useState)(!1);if((0,nm.useEffect)((()=>{if(!e||!e.mbean||!e.objectName)return;n(!0);const{objectName:t}=e;return C(void 0,null,(function*(){const e=yield em.loadJobs(t);r(e),n(!1)})),em.registerJobsLoad(t,(e=>{r(e)})),()=>em.unregisterAll()}),[e]),(0,nm.useEffect)((()=>{const e=em.filterJobs(t,a);c(e)}),[t,a]),!e||!e.mbean||!e.objectName)return null;if(i)return(0,pm.jsx)(Jt,{});const b=(e,t,r=!1)=>{r||"durability"===e||"shouldRecover"===e?s((r=>g(f({},r),{[e]:t}))):l.current=g(f({},l.current),{[e]:t})},y=e=>(t,r,i)=>{s((t=>g(f({},t),{[e]:i?"":r})))},v=()=>{s(o),l.current=o},w=e=>(0,pm.jsx)(rm.ToolbarItem,{id:`quartz-jobs-table-toolbar-${e}`,children:(0,pm.jsx)(rm.SearchInput,{id:`quartz-jobs-table-toolbar-${e}-input`,"aria-label":`Filter ${e.charAt(0).toUpperCase()+e.slice(1)}`,placeholder:`Filter by ${e}`,value:a[e],onChange:(t,r)=>b(e,r),onSearch:()=>{s((e=>f(f({},e),l.current)))},onClear:()=>b(e,"",!0)})},e),A=(0,pm.jsx)(rm.Toolbar,{id:"quartz-jobs-table-toolbar",clearAllFilters:v,children:(0,pm.jsxs)(rm.ToolbarContent,{children:[(0,pm.jsxs)(rm.ToolbarGroup,{id:"quartz-jobs-table-toolbar-filters-1",children:[["group","name"].map((e=>w(e))),(0,pm.jsx)(rm.ToolbarItem,{id:"quartz-jobs-table-toolbar-durable",children:(0,pm.jsx)(rm.Select,{id:"quartz-jobs-table-toolbar-durable-select",variant:"single","aria-label":"Filter Durable",selections:a.durability,isOpen:p,onToggle:()=>u(!p),onSelect:y("durability"),children:[(0,pm.jsx)(rm.SelectOption,{value:"Durable",isPlaceholder:!0},0),...["true","false"].map(((e,t)=>(0,pm.jsx)(rm.SelectOption,{value:e},t+1)))]})}),(0,pm.jsx)(rm.ToolbarItem,{id:"quartz-jobs-table-toolbar-recover",children:(0,pm.jsx)(rm.Select,{id:"quartz-jobs-table-toolbar-recover-select",variant:"single","aria-label":"Filter Recover",selections:a.shouldRecover,isOpen:h,onToggle:()=>m(!h),onSelect:y("shouldRecover"),children:[(0,pm.jsx)(rm.SelectOption,{value:"Recover",isPlaceholder:!0},0),...["true","false"].map(((e,t)=>(0,pm.jsx)(rm.SelectOption,{value:e},t+1)))]})})]}),(0,pm.jsx)(rm.ToolbarGroup,{id:"quartz-jobs-table-toolbar-filters-2",children:["jobClass","description"].map((e=>w(e)))})]})}),k=(0,pm.jsx)(rm.Bullseye,{children:(0,pm.jsxs)(rm.EmptyState,{variant:"small",children:[(0,pm.jsx)(rm.EmptyStateIcon,{icon:ot}),(0,pm.jsx)(rm.Title,{headingLevel:"h2",size:"lg",children:"No results found"}),(0,pm.jsx)(rm.EmptyStateBody,{children:"Clear all filters and try again."}),(0,pm.jsx)(rm.Button,{variant:"link",onClick:v,children:"Clear all filters"})]})});return(0,pm.jsxs)(rm.Card,{isFullHeight:!0,children:[A,(0,pm.jsxs)(im.TableComposable,{id:"quartz-jobs-table",variant:"compact","aria-label":"Jobs Table",isStriped:!0,isStickyHeader:!0,children:[(0,pm.jsx)(im.Thead,{noWrap:!0,children:(0,pm.jsxs)(im.Tr,{children:[(0,pm.jsx)(im.Th,{children:"Group"}),(0,pm.jsx)(im.Th,{children:"Name"}),(0,pm.jsx)(im.Th,{children:"Durable"}),(0,pm.jsx)(im.Th,{children:"Recover"}),(0,pm.jsx)(im.Th,{children:"Job Class Name"}),(0,pm.jsx)(im.Th,{children:"Description"})]})}),(0,pm.jsxs)(im.Tbody,{children:[d.map(((e,t)=>(0,pm.jsx)(dm,{job:e},t))),0===d.length&&(0,pm.jsx)(im.Tr,{children:(0,pm.jsx)(im.Td,{colSpan:6,children:k})})]})]})]})},hm=r(52557),mm=r(44914),fm=r(74848),gm=()=>{const{selectedNode:e}=(0,mm.useContext)(tm),[t,r]=(0,mm.useState)({}),[i,n]=(0,mm.useState)(!0),[o,a]=(0,mm.useState)(!1);if((0,mm.useEffect)((()=>{if(!e||!e.objectName)return;n(!0);const{objectName:t}=e;return ii.readWithCallback(t,(e=>{r(e),n(!1)})),ii.register({type:"read",mbean:t},(e=>{qh.debug("Scheduler - Attributes:",e.value),r(e.value)})),()=>ii.unregisterAll()}),[e]),(0,mm.useEffect)((()=>{if(!e||!e.objectName||!o)return;qh.debug("Reload scheduler attributes"),n(!0);const{objectName:t}=e;ii.readWithCallback(t,(e=>{r(e),n(!1)})),a(!1)}),[e,o]),!e||!e.objectName)return null;if(i)return(0,fm.jsx)(Jt,{});const{name:s,objectName:l}=e,d={started:t.Started,name:t.SchedulerName,instance:t.SchedulerInstanceId,version:t.Version,jobStoreClassName:t.JobStoreClassName,threadPoolClassName:t.ThreadPoolClassName,threadPoolSize:t.ThreadPoolSize,sampledStatisticsEnabled:t.SampledStatisticsEnabled,jobsCompleted:t.JobsCompletedMostRecentSample,jobsExecuted:t.JobsExecutedMostRecentSample,jobsScheduled:t.JobsScheduledMostRecentSample};return(0,fm.jsxs)(hm.Stack,{id:"quartz-scheduler",hasGutter:!0,children:[(0,fm.jsxs)(hm.Card,{id:"quartz-scheduler-main",children:[(0,fm.jsxs)(hm.CardHeader,{children:[(0,fm.jsx)(hm.CardHeaderMain,{children:d.started?(0,fm.jsx)(hm.Icon,{status:"success",children:(0,fm.jsx)(Le,{})}):(0,fm.jsx)(hm.Icon,{children:(0,fm.jsx)(Ze,{})})}),(0,fm.jsx)(hm.CardTitle,{children:"Scheduler"}),(0,fm.jsx)(hm.CardActions,{children:(0,fm.jsx)(hm.Switch,{id:"quartz-scheduler-main-switch",label:"Started",labelOff:"Paused",isChecked:d.started,isDisabled:!e.hasInvokeRights(Gh,Jh),onChange:e=>C(void 0,null,(function*(){yield e?em.start(s,l):em.pause(s,l),a(!0)})),isReversed:!0})})]}),(0,fm.jsx)(hm.CardBody,{children:(0,fm.jsxs)(hm.DescriptionList,{isCompact:!0,isHorizontal:!0,children:[(0,fm.jsxs)(hm.DescriptionListGroup,{children:[(0,fm.jsx)(hm.DescriptionListTerm,{children:"Name"}),(0,fm.jsx)(hm.DescriptionListDescription,{children:d.name})]}),(0,fm.jsxs)(hm.DescriptionListGroup,{children:[(0,fm.jsx)(hm.DescriptionListTerm,{children:"Instance"}),(0,fm.jsx)(hm.DescriptionListDescription,{children:d.instance})]}),(0,fm.jsxs)(hm.DescriptionListGroup,{children:[(0,fm.jsx)(hm.DescriptionListTerm,{children:"Version"}),(0,fm.jsx)(hm.DescriptionListDescription,{children:d.version})]}),(0,fm.jsxs)(hm.DescriptionListGroup,{children:[(0,fm.jsx)(hm.DescriptionListTerm,{children:"Job store class name"}),(0,fm.jsx)(hm.DescriptionListDescription,{children:d.jobStoreClassName})]}),(0,fm.jsxs)(hm.DescriptionListGroup,{children:[(0,fm.jsx)(hm.DescriptionListTerm,{children:"Thread pool class name"}),(0,fm.jsx)(hm.DescriptionListDescription,{children:d.threadPoolClassName})]}),(0,fm.jsxs)(hm.DescriptionListGroup,{children:[(0,fm.jsx)(hm.DescriptionListTerm,{children:"Thread pool size"}),(0,fm.jsx)(hm.DescriptionListDescription,{children:d.threadPoolSize})]})]})})]}),(0,fm.jsxs)(hm.Card,{id:"quartz-scheduler-statistics",children:[(0,fm.jsxs)(hm.CardHeader,{children:[(0,fm.jsx)(hm.CardHeaderMain,{children:d.sampledStatisticsEnabled?(0,fm.jsx)(hm.Icon,{status:"success",children:(0,fm.jsx)(Le,{})}):(0,fm.jsx)(hm.Icon,{children:(0,fm.jsx)(Ze,{})})}),(0,fm.jsx)(hm.CardTitle,{children:"Sampled Statistics (Most Recent Samples)"}),(0,fm.jsx)(hm.CardActions,{children:(0,fm.jsx)(hm.Switch,{id:"quartz-scheduler-statistics-switch",label:"Enabled",labelOff:"Disabled",isChecked:d.sampledStatisticsEnabled,isDisabled:!e.hasInvokeRights(Gh,Jh),onChange:e=>C(void 0,null,(function*(){yield em.updateSampleStatisticsEnabled(s,l,e),a(!0)})),isReversed:!0})})]}),(0,fm.jsx)(hm.CardBody,{children:(0,fm.jsxs)(hm.DescriptionList,{isCompact:!0,isHorizontal:!0,children:[(0,fm.jsxs)(hm.DescriptionListGroup,{children:[(0,fm.jsx)(hm.DescriptionListTerm,{children:"Jobs completed"}),(0,fm.jsx)(hm.DescriptionListDescription,{children:d.jobsCompleted})]}),(0,fm.jsxs)(hm.DescriptionListGroup,{children:[(0,fm.jsx)(hm.DescriptionListTerm,{children:"Jobs executed"}),(0,fm.jsx)(hm.DescriptionListDescription,{children:d.jobsExecuted})]}),(0,fm.jsxs)(hm.DescriptionListGroup,{children:[(0,fm.jsx)(hm.DescriptionListTerm,{children:"Jobs scheduled"}),(0,fm.jsx)(hm.DescriptionListDescription,{children:d.jobsScheduled})]})]})})]})]})},bm=r(52557),ym=r(96527),vm=r(44914),wm=r(52557),Am=r(96527),Cm=w(r(44914)),km=r(52557),xm=r(44914),Sm=r(74848),Tm=({isOpen:e,onClose:t,input:r})=>{const{selectedNode:i}=(0,xm.useContext)(tm),[n,o]=(0,xm.useState)("{}");if(!i||!i.objectName)return null;const{objectName:a}=i,{name:s,group:l}=r,d=()=>{o("{}"),t()},c=[(0,Sm.jsx)(km.Button,{variant:"danger",form:"quartz-triggers-manual-modal-form",onClick:()=>{qh.info("Manually fire trigger:",a,r,n),em.triggerJob(a,s,l,n),d()},children:"Fire now"},"fire"),(0,Sm.jsx)(km.Button,{variant:"link",onClick:d,children:"Cancel"},"cancel")];return(0,Sm.jsx)(km.Modal,{id:"quartz-triggers-manual-modal",variant:"medium",title:`Manually Fire Trigger: ${l}/${s}`,isOpen:e,onClose:d,actions:c,children:(0,Sm.jsxs)(km.Form,{id:"quartz-triggers-manual-modal-form",isHorizontal:!0,children:[(0,Sm.jsx)(km.FormGroup,{label:"Name",fieldId:"quartz-triggers-manual-modal-form-name",children:s}),(0,Sm.jsx)(km.FormGroup,{label:"Group",fieldId:"quartz-triggers-manual-modal-form-group",children:l}),(0,Sm.jsx)(km.FormGroup,{label:"Parameters",fieldId:"quartz-triggers-manual-modal-form-parameters",helperText:["Parameters if any (",(0,Sm.jsx)("code",{children:"java.util.Map"},1)," in JSON syntax)"],children:(0,Sm.jsx)(km.TextArea,{id:"quartz-triggers-manual-modal-form-parameters-input","aria-label":"quartz triggers manual modal form parameters",resizeOrientation:"vertical",value:n,onChange:e=>o(e)})})]})})},Em=r(52557),_m=w(r(44914)),Im=r(74848),Pm=({isOpen:e,onClose:t,input:r,reload:i})=>{const{selectedNode:n}=(0,_m.useContext)(tm),[o,a]=(0,_m.useState)(r);if(!n||!n.objectName)return null;const{objectName:s}=n,l="cron"===r.type,d="simple"===r.type,c=()=>{a(r),t()},p=[(0,Im.jsx)(Em.Button,{variant:"primary",form:"quartz-triggers-update-modal-form",onClick:()=>C(void 0,null,(function*(){qh.info("Update trigger:",s,o),yield em.updateTrigger(s,o),i(),t()})),children:"Update"},"update"),(0,Im.jsx)(Em.Button,{variant:"link",onClick:c,children:"Cancel"},"cancel")];return(0,Im.jsx)(Em.Modal,{id:"quartz-triggers-update-modal",variant:"medium",title:`Update Trigger: ${r.group}/${r.name}`,isOpen:e,onClose:c,actions:p,children:(0,Im.jsxs)(Em.Form,{id:"quartz-triggers-update-modal-form",isHorizontal:!0,children:[l&&(0,Im.jsx)(Em.FormGroup,{label:"Cron expression",isRequired:!0,fieldId:"quartz-triggers-update-modal-form-cron",helperText:"Specify a cron expression for the trigger",children:(0,Im.jsx)(Em.TextInput,{id:"quartz-triggers-update-modal-form-cron",name:"quartz-triggers-update-modal-form-cron",isRequired:!0,value:o.expression,onChange:e=>a(g(f({},o),{expression:e}))})}),d&&(0,Im.jsxs)(_m.default.Fragment,{children:[(0,Im.jsx)(Em.FormGroup,{label:"Repeat count",isRequired:!0,fieldId:"quartz-triggers-update-modal-form-repeat-count",helperText:"Number of times to repeat. Use -1 for forever",children:(0,Im.jsx)(Em.TextInput,{id:"quartz-triggers-update-modal-form-repeat-count",name:"quartz-triggers-update-modal-form-repeat-count",isRequired:!0,type:"number",value:o.repeatCount,onChange:e=>a(g(f({},o),{repeatCount:parseInt(e)}))})}),(0,Im.jsx)(Em.FormGroup,{label:"Repeat interval",isRequired:!0,fieldId:"quartz-triggers-update-modal-form-repeat-interval",helperText:"Elapsed time in millis between triggering",children:(0,Im.jsx)(Em.TextInput,{id:"quartz-triggers-update-modal-form-repeat-interval",name:"quartz-triggers-update-modal-form-repeat-interval",isRequired:!0,type:"number",value:o.repeatInterval,onChange:e=>a(g(f({},o),{repeatInterval:parseInt(e)}))})})]}),(0,Im.jsx)(Em.FormGroup,{label:"Misfire Instruction",isRequired:!0,fieldId:"quartz-triggers-update-modal-form-misfire",helperText:"What to do when misfiring happens",children:(0,Im.jsx)(Em.FormSelect,{id:"quartz-triggers-update-modal-form-misfire-select","aria-label":"Select Misfire Instruction",value:o.misfireInstruction,onChange:e=>a(g(f({},o),{misfireInstruction:parseInt(e)})),children:Uh.map((({value:e,label:t},r)=>(0,Im.jsx)(Em.FormSelectOption,{value:e,label:t},r)))})})]})})},Mm=r(74848),Rm=({trigger:e,reload:t})=>{var r,i,n,o;const{selectedNode:a}=(0,Cm.useContext)(tm),[s,l]=(0,Cm.useState)(!1),[d,c]=(0,Cm.useState)(!1);if(!a||!a.objectName)return null;const{objectName:p}=a,u=()=>{l(!s)},h=()=>{c(!d)},m="normal"===(null==(r=e.state)?void 0:r.toLowerCase());return(0,Mm.jsxs)(Cm.default.Fragment,{children:[(0,Mm.jsxs)(Am.Tr,{children:[(0,Mm.jsx)(Am.Td,{dataLabel:"state",children:m?(0,Mm.jsx)(wm.Icon,{status:"success",children:(0,Mm.jsx)(Le,{})}):(0,Mm.jsx)(wm.Icon,{children:(0,Mm.jsx)(Ze,{})})}),(0,Mm.jsx)(Am.Td,{dataLabel:"group",children:e.group}),(0,Mm.jsx)(Am.Td,{dataLabel:"name",children:e.name}),(0,Mm.jsx)(Am.Td,{dataLabel:"type",children:e.type}),(0,Mm.jsx)(Am.Td,{dataLabel:"expression",children:e.expression}),(0,Mm.jsx)(Am.Td,{dataLabel:"misfireInstruction",children:(f=e.misfireInstruction,null!=(b=null==(g=Uh.find((({value:e})=>f===e)))?void 0:g.label)?b:"Unknown")}),(0,Mm.jsx)(Am.Td,{dataLabel:"PreviousFire",children:null==(i=e.previousFireTime)?void 0:i.toString()}),(0,Mm.jsx)(Am.Td,{dataLabel:"nextFire",children:null==(n=e.nextFireTime)?void 0:n.toString()}),(0,Mm.jsx)(Am.Td,{dataLabel:"finalFire",children:null==(o=e.finalFireTime)?void 0:o.toString()}),(0,Mm.jsx)(Am.Td,{dataLabel:"resume/pause",modifier:"fitContent",children:m?(0,Mm.jsx)(wm.Button,{variant:"danger",isSmall:!0,onClick:()=>C(void 0,null,(function*(){yield em.pauseTrigger(p,e.name,e.group),t()})),isDisabled:!a.hasInvokeRights(Kh),children:"Pause"}):(0,Mm.jsx)(wm.Button,{variant:"primary",isSmall:!0,onClick:()=>C(void 0,null,(function*(){yield em.resumeTrigger(p,e.name,e.group),t()})),isDisabled:!a.hasInvokeRights(Qh),children:"Resume"})}),(0,Mm.jsx)(Am.Td,{isActionCell:!0,children:(0,Mm.jsx)(Am.ActionsColumn,{items:[{title:"Update Trigger",isDisabled:!a.hasInvokeRights(Xh,$h),onClick:u},{title:"Trigger Manually",isDisabled:!a.hasInvokeRights(Yh),onClick:h}]})})]}),(0,Mm.jsx)(Pm,{isOpen:s,onClose:u,input:e,reload:t}),(0,Mm.jsx)(Tm,{isOpen:d,onClose:h,input:e})]});var f,g,b},Dm=r(74848),Bm=()=>{const{selectedNode:e}=(0,vm.useContext)(tm),[t,r]=(0,vm.useState)([]),[i,n]=(0,vm.useState)(!0),[o,a]=(0,vm.useState)(!1),s={state:"",group:"",name:"",type:""},[l,d]=(0,vm.useState)(s),c=(0,vm.useRef)(s),[p,u]=(0,vm.useState)([]),[h,m]=(0,vm.useState)(!1);if((0,vm.useEffect)((()=>{if(!e||!e.objectName)return;n(!0);const{objectName:t}=e;return C(void 0,null,(function*(){const e=yield em.loadTriggers(t);r(e),n(!1)})),em.registerTriggersLoad(t,(e=>{r(e)})),()=>em.unregisterAll()}),[e]),(0,vm.useEffect)((()=>{if(!e||!e.objectName||!o)return;qh.debug("Reload triggers");const{objectName:t}=e;C(void 0,null,(function*(){const e=yield em.loadTriggers(t);r(e)})),a(!1)}),[e,o]),(0,vm.useEffect)((()=>{const e=em.filterTriggers(t,l);u(e)}),[t,l]),!e||!e.objectName)return null;if(i)return(0,Dm.jsx)(Jt,{});const b=(e,t,r=!1)=>{r||"state"===e?d((r=>g(f({},r),{[e]:t}))):c.current=g(f({},c.current),{[e]:t})},y=()=>{d(s),c.current=s},v=(0,Dm.jsx)(bm.Toolbar,{id:"quartz-triggers-table-toolbar",clearAllFilters:y,children:(0,Dm.jsx)(bm.ToolbarContent,{children:(0,Dm.jsxs)(bm.ToolbarGroup,{id:"quartz-triggers-table-toolbar-filters",children:[(0,Dm.jsx)(bm.ToolbarItem,{id:"quartz-triggers-table-toolbar-state",children:(0,Dm.jsx)(bm.Select,{id:"quartz-triggers-table-toolbar-state-select",variant:"single","aria-label":"Filter State",selections:l.state,isOpen:h,onToggle:()=>m(!h),onSelect:(e,t,r)=>{d((e=>g(f({},e),{state:r?"":t})))},children:[(0,Dm.jsx)(bm.SelectOption,{value:"State",isPlaceholder:!0},0),...["NORMAL","PAUSED"].map(((e,t)=>(0,Dm.jsx)(bm.SelectOption,{value:e},t+1)))]})}),["group","name","type"].map((e=>(0,Dm.jsx)(bm.ToolbarItem,{id:`quartz-triggers-table-toolbar-${e}`,children:(0,Dm.jsx)(bm.SearchInput,{id:`quartz-triggers-table-toolbar-${e}-input`,"aria-label":`Filter ${e.charAt(0).toUpperCase()+e.slice(1)}`,placeholder:`Filter by ${e}`,value:l[e],onChange:(t,r)=>b(e,r),onSearch:()=>{d((e=>f(f({},e),c.current)))},onClear:()=>b(e,"",!0)})},e)))]})})}),w=(0,Dm.jsx)(bm.Bullseye,{children:(0,Dm.jsxs)(bm.EmptyState,{variant:"small",children:[(0,Dm.jsx)(bm.EmptyStateIcon,{icon:ot}),(0,Dm.jsx)(bm.Title,{headingLevel:"h2",size:"lg",children:"No results found"}),(0,Dm.jsx)(bm.EmptyStateBody,{children:"Clear all filters and try again."}),(0,Dm.jsx)(bm.Button,{variant:"link",onClick:y,children:"Clear all filters"})]})});return(0,Dm.jsxs)(bm.Card,{isFullHeight:!0,children:[v,(0,Dm.jsxs)(ym.TableComposable,{id:"quartz-triggers-table",variant:"compact","aria-label":"Triggers Table",isStriped:!0,isStickyHeader:!0,children:[(0,Dm.jsx)(ym.Thead,{noWrap:!0,children:(0,Dm.jsxs)(ym.Tr,{children:[(0,Dm.jsx)(ym.Th,{children:"State"}),(0,Dm.jsx)(ym.Th,{children:"Group"}),(0,Dm.jsx)(ym.Th,{children:"Name"}),(0,Dm.jsx)(ym.Th,{children:"Type"}),(0,Dm.jsx)(ym.Th,{children:"Expression"}),(0,Dm.jsx)(ym.Th,{children:"Misfire Instruction"}),(0,Dm.jsx)(ym.Th,{children:"Previous Fire"}),(0,Dm.jsx)(ym.Th,{children:"Next Fire"}),(0,Dm.jsx)(ym.Th,{children:"Final Fire"}),(0,Dm.jsx)(ym.Th,{colSpan:2,children:"Actions"})]})}),(0,Dm.jsxs)(ym.Tbody,{children:[p.map(((e,t)=>(0,Dm.jsx)(Rm,{trigger:e,reload:()=>a(!0)},t))),0===p.length&&(0,Dm.jsx)(ym.Tr,{children:(0,Dm.jsx)(ym.Td,{colSpan:11,children:w})})]})]})]})},Om=r(74848),qm=()=>{var e,t;const{tree:r,selectedNode:i}=(0,Hh.useContext)(tm),{pathname:n,search:o}=(0,Vh.useLocation)();if(r.isEmpty())return(0,Om.jsx)(Fh.PageSection,{variant:"light",children:(0,Om.jsxs)(Fh.EmptyState,{variant:"full",children:[(0,Om.jsx)(Fh.EmptyStateIcon,{icon:Fe}),(0,Om.jsx)(Fh.Title,{headingLevel:"h1",size:"lg",children:"No Quartz schedulers found"})]})});if(!i)return(0,Om.jsx)(Fh.PageSection,{variant:"light",children:(0,Om.jsxs)(Fh.EmptyState,{variant:"full",children:[(0,Om.jsx)(Fh.EmptyStateIcon,{icon:Fe}),(0,Om.jsx)(Fh.Title,{headingLevel:"h1",size:"lg",children:"No scheduler selected"}),(0,Om.jsx)(Fh.EmptyStateBody,{children:"The Quartz plugin allows you to see details about running Quartz Schedulers, and their associated triggers and jobs."}),(0,Om.jsx)(Fh.EmptyStateBody,{children:"Select a Quartz Scheduler in the tree to continue."})]})});const a=[{id:"scheduler",title:"Scheduler",component:gm},{id:"triggers",title:"Triggers",component:Bm},{id:"jobs",title:"Jobs",component:um},{id:"attributes",title:"Attributes",component:si},{id:"operations",title:"Operations",component:Hi}],s=(0,Om.jsx)(Fh.Nav,{"aria-label":"Quartz Nav",variant:"tertiary",children:(0,Om.jsx)(Fh.NavList,{children:a.map((e=>(0,Om.jsx)(Fh.NavItem,{isActive:n===`${Oh}/${e.id}`,children:(0,Om.jsx)(Vh.NavLink,{to:{pathname:e.id,search:o},children:e.title})},e.id)))})}),l=a.map((e=>(0,Om.jsx)(Vh.Route,{path:e.id,element:Hh.default.createElement(e.component)},e.id)));return(0,Om.jsxs)(Hh.default.Fragment,{children:[(0,Om.jsxs)(Fh.PageGroup,{children:[(0,Om.jsxs)(Fh.PageSection,{id:"quartz-content-header",variant:Fh.PageSectionVariants.light,children:[(0,Om.jsx)(Fh.Title,{headingLevel:"h1",children:i.name}),(0,Om.jsx)(Fh.Text,{component:"small",children:i.objectName})]}),(0,Om.jsx)(Fh.PageNavigation,{children:s})]}),(0,Om.jsx)(Fh.PageSection,{id:"quartz-content-main",children:(0,Om.jsxs)(Vh.Routes,{children:[l,(0,Om.jsx)(Vh.Route,{path:"/",element:(0,Om.jsx)(Vh.Navigate,{to:null!=(t=null==(e=a[0])?void 0:e.id)?t:""})},"root")]})})]})},Nm=r(52557),Lm=r(44914),jm=r(74848),Fm=()=>{const{tree:e,selectedNode:t,setSelectedNode:r}=(0,Lm.useContext)(tm);return(0,jm.jsx)(Nm.TreeView,{id:"quartz-tree-view",data:e.getTree(),hasGuides:!0,hasSelectableNodes:!0,activeItems:t?[t]:[],onSelect:(e,t)=>{r(t)}})},Hm=r(74848),Vm=()=>{const{tree:e,loaded:t,selectedNode:r,setSelectedNode:i}=function(){const[e,t]=(0,zh.useState)(Xi.createEmpty(Bh)),{selectedNode:r,setSelectedNode:i}=(0,zh.useContext)($t),[n,o]=(0,zh.useState)(!1),a=(0,zh.useRef)(r),s=()=>C(this,null,(function*(){var e,r,n;qh.debug("Populate Quartz tree");const o=(yield em.searchSchedulers()).map((e=>{var t;const r=e.copyTo(null!=(t=e.getProperty("name"))?t:e.name);return r.icon=Wh,r}));qh.debug("Found schedulers:",o);const s=Xi.createFromNodes(Bh,o);t(s),a.current||(a.current=null!=(e=o[0])?e:null);let l=null;s.forEach(null!=(n=null==(r=a.current)?void 0:r.path())?n:[],(e=>{e.defaultExpanded=!0,l=e})),i(l)}));return(0,zh.useEffect)((()=>{const e=()=>C(this,null,(function*(){yield s(),o(!0)})),t=()=>{o(!1),e()};return se.onRefresh(t),e(),()=>se.removeListener(oe,t)}),[]),{tree:e,loaded:n,selectedNode:r,setSelectedNode:i}}();return t?(0,Hm.jsx)(tm.Provider,{value:{tree:e,selectedNode:r,setSelectedNode:i},children:(0,Hm.jsxs)(jh.default,{className:"quartz-split",sizes:[20,80],minSize:100,gutterSize:5,children:[(0,Hm.jsx)("div",{children:(0,Hm.jsx)(Fm,{})}),(0,Hm.jsx)("div",{children:(0,Hm.jsx)(qm,{})})]})}):(0,Hm.jsx)(Lh.PageSection,{children:(0,Hm.jsx)(Lh.Spinner,{isSVG:!0,"aria-label":"Loading Quartz schedulers"})})},zm=()=>{pe.addPlugin({id:Dh,title:"Quartz",path:Oh,order:15,component:Vm,isActive:()=>em.isActive()}),kt.add(Dh,"Quartz","## Quartz\n\nThe Quartz plugin offers functionality for viewing and managing [Quartz](http://www.quartz-scheduler.org/) schedulers.\n\n### Scheduler\n\nHere you can see the scheduler its state and statistics. You can also pause and resume a scheduler.\n\n### Jobs\n\nJobs lists and allows you to see information about job definitions.\n\n### Triggers\n\nHere you see the existing triggers in the selected scheduler and their state, including previous and next fire times. Individual triggers can be paused and resumed.\nYou can also edit some properties of a scheduler or make it fire instantly regardless of the scheduler.\n",15)},Wm=e=>C(void 0,null,(function*(){ti.debug("Processing tree:",e);const t=yield ri.getACLMBean();if(!t)return void ti.debug("No acl mbean available. RBAC decoration of JMX tree skipped");const r=e.flatten();if(1===(yield ei.getListMethod()))ti.debug("Process JMX tree: optimised list mode"),Object.values(r).every((e=>e.isRBACDecorated()))?ti.debug("JMX tree already decorated with RBAC"):(ti.debug("JMX tree not decorated with RBAC, fetching RBAC info now"),yield Um(t,r)),ti.debug("Processed tree mbeans with RBAC:",r);else ti.debug("Process JMX tree: general mode"),yield Um(t,r),ti.debug("Processed tree mbeans:",r)}));function Um(e,t){return C(this,null,(function*(){const r=[],i={};Object.entries(t).forEach((([t,n])=>{!function(e,t,r,i,n){var o;if(i.push({type:"exec",mbean:e,operation:"canInvoke(java.lang.String)",arguments:[t]}),null==(o=r.mbean)?void 0:o.op){const e=[];Object.entries(r.mbean.op).forEach((([t,i])=>{Array.isArray(i)?i.forEach((i=>Gm(r,e,t,i))):Gm(r,e,t,i)})),e.length>0&&(n[t]=e)}}(e,t,n,r,i)})),r.push({type:"exec",mbean:e,operation:"canInvoke(java.util.Map)",arguments:[i]}),ti.debug("Batch canInvoke request:",r);const n=yield ei.bulkRequest(r);ti.debug("Batch canInvoke response:",n),n.forEach((e=>function(e,t){var r;if("exec"!==t.request.type)return;const i=null==(r=t.request.arguments)?void 0:r[0];if(lr(i)){const r=e[i];null==r||r.updateCanInvoke(t.value)}else{const r=t.value;ti.debug("Bulk operations response:",r),Object.entries(r).forEach((([t,r])=>Object.entries(r).forEach((([r,i])=>{var n,o;const a=e[t],s=null==(o=null==(n=null==a?void 0:a.mbean)?void 0:n.opByString)?void 0:o[r];s&&(s.canInvoke=i.CanInvoke)}))))}}(t,e)))}))}function Gm(e,t,r,i){if(!e.mbean)return;const n=`${r}(${i.args.map((e=>e.type)).join(",")})`;e.mbean.opByString||(e.mbean.opByString={}),e.mbean.opByString[n]=i,t.push(n)}var Jm=()=>{Zi.add("rbac",Wm)},Km=r(52557),Qm=w(r(44914)),Ym=r(78765),Zm=r(31881),Xm=r(52557),$m=r(44914),ef=new class{constructor(){A(this,"handlers",[])}convertMsToDaysHours(e){const t=Math.floor(e/1e3),r=Math.floor(t/60),i=Math.floor(r/60);return`${Math.floor(i/24)} days, ${i%24} hours`}loadSystemProperties(){return C(this,null,(function*(){const e=[],t=yield ei.readAttribute("java.lang:type=Runtime","SystemProperties");for(const[r,i]of Object.entries(t))e.push({key:r,value:i});return e}))}registerLoadThreadsRequest(e){return C(this,null,(function*(){const t=yield ei.register({type:"exec",mbean:"java.lang:type=Threading",operation:"dumpAllThreads(boolean,boolean)",arguments:[!0,!0]},(t=>{const r=t.value;e(r)}));this.handlers.push(t)}))}loadThreads(){return ei.execute("java.lang:type=Threading","dumpAllThreads(boolean,boolean)",[!1,!1])}isThreadContentionMonitoringEnabled(){return C(this,null,(function*(){return yield ei.readAttribute("java.lang:type=Threading","ThreadContentionMonitoringEnabled")}))}enableThreadContentionMonitoring(e){return C(this,null,(function*(){return yield ei.writeAttribute("java.lang:type=Threading","ThreadContentionMonitoringEnabled",e)}))}dumpThreads(){return C(this,null,(function*(){const e=yield ei.execute("java.lang:type=Threading","dumpAllThreads(boolean, boolean)",[!0,!0]);let t="";return e.forEach((e=>{const r=e.threadName,i=e.daemon?" daemon":"";let n=`"${r}" #${e.threadId}${i} priority:${e.priority} State:${e.threadState}`;e.stackTrace.forEach((e=>{const t=e.lineNumber>0?":"+e.lineNumber:"",r=e.nativeMethod?"(Native)":"";n+=`\n\tat ${e.className}.${e.methodName}(${e.fileName}${t})${r}`})),t+=(""===t?"":"\n\n")+n})),t}))}getRegisterRequest(e,t,r){const i={type:"read",mbean:e};return t&&(i.attribute=t),i}responseCallback(e,t){var r;switch(e.request.mbean){case"java.lang:type=Threading":t({type:"JVM",name:"Thread Count",value:e.value});break;case"java.lang:type=Memory":{const i=e.value,n=this.formatBytes(i.used);t({type:"JVM",name:"Heap Used",value:null!=(r=n[0])?r:"",unit:n[1]});break}case"java.lang:type=OperatingSystem":{const r=e.value,i=100*r.SystemCpuLoad,n=r.SystemLoadAverage,o=this.formatBytes(r.FreePhysicalMemorySize),a=this.formatBytes(r.TotalPhysicalMemorySize);t({type:"System",name:"Available Processors",value:String(r.AvailableProcessors)}),t({type:"System",name:"CPU Load",value:String(i),unit:"%",available:100,chart:!0}),t({type:"System",name:"Load Average",value:String(n)}),t({type:"System",name:"Memory Used",value:o[0],unit:o[1],available:a[0],chart:!0}),t({type:"System",name:"File Descriptors Used",value:r.OpenFileDescriptorCount,available:r.MaxFileDescriptorCount});break}case"java.lang:type=ClassLoading":t({type:"JVM",name:"Classes Loaded",value:e.value});break;case"java.lang:type=Runtime":{const r=e.value;t({type:"JVM",name:"Start time",value:new Date(r.StartTime).toLocaleString()}),t({type:"JVM",name:"Uptime",value:this.convertMsToDaysHours(r.Uptime)});break}}}getJolokiaRequests(){const e=[];return e.push(this.getRegisterRequest("java.lang:type=Threading","ThreadCount")),e.push(this.getRegisterRequest("java.lang:type=Memory","HeapMemoryUsage")),e.push(this.getRegisterRequest("java.lang:type=Runtime")),e.push(this.getRegisterRequest("java.lang:type=OperatingSystem")),e.push(this.getRegisterRequest("java.lang:type=ClassLoading","LoadedClassCount")),e}registerMetrics(e){return C(this,null,(function*(){for(const t of this.getJolokiaRequests()){const r=yield ei.register(t,(t=>{this.responseCallback(t,e)}));this.handlers.push(r)}}))}loadMetrics(){return C(this,null,(function*(){const e=[];return(yield ei.bulkRequest(this.getJolokiaRequests())).forEach((t=>{this.responseCallback(t,(t=>e.push(t)))})),e}))}formatBytes(e){if(0===e)return[0,"Bytes"];const t=Math.floor(Math.log(e)/Math.log(1024)),r=parseFloat((e/Math.pow(1024,t)).toFixed(2)),i=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][t];return[r,null!=i?i:""]}unregisterAll(){this.handlers.forEach((e=>ei.unregister(e))),this.handlers=[]}},tf=r(74848),rf=()=>{const[e,t]=(0,$m.useState)({});return(0,$m.useEffect)((()=>(C(void 0,null,(function*(){const e=yield ef.loadMetrics();let r={};e.forEach((e=>r=g(f({},r),{[e.name]:e}))),t(r)})),(()=>{let e={};ef.registerMetrics((r=>{e=g(f({},e),{[r.name]:r}),t(e)}))})(),()=>ef.unregisterAll())),[]),(0,tf.jsxs)(Xm.Grid,{hasGutter:!0,span:6,children:[(0,tf.jsx)(Xm.GridItem,{children:(0,tf.jsxs)(Xm.Card,{children:[(0,tf.jsx)(Xm.CardHeader,{children:(0,tf.jsx)(Xm.Title,{headingLevel:"h2",children:"System"})}),(0,tf.jsx)(Xm.CardBody,{children:Object.values(e).filter((e=>"System"===e.type)).map(((e,t)=>{var r,i;return(0,tf.jsxs)("div",{children:[e.name," :",(0,tf.jsxs)("span",{children:[e.value," ",null!=(r=e.unit)?r:"",e.available&&" of "+e.available+" "+(null!=(i=e.unit)?i:"")]}),e.chart&&(0,tf.jsx)(Zm.ChartBullet,{ariaDesc:e.unit,ariaTitle:e.value+" "+e.unit,comparativeWarningMeasureData:[{name:"Warning",y:.9*e.available}],constrainToVisibleArea:!0,maxDomain:{y:e.available},name:e.name,primarySegmentedMeasureData:[{name:e.unit,y:e.value}],width:600})]},t)}))})]})}),(0,tf.jsx)(Xm.GridItem,{children:(0,tf.jsxs)(Xm.Card,{children:[(0,tf.jsx)(Xm.CardHeader,{children:(0,tf.jsx)(Xm.Title,{headingLevel:"h2",children:"JVM"})}),(0,tf.jsx)(Xm.CardBody,{children:Object.values(e).filter((e=>"JVM"===e.type)).map(((e,t)=>{var r,i;return(0,tf.jsxs)("div",{children:[e.name," :",(0,tf.jsxs)("span",{children:[e.value," ",null!=(r=e.unit)?r:"",e.available&&"of"+e.available+" "+(null!=(i=e.unit)?i:"")]})]},t)}))})]})})]})},nf=r(52557),of=r(96527),af=w(r(44914)),sf=r(74848),lf=()=>{var e;const[t,r]=(0,af.useState)([]),[i,n]=(0,af.useState)([]),[o,a]=(0,af.useState)(1),[s,l]=(0,af.useState)(20),[d,c]=(0,af.useState)(""),[p,u]=(0,af.useState)([]),[h,m]=(0,af.useState)("name"),[f,g]=af.default.useState(-1),[b,y]=af.default.useState("asc"),[v,w]=(0,af.useState)(!1);(0,af.useEffect)((()=>{ef.loadSystemProperties().then((e=>{r(e),n(e)}))}),[]),(0,af.useEffect)((()=>{let e=[...t];[...p,`${h}:${d}`].forEach((t=>{var r,i;const n=null!=(r=t.split(":")[0])?r:"",o=null!=(i=t.split(":")[1])?i:"";e=e.filter((e=>("name"===n?e.key:e.value).toLowerCase().includes(o.toLowerCase())))})),a(1),n([...e])}),[d,t,p,h]);const A=()=>{u([]),c("")},C=()=>(0,sf.jsx)(nf.Pagination,{itemCount:i.length,page:o,perPage:s,onSetPage:(e,t)=>a(t),onPerPageSelect:(e,t)=>{l(t),a(1)},variant:"top"}),k=[{key:"name",value:"Name"},{key:"value",value:"Value"}],x=k.map((e=>(0,sf.jsx)(nf.DropdownItem,{onClick:()=>{m(e.key)},children:e.value},e.key))),S=e=>({sortBy:{index:f,direction:b,defaultDirection:"asc"},onSort:(e,t,r)=>{g(t),y(r)},columnIndex:e}),T=(0,sf.jsx)(nf.Toolbar,{clearAllFilters:A,children:(0,sf.jsxs)(nf.ToolbarContent,{children:[(0,sf.jsxs)(nf.ToolbarGroup,{children:[(0,sf.jsx)(nf.Dropdown,{"data-testid":"attribute-select",onSelect:()=>{w(!1),""!==d&&(u([...p,`${h}:${d}`]),c(""))},defaultValue:"name",toggle:(0,sf.jsx)(nf.DropdownToggle,{"data-testid":"attribute-select-toggle",id:"toggle-basic",onToggle:w,children:null==(e=k.find((e=>e.key===h)))?void 0:e.value}),isOpen:v,dropdownItems:x}),(0,sf.jsx)(nf.ToolbarFilter,{chips:""!==d?[...p,`${h}:${d}`]:p,deleteChip:(e,t)=>(e=>{if(`${h}:${d}`===e)c("");else{const t=p.filter((t=>t!==e));u(t)}})(t),deleteChipGroup:A,categoryName:"Filters",children:(0,sf.jsx)(nf.SearchInput,{type:"text","data-testid":"filter-input",id:"search-input",placeholder:"Filter by "+h,value:d,onChange:(e,t)=>c(t),"aria-label":"Search input"})})]}),(0,sf.jsx)(nf.ToolbarItem,{variant:"pagination",children:(0,sf.jsx)(C,{})})]})});return(0,sf.jsxs)(nf.Card,{isFullHeight:!0,children:[T,(()=>{let e=i;return f>=0&&(e=i.sort(((e,t)=>cr(1===f?e.value:e.key,1===f?t.value:t.key,"desc"===b)))),e})().length>0&&(0,sf.jsx)(nf.FormGroup,{children:(0,sf.jsxs)(of.TableComposable,{"aria-label":"Message Table",variant:"compact",height:"80vh",isStriped:!0,isStickyHeader:!0,children:[(0,sf.jsx)(of.Thead,{children:(0,sf.jsxs)(of.Tr,{children:[(0,sf.jsx)(of.Th,{"data-testid":"name-header",sort:S(0),children:"Property Name"}),(0,sf.jsx)(of.Th,{"data-testid":"value-header",sort:S(1),children:"Property Value"})]})}),(0,sf.jsx)(of.Tbody,{children:(()=>{const e=(o-1)*s,t=e+s;return i.slice(e,t)})().map(((e,t)=>(0,sf.jsxs)(of.Tr,{"data-testid":"row"+t,children:[(0,sf.jsx)(of.Td,{style:{width:"20%"},children:e.key}),(0,sf.jsx)(of.Td,{style:{flex:3},children:e.value})]},"row"+t)))})]})}),0===i.length&&(0,sf.jsx)(nf.Bullseye,{children:(0,sf.jsxs)(nf.EmptyState,{children:[(0,sf.jsx)(nf.EmptyStateIcon,{icon:ot}),(0,sf.jsx)(nf.EmptyStateBody,{children:"No results found."})]})})]})},df=r(52557),cf=w(r(44914)),pf=r(96527),uf=r(52557),hf=r(74848),mf=({state:e})=>{switch(e){case"RUNNABLE":return(0,hf.jsx)(uf.Label,{color:"green",children:e});case"WAITING":case"TIMED_WAITING":return(0,hf.jsx)(uf.Label,{color:"orange",children:e});default:return(0,hf.jsx)(uf.Label,{color:"grey",children:e})}},ff=({thread:e,isOpen:t,setIsOpen:r})=>e?(0,hf.jsx)(uf.Modal,{bodyAriaLabel:"Thread Details",tabIndex:0,variant:uf.ModalVariant.medium,title:"Thread details",isOpen:t,onClose:()=>r(!1),children:(0,hf.jsxs)(uf.Grid,{hasGutter:!0,children:[(0,hf.jsx)(gf,{itemName:"ID",itemValue:e.threadId}),(0,hf.jsx)(gf,{itemName:"State",itemValue:e.threadState}),(0,hf.jsx)(gf,{itemName:"Name",itemValue:e.threadName}),(0,hf.jsx)(gf,{itemName:"Native",itemValue:e.inNative?"Yes":"No"}),(0,hf.jsx)(gf,{itemName:"Suspended",itemValue:e.suspended?"Yes":"No"}),(0,hf.jsx)(gf,{itemName:"Waited Count",itemValue:e.waitedCount}),(0,hf.jsx)(gf,{itemName:"Waited Time",itemValue:e.waitedTime}),(0,hf.jsx)(gf,{itemName:"Blocked Count",itemValue:e.blockedCount}),(0,hf.jsx)(gf,{itemName:"Blocked Time",itemValue:e.blockedTime}),e.lockInfo&&(0,hf.jsxs)(hf.Fragment,{children:[(0,hf.jsx)(gf,{itemName:"Lock Name",itemValue:e.lockInfo.lockName}),(0,hf.jsx)(gf,{itemName:"Lock Class Name",itemValue:e.lockInfo.className}),(0,hf.jsx)(gf,{itemName:"Identity Hash Code",itemValue:e.lockInfo.identityHashCode})]}),(0,hf.jsx)(gf,{itemName:"Waiting for lock owned by",itemValue:e.lockOwnerId}),e.lockedSynchronizers&&e.lockedSynchronizers.length>0&&(0,hf.jsxs)(hf.Fragment,{children:[(0,hf.jsx)(uf.GridItem,{span:3,children:(0,hf.jsx)("i",{children:"Locked Synchronizers"})}),(0,hf.jsx)(uf.GridItem,{span:9,children:(0,hf.jsx)(hf.Fragment,{children:e.lockedSynchronizers.map((e=>(0,hf.jsxs)(hf.Fragment,{children:[(0,hf.jsx)("span",{title:"Class Name",children:e.className}),(0,hf.jsx)("span",{title:"Identity Hash Code",children:e.identityHashCode})]})))})})]}),e.lockedMonitors&&e.lockedMonitors.length>0&&(0,hf.jsxs)(hf.Fragment,{children:[(0,hf.jsx)(uf.GridItem,{span:3,children:(0,hf.jsx)("i",{children:"Locked Monitors"})}),(0,hf.jsx)(uf.GridItem,{span:9,children:(0,hf.jsx)("ol",{children:e.lockedMonitors.map(((e,t)=>(0,hf.jsxs)("li",{children:["Frame: ",(0,hf.jsx)("strong",{children:e.lockedStackDepth}),(0,hf.jsx)("span",{style:{color:"#4cb140"},children:e.lockedStackFrame.className}),(0,hf.jsx)("strong",{children:"."}),(0,hf.jsx)("strong",{children:(0,hf.jsx)("span",{style:{color:"#519de9"},children:e.lockedStackFrame.methodName})}),"(",e.lockedStackFrame.fileName,e.lockedStackFrame.lineNumber>0&&(0,hf.jsxs)("span",{children:[":",e.lockedStackFrame.lineNumber]}),e.lockedStackFrame.nativeMethod&&(0,hf.jsx)("span",{style:{color:"orange"},children:"(Native)"})]},"monitor-key-"+t)))})})]}),e.stackTrace.length>0&&(0,hf.jsxs)(hf.Fragment,{children:[(0,hf.jsx)(uf.GridItem,{span:2,children:(0,hf.jsx)("i",{children:"Stack Trace"})}),(0,hf.jsx)(uf.GridItem,{span:10,children:(0,hf.jsx)("ol",{children:e.stackTrace.map(((e,t)=>(0,hf.jsxs)("li",{children:[(0,hf.jsx)("span",{style:{color:"#4cb140"},children:e.className}),(0,hf.jsx)("strong",{children:"."}),(0,hf.jsx)("strong",{children:(0,hf.jsx)("span",{style:{color:"#519de9"},children:e.methodName})}),"(",e.fileName," ",e.lineNumber>0&&(0,hf.jsxs)("span",{children:[":",e.lineNumber]}),")",e.nativeMethod&&(0,hf.jsx)("span",{style:{color:"orange"},children:"(Native)"})]},"stacktrace-"+t)))})})]})]})}):null,gf=({itemName:e,itemValue:t})=>t?"number"==typeof t&&t<0||"string"==typeof t&&""===t?null:(0,hf.jsxs)(hf.Fragment,{children:[(0,hf.jsx)(uf.GridItem,{span:3,children:(0,hf.jsx)("i",{children:e})}),(0,hf.jsxs)(uf.GridItem,{span:9,children:[" ","State"===e?(0,hf.jsx)(mf,{state:t}):t]})]}):null,bf=r(74848),yf=({isOpen:e,setIsOpen:t})=>{const[r,i]=(0,cf.useState)("");return(0,cf.useEffect)((()=>{e&&C(void 0,null,(function*(){const e=yield ef.dumpThreads();i(e)}))}),[e]),(0,bf.jsx)(df.Modal,{bodyAriaLabel:"Thread Dump",tabIndex:0,isOpen:e,variant:"large",title:"Thread Dump",onClose:()=>t(!1),children:(0,bf.jsx)(df.CodeBlock,{children:(0,bf.jsx)(df.CodeBlockCode,{children:r})})})},vf=()=>{var e;const[t,r]=(0,cf.useState)([]),[i,n]=(0,cf.useState)([]),[o,a]=(0,cf.useState)(1),[s,l]=(0,cf.useState)(20),[d,c]=(0,cf.useState)(""),[p,u]=(0,cf.useState)([]),[h,m]=(0,cf.useState)("Name"),[f,g]=cf.default.useState(-1),[b,y]=cf.default.useState("asc"),[v,w]=(0,cf.useState)(!1),[A,k]=(0,cf.useState)(!1),[x,S]=(0,cf.useState)(!1),[T,E]=(0,cf.useState)(),[_,I]=(0,cf.useState)(!1);(0,cf.useEffect)((()=>(C(void 0,null,(function*(){const e=yield ef.loadThreads();r(e),n(e),I(yield ef.isThreadContentionMonitoringEnabled()),ef.registerLoadThreadsRequest((e=>{r(e),n(e)}))})),()=>ef.unregisterAll())),[]),(0,cf.useEffect)((()=>{let e=[...t];[...p,`${h}:${d}`].forEach((t=>{var r,i;const n=null!=(r=t.split(":")[0])?r:"",o=null!=(i=t.split(":")[1])?i:"";e=e.filter((e=>("Name"===n?e.threadName:String(e.threadState)).toLowerCase().includes(o.toLowerCase())))})),a(1),n([...e])}),[t,d,h,p]);const P=()=>{u([]),c("")},M=()=>(0,bf.jsx)(df.Pagination,{itemCount:i.length,page:o,perPage:s,onSetPage:(e,t)=>a(t),onPerPageSelect:(e,t)=>{l(t),a(1)},variant:"top"}),R=[{key:"threadId",value:"ID"},{key:"threadState",value:"State"},{key:"threadName",value:"Name"},{key:"waitedTime",value:"Waited Time"},{key:"blockedTime",value:"Blocked Time"},{key:"inNative",value:"Native"},{key:"suspended",value:"Suspended"}],D=[(0,bf.jsx)(df.DropdownItem,{onClick:()=>{m("Name")},children:"Name"},"name-key"),(0,bf.jsx)(df.DropdownItem,{onClick:()=>{m("State")},children:"State"},"state")],B=e=>{const{suspended:t,blockedTime:r,inNative:i,threadId:n,threadName:o,threadState:a,waitedTime:s}=e;return[n,a,o,s,r,String(i),String(t)]},O=(0,bf.jsx)(df.Toolbar,{clearAllFilters:P,children:(0,bf.jsxs)(df.ToolbarContent,{children:[(0,bf.jsxs)(df.ToolbarGroup,{children:[(0,bf.jsx)(df.Dropdown,{"data-testid":"attribute-select",onSelect:()=>{w(!1),""!==d&&(u([...p,`${h}:${d}`]),c(""))},defaultValue:"Name",toggle:(0,bf.jsx)(df.DropdownToggle,{"data-testid":"attribute-select-toggle",id:"toggle-basic",onToggle:w,children:null==(e=R.find((e=>e.value===h)))?void 0:e.value}),isOpen:v,dropdownItems:D}),(0,bf.jsx)(df.ToolbarFilter,{chips:""!==d?[...p,`${h}:${d}`]:p,deleteChip:(e,t)=>(e=>{if(`${h}:${d}`===e)c("");else{const t=p.filter((t=>t!==e));u(t)}})(t),deleteChipGroup:P,categoryName:"Filters",children:(0,bf.jsx)(df.SearchInput,{type:"text","data-testid":"filter-input",id:"search-input",placeholder:"Search...",value:d,onChange:(e,t)=>c(t),"aria-label":"Search input"})})]}),(0,bf.jsxs)(df.ToolbarGroup,{children:[(0,bf.jsx)(df.ToolbarItem,{children:(0,bf.jsxs)(df.Button,{variant:"primary",onClick:()=>C(void 0,null,(function*(){yield ef.enableThreadContentionMonitoring(!_),I(!_)})),isSmall:!0,children:[_?"Disable":"Enable"," connection thread monitoring"]})}),(0,bf.jsx)(df.ToolbarItem,{children:(0,bf.jsx)(df.Button,{variant:"secondary",onClick:()=>{k(!0)},isSmall:!0,children:"Thread dump"})})]}),(0,bf.jsx)(df.ToolbarItem,{variant:"pagination",children:(0,bf.jsx)(M,{})})]})});return(0,bf.jsxs)(df.Card,{isFullHeight:!0,children:[(0,bf.jsx)(yf,{isOpen:A,setIsOpen:k}),(0,bf.jsx)(ff,{isOpen:x,thread:T,setIsOpen:S}),O,(()=>{let e=i;return f>=0&&(e=i.sort(((e,t)=>cr(B(e)[f],B(t)[f],"desc"===b)))),e})().length>0&&(0,bf.jsx)(df.FormGroup,{children:(0,bf.jsxs)(pf.TableComposable,{"aria-label":"Message Table",variant:"compact",height:"80vh",isStriped:!0,isStickyHeader:!0,children:[(0,bf.jsx)(pf.Thead,{children:(0,bf.jsxs)(pf.Tr,{children:[R.map(((e,t)=>{return(0,bf.jsx)(pf.Th,{"data-testid":"id-"+e.key,sort:(r=t,{sortBy:{index:f,direction:b,defaultDirection:"asc"},onSort:(e,t,r)=>{g(t),y(r)},columnIndex:r}),children:e.value},"th-key"+t);var r})),(0,bf.jsx)(pf.Th,{})]})}),(0,bf.jsx)(pf.Tbody,{children:(()=>{const e=(o-1)*s,t=e+s;return i.slice(e,t)})().map(((e,t)=>(0,bf.jsxs)(pf.Tr,{"data-testid":"row"+t,children:[R.map(((r,i)=>(0,bf.jsx)(pf.Td,{children:"threadState"===r.key?(0,bf.jsx)(mf,{state:B(e)[i]}):B(e)[i]},"col"+t+"-"+i))),(0,bf.jsx)(pf.Td,{children:(0,bf.jsx)(df.Button,{onClick:t=>{S(!0),E(e)},isSmall:!0,variant:"link",children:"Details"})})]},"row"+t)))})]})}),0===i.length&&(0,bf.jsx)(df.Bullseye,{children:(0,bf.jsxs)(df.EmptyState,{children:[(0,bf.jsx)(df.EmptyStateIcon,{icon:ot}),(0,bf.jsx)(df.EmptyStateBody,{children:"No results found."})]})})]})},wf=r(74848),Af=()=>{const e=(0,Ym.useLocation)(),t=[{id:"sysprops",title:"System properties",component:(0,wf.jsx)(lf,{})},{id:"metrics",title:"Metrics",component:(0,wf.jsx)(rf,{})},{id:"threads",title:"Threads",component:(0,wf.jsx)(vf,{})}];return(0,wf.jsxs)(Qm.default.Fragment,{children:[(0,wf.jsx)(Km.PageSection,{variant:"light",children:(0,wf.jsx)(Km.Title,{headingLevel:"h1",children:"Runtime"})}),(0,wf.jsx)(Km.PageGroup,{children:(0,wf.jsx)(Km.PageNavigation,{children:(0,wf.jsx)(Km.Nav,{"aria-label":"Runtime Nav",variant:"tertiary",children:(0,wf.jsx)(Km.NavList,{children:t.map((t=>(0,wf.jsx)(Km.NavItem,{isActive:e.pathname===`/runtime/${t.id}`,children:(0,wf.jsx)(Ym.NavLink,{to:t.id,children:t.title})},t.id)))})})})}),(0,wf.jsx)(Km.PageSection,{children:(0,wf.jsxs)(Ym.Routes,{children:[t.map((e=>(0,wf.jsx)(Ym.Route,{path:e.id,element:e.component},e.id))),(0,wf.jsx)(Ym.Route,{path:"/",element:(0,wf.jsx)(Ym.Navigate,{to:"sysprops"})})]})})]})},Cf="runtime",kf=(N.get("hawtio-runtime"),()=>{pe.addPlugin({id:Cf,title:"Runtime",path:"/runtime",order:16,component:Af,isActive:()=>C(void 0,null,(function*(){return en.hasMBeans()}))}),kt.add(Cf,"Runtime","## Runtime\n\nThe Runtime plugin displays information about the JVM runtime.\n\n### System Properties\n\nDisplays a filterable and sortable list of system properties.\n\n### Metrics\n\nDisplays runtime metrics from the JVM, such as memory, CPU, garbage collection and more.\n\n### Threads\n\nInspects the threads running in the JVM.\n",16)}),xf=r(52557),Sf=w(r(44914)),Tf=r(78765),Ef=r(44914),_f=r(52557),If=class{constructor(e){var t;A(this,"timestamp"),A(this,"method",""),A(this,"path",""),A(this,"httpStatusCode",-1),A(this,"timeTaken","-1"),A(this,"info",""),this.timestamp=e.timestamp,e.info?(this.method=e.info.method,this.path=e.info.path,this.info=JSON.stringify(e.info,null,2),e.info.timeTaken&&(this.timeTaken=e.info.timeTaken),(null==(t=e.info.headers)?void 0:t.response)&&(this.httpStatusCode=parseInt(e.info.headers.response.status))):e.request&&(this.method=e.request.method,this.path=new URL(e.request.uri).pathname,this.info=JSON.stringify(e,null,2),e.timeTaken&&(this.timeTaken=e.timeTaken),e.response&&e.response.status&&(this.httpStatusCode=parseInt(e.response.status)))}},Pf=new class{constructor(){A(this,"isSpringBoot3",!0)}isActive(){return en.treeContainsDomainAndProperties("org.springframework.boot")}setIsSpringBoot3(e){this.isSpringBoot3=e}loadHealth(){return C(this,null,(function*(){const e=yield ei.execute("org.springframework.boot:type=Endpoint,name=Health","health");let t=[];return t=Object.entries(e.components).map((([e,t])=>{let r;return t.details&&(r=Object.entries(t.details).map((([e,t])=>({key:e,value:["string","number","boolean"].includes(typeof t)?t.toString():Object.entries(t).map((([e,t])=>({key:e,value:t})))})))),{name:e,status:t.status,details:t.details?r:void 0}})),{status:e.status,components:t}}))}getInfo(){return C(this,null,(function*(){const e=[],t=yield ei.execute("org.springframework.boot:type=Endpoint,name=Info","info");return Object.entries(t).forEach((([t,r])=>{const i="string"==typeof r?r:JSON.stringify(r).replaceAll('"',"").replaceAll(":","=").replaceAll("={",": [").replaceAll(",","; ").replaceAll("}","]").slice(1,-1);e.push({key:t,value:i})})),e}))}hasEndpoint(e){return en.treeContainsDomainAndProperties("org.springframework.boot",{type:"Endpoint",name:e})}getLoggerConfiguration(){return C(this,null,(function*(){const e=yield ei.execute("org.springframework.boot:type=Endpoint,name=Loggers","loggers"),t=[];return Object.entries(e.loggers).forEach((([e,r])=>{const i={name:e,configuredLevel:null==r.configuredLevel?r.effectiveLevel:r.configuredLevel,effectiveLevel:r.effectiveLevel};t.push(i)})),{levels:e.levels,loggers:t}}))}configureLogLevel(e,t){return C(this,null,(function*(){return yield ei.execute("org.springframework.boot:type=Endpoint,name=Loggers","configureLogLevel",[e,t])}))}loadTraces(){return C(this,null,(function*(){const e=[];let t="Httpexchanges",r="httpExchanges",i=[];this.isSpringBoot3||(t="Httptrace",r="traces");const n=yield ei.execute(`org.springframework.boot:type=Endpoint,name=${t}`,r);return i=this.isSpringBoot3?n.exchanges:n.traces,i.filter((e=>{var t,r;const i=e.info?e.info.path:null!=(r=null==(t=e.request)?void 0:t.uri)?r:"";return!1===/.*?\/jolokia\/?(?:\/.*(?=$))?$/.test(i)})).forEach((t=>{e.push(new If(t))})),e}))}},Mf=r(96527),Rf=r(31881),Df=r(74848),Bf=["diskSpace","camelHealth","camel"],Of=({componentDetails:e})=>(0,Df.jsx)(Mf.TableComposable,{variant:"compact",borders:!1,children:(0,Df.jsx)(Mf.Tbody,{style:{fontSize:"xx-small"},children:e.map(((e,t)=>(0,Df.jsxs)(Mf.Tr,{children:[(0,Df.jsxs)(Mf.Td,{children:[M(e.key),":"]},e.key+t),(0,Df.jsx)(Mf.Td,{children:"string"==typeof e.value?e.value:(0,Df.jsx)(Of,{componentDetails:e.value})})]},"row"+e.key+t)))})}),qf=({status:e})=>{switch(e){case"UP":return(0,Df.jsx)(Le,{color:"green"});case"DOWN":return(0,Df.jsx)(He,{color:"red"});case"OUT_OF_SERVICE":return(0,Df.jsx)(Ve,{color:"orange"});case"UNKNOWN":return(0,Df.jsx)(rt,{});default:return(0,Df.jsx)(Ge,{color:"blue"})}},Nf=({componentDetails:e})=>{const t=Number.parseInt(e.find((e=>"total"===e.key)).value),r=Number.parseInt(e.find((e=>"free"===e.key)).value),i=Math.round(100*(t-r)/t);return(0,Df.jsxs)(_f.Grid,{height:"100%",children:[(0,Df.jsx)(_f.GridItem,{span:6,children:(0,Df.jsx)(Of,{componentDetails:e})}),(0,Df.jsx)(_f.GridItem,{span:6,children:(0,Df.jsx)(Rf.ChartDonutUtilization,{ariaDesc:"Storage capacity",ariaTitle:"Donut utilization chart example",constrainToVisibleArea:!0,data:{x:"Used Space",y:i},name:"chart2",subTitle:"of available space",title:`${i}% used`,thresholds:[{value:90}],width:300})})]})},Lf=()=>{const[e,t]=(0,Ef.useState)();return(0,Ef.useEffect)((()=>{Pf.loadHealth().then((e=>{t(e)}))}),[]),(0,Df.jsx)(_f.PageSection,{variant:"default",children:e&&(0,Df.jsxs)(_f.Grid,{hasGutter:!0,span:4,children:[(0,Df.jsx)(_f.GridItem,{span:12,children:(0,Df.jsx)(_f.Card,{children:(0,Df.jsx)(_f.CardHeader,{children:(0,Df.jsxs)(_f.Flex,{children:[(0,Df.jsx)(qf,{status:null==e?void 0:e.status}),(0,Df.jsx)(_f.Title,{headingLevel:"h3",children:(0,Df.jsxs)("span",{children:["Overall status: ",null==e?void 0:e.status]})})]})})})}),null==e?void 0:e.components.sort(((e,t)=>Bf.includes(e.name)?-1:Bf.includes(t.name)?1:e.name.localeCompare(t.name))).map((e=>{const t=Bf.includes(e.name)?6:4;return(0,Df.jsx)(_f.GridItem,{span:t,children:(0,Df.jsxs)(_f.Card,{isFullHeight:!0,children:[(0,Df.jsx)(_f.CardHeader,{children:(0,Df.jsx)(_f.Title,{headingLevel:"h3",children:M(e.name)})}),(0,Df.jsx)(_f.CardBody,{style:{overflow:"auto"},children:(0,Df.jsxs)(_f.Flex,{children:[(0,Df.jsx)(_f.FlexItem,{children:(0,Df.jsx)(qf,{status:e.status})}),(0,Df.jsxs)(_f.FlexItem,{children:["Status: ",e.status]}),e.details&&("diskSpace"===e.name?(0,Df.jsx)(Nf,{componentDetails:e.details}):(0,Df.jsx)(Of,{componentDetails:e.details}))]})})]})},e.name)}))]})})},jf=r(44914),Ff=r(52557),Hf=r(96527),Vf=r(74848),zf=()=>{const[e,t]=(0,jf.useState)([]);return(0,jf.useEffect)((()=>{Pf.getInfo().then((e=>{t(e)}))}),[]),(0,Vf.jsx)(Ff.PageSection,{variant:"light",children:(0,Vf.jsx)(Ff.FormGroup,{children:(0,Vf.jsxs)(Hf.TableComposable,{"aria-label":"Message Table",variant:"compact",height:"80vh",isStriped:!0,isStickyHeader:!0,children:[(0,Vf.jsx)(Hf.Thead,{children:(0,Vf.jsxs)(Hf.Tr,{children:[(0,Vf.jsx)(Hf.Th,{"data-testid":"name-header",children:"Property Name"}),(0,Vf.jsx)(Hf.Th,{"data-testid":"value-header",children:"Property Value"})]})}),(0,Vf.jsx)(Hf.Tbody,{children:e.map(((e,t)=>(0,Vf.jsxs)(Hf.Tr,{"data-testid":"row"+t,children:[(0,Vf.jsx)(Hf.Td,{style:{width:"20%"},children:e.key}),(0,Vf.jsx)(Hf.Td,{style:{flex:3},children:e.value})]},"row"+t)))})]})})})},Wf=w(r(44914)),Uf=r(52557),Gf=r(96527),Jf=r(74848),Kf=({currentLevel:e,loggerName:t,logLevels:r,setIsDropdownOpen:i,isDropdownOpen:n,reloadLoggers:o})=>{const a=r.map((e=>(0,Jf.jsx)(Uf.DropdownItem,{onClick:()=>{Pf.configureLogLevel(t,e),o()},children:(0,Jf.jsx)(Qf,{level:e})},t+""+e)));return(0,Jf.jsx)(Uf.Dropdown,{isPlain:!0,onSelect:()=>i(null),defaultValue:e,toggle:(0,Jf.jsx)(Uf.DropdownToggle,{id:`toggle-basic-${t}`,onToggle:()=>i((e=>e===t?null:t)),children:(0,Jf.jsx)(Qf,{level:e})}),isOpen:n===t,dropdownItems:a})},Qf=({level:e})=>{switch(e){case"TRACE":case"OFF":case"DEBUG":return(0,Jf.jsx)(Uf.Label,{color:"grey",children:e});case"INFO":return(0,Jf.jsx)(Uf.Label,{color:"blue",children:e});case"WARN":return(0,Jf.jsx)(Uf.Label,{color:"orange",children:e});case"ERROR":return(0,Jf.jsx)(Uf.Label,{color:"red",children:e});default:return(0,Jf.jsx)(Wf.default.Fragment,{children:e})}},Yf=()=>{const[e,t]=(0,Wf.useState)(""),[r,i]=(0,Wf.useState)([]),[n,o]=(0,Wf.useState)("ALL"),[a,s]=(0,Wf.useState)([]),[l,d]=(0,Wf.useState)([]),[c,p]=(0,Wf.useState)([]),[u,h]=(0,Wf.useState)(!1),[m,f]=(0,Wf.useState)(null),[g,b]=(0,Wf.useState)(1),[y,v]=(0,Wf.useState)(20),[w,A]=(0,Wf.useState)(!1);(0,Wf.useEffect)((()=>{Pf.getLoggerConfiguration().then((e=>{const t=e.loggers.sort(((e,t)=>"ROOT"===e.name?-1:"ROOT"===t.name?1:e.name.localeCompare(t.name)));d(t),p([...e.levels]),s(t)}))}),[w]),(0,Wf.useEffect)((()=>{let t=l.filter((e=>"ALL"===n||e.configuredLevel===n));[...r,e].forEach((e=>{t=t.filter((t=>t.name.toLowerCase().includes(e.toLowerCase())))})),s([...t]),b(1)}),[r,e,n,l]);const C=()=>(0,Jf.jsx)(Uf.Pagination,{itemCount:a.length,page:g,perPage:y,onSetPage:(e,t)=>b(t),onPerPageSelect:(e,t)=>{v(t),b(1)},variant:"top"}),k=()=>{const e=(g-1)*y,t=e+y;return a.slice(e,t)},x=["ALL",...c].map((e=>(0,Jf.jsx)(Uf.DropdownItem,{onClick:()=>{o(e)},children:(0,Jf.jsx)(Qf,{level:e})},e))),S=(0,Jf.jsx)(Uf.Toolbar,{children:(0,Jf.jsxs)(Uf.ToolbarContent,{children:[(0,Jf.jsxs)(Uf.ToolbarGroup,{children:[(0,Jf.jsx)(Uf.Dropdown,{"data-testid":"attribute-select",onSelect:()=>h(!1),defaultValue:"INFO",toggle:(0,Jf.jsx)(Uf.DropdownToggle,{"data-testid":"attribute-select-toggle",id:"toggle-basic",onToggle:h,children:(0,Jf.jsx)(Qf,{level:n})}),isOpen:u,dropdownItems:x}),(0,Jf.jsx)(Uf.ToolbarFilter,{chips:r,deleteChip:(e,t)=>(e=>{const t=r.filter((t=>t!==e));i(t)})(t),deleteChipGroup:()=>{i([]),t("")},categoryName:"Filters",children:(0,Jf.jsx)(Uf.SearchInput,{type:"text","data-testid":"filter-input",id:"search-input",placeholder:"Search...",value:e,onChange:(e,r)=>t(r),"aria-label":"Search input"})}),(0,Jf.jsx)(Uf.Button,{variant:"secondary",onClick:()=>{i([...r,e]),t("")},isSmall:!0,children:"Add Filter"})]}),(0,Jf.jsx)(Uf.ToolbarItem,{variant:"pagination",children:(0,Jf.jsx)(C,{})})]})});return(0,Jf.jsxs)(Uf.PageSection,{variant:"light",children:[S,k().length>0&&(0,Jf.jsx)(Uf.FormGroup,{children:(0,Jf.jsxs)(Gf.TableComposable,{"aria-label":"Message Table",variant:"compact",height:"80vh",isStriped:!0,isStickyHeader:!0,children:[(0,Jf.jsx)(Gf.Thead,{children:(0,Jf.jsxs)(Gf.Tr,{children:[(0,Jf.jsx)(Gf.Th,{"data-testid":"log-level-header",children:"Log Level"}),(0,Jf.jsx)(Gf.Th,{"data-testid":"logger-name-header",children:"Logger Name"})]})}),(0,Jf.jsx)(Gf.Tbody,{children:k().map(((e,t)=>(0,Jf.jsxs)(Gf.Tr,{"data-testid":"row"+t,children:[(0,Jf.jsx)(Gf.Td,{style:{width:"20%"},children:(0,Jf.jsx)(Kf,{loggerName:e.name,currentLevel:e.configuredLevel,logLevels:c,setIsDropdownOpen:f,isDropdownOpen:m,reloadLoggers:()=>{A(!w)}})}),(0,Jf.jsx)(Gf.Td,{style:{flex:3},children:e.name})]},"row"+t)))})]})}),0===a.length&&(0,Jf.jsx)(Uf.Bullseye,{children:(0,Jf.jsxs)(Uf.EmptyState,{children:[(0,Jf.jsx)(Uf.EmptyStateIcon,{icon:ot}),(0,Jf.jsx)(Uf.EmptyStateBody,{children:"No results found."})]})})]})},Zf=r(44914),Xf=r(52557),$f=r(96527),eg=r(74848),tg=({code:e})=>e<400?(0,eg.jsx)(Le,{color:"#3E8635"}):(0,eg.jsx)(He,{color:"#C9190B"}),rg=({method:e})=>{switch(e){case"GET":case"HEAD":return(0,eg.jsx)(Xf.Label,{color:"blue",children:e});case"POST":return(0,eg.jsx)(Xf.Label,{color:"orange",children:e});case"DELETE":return(0,eg.jsx)(Xf.Label,{color:"red",children:e});case"PUT":case"PATCH":return(0,eg.jsx)(Xf.Label,{color:"green",children:e});default:return(0,eg.jsx)(Xf.Label,{color:"grey",children:e})}},ig=({isOpen:e,setIsOpen:t,traceInfo:r})=>(0,eg.jsx)(Xf.Modal,{bodyAriaLabel:"Trace detail",tabIndex:0,isOpen:e,variant:"large",title:"Trace",onClose:()=>t(!1),children:(0,eg.jsx)(Xf.CodeBlock,{children:(0,eg.jsx)(Xf.CodeBlockCode,{children:r})})}),ng=()=>{var e;const[t,r]=(0,Zf.useState)([]),[i,n]=(0,Zf.useState)([]),[o,a]=(0,Zf.useState)("ALL"),[s,l]=(0,Zf.useState)(1),[d,c]=(0,Zf.useState)(20),[p,u]=(0,Zf.useState)(""),[h,m]=(0,Zf.useState)([]),[f,g]=(0,Zf.useState)("Timestamp"),[b,y]=(0,Zf.useState)(!1),[v,w]=(0,Zf.useState)(!1),[A,C]=(0,Zf.useState)(!1),[k,x]=(0,Zf.useState)("");(0,Zf.useEffect)((()=>{Pf.loadTraces().then((e=>{r(e),n(e)}))}),[]),(0,Zf.useEffect)((()=>{let e=t.filter((e=>"ALL"===o||e.method.toLowerCase().includes(o.toLowerCase())));[...h,`${f}: ${p}`].forEach((t=>{var r,i;const n=null!=(r=t.split(": ")[0])?r:"",o=null!=(i=t.split(": ")[1])?i:"";switch(n){case"Timestamp":e=e.filter((e=>e.timestamp.includes(o)));break;case"HTTP Status":e=e.filter((e=>e.httpStatusCode.toString().includes(o)));break;case"Time Taken":e=e.filter((e=>e.timeTaken.includes(o)));break;default:e=e.filter((e=>e.path.includes(o)))}})),n(e)}),[t,f,h,o,p]);const S=()=>(0,eg.jsx)(Xf.Pagination,{name:"table-pagination",itemCount:i.length,page:s,perPage:d,onSetPage:(e,t)=>l(t),onPerPageSelect:(e,t)=>{c(t),l(1)},variant:"top"}),T=()=>{const e=(s-1)*d,t=e+d;return i.slice(e,t)},E=[{key:"timestamp",value:"Timestamp"},{key:"httpStatus",value:"HTTP Status"},{key:"httpMethod",value:"HTTP Method"},{key:"path",value:"Path"},{key:"timeTaken",value:"Time Taken"}],_=["Timestamp","HTTP Status","Path","Time Taken"].map((e=>(0,eg.jsx)(Xf.DropdownItem,{onClick:()=>{g(e)},children:e},e+"key"))),I=["ALL","GET","POST","DELETE","HEAD","OPTIONS","PATCH","PUT","TRACE"].map((e=>(0,eg.jsx)(Xf.DropdownItem,{onClick:()=>a(e),children:(0,eg.jsx)(rg,{method:e})},"method-"+e))),P=(0,eg.jsx)(Xf.Toolbar,{children:(0,eg.jsxs)(Xf.ToolbarContent,{children:[(0,eg.jsx)(Xf.ToolbarItem,{children:(0,eg.jsx)(Xf.Dropdown,{"data-testid":"http-method-select",id:"http-dropdown",onSelect:()=>w(!1),toggle:(0,eg.jsx)(Xf.DropdownToggle,{"data-testid":"http-method-select-toggle",id:"http-method-toggle",onToggle:w,children:(0,eg.jsx)(rg,{method:o})}),isOpen:v,dropdownItems:I})}),(0,eg.jsxs)(Xf.ToolbarGroup,{children:[(0,eg.jsx)(Xf.Dropdown,{"data-testid":"attribute-select",onSelect:()=>y(!1),defaultValue:"HTTP Method",toggle:(0,eg.jsx)(Xf.DropdownToggle,{"data-testid":"attribute-select-toggle",id:"toggle-basic",onToggle:y,children:null==(e=E.find((e=>e.value===f)))?void 0:e.value}),isOpen:b,dropdownItems:_}),(0,eg.jsx)(Xf.ToolbarFilter,{chips:h,deleteChip:(e,t)=>(e=>{const t=h.filter((t=>t!==e));m(t)})(t),deleteChipGroup:()=>{m([]),u("")},categoryName:"Filters",children:(0,eg.jsx)(Xf.SearchInput,{type:"text","data-testid":"trace-filter-input",id:"trace-filter-search-input",name:"trace-filter-search-input",placeholder:"Filter...",value:p,onChange:(e,t)=>u(t),"aria-label":"trace-filter-input"})}),(0,eg.jsx)(Xf.ToolbarItem,{children:(0,eg.jsx)(Xf.Button,{id:"add-filter-button",variant:"secondary",onClick:()=>{m([...h,`${f}: ${p}`]),u("")},isSmall:!0,children:"Add Filter"})})]}),(0,eg.jsx)(Xf.ToolbarItem,{name:"pagination",variant:"pagination",children:(0,eg.jsx)(S,{})})]})});return(0,eg.jsxs)(Xf.PageSection,{children:[(0,eg.jsx)(ig,{isOpen:A,setIsOpen:C,traceInfo:k}),P,T().length>0&&(0,eg.jsx)(Xf.FormGroup,{children:(0,eg.jsxs)($f.TableComposable,{"aria-label":"Message Table",variant:"compact",height:"80vh",isStriped:!0,isStickyHeader:!0,children:[(0,eg.jsx)($f.Thead,{children:(0,eg.jsxs)($f.Tr,{children:[E.map(((e,t)=>(0,eg.jsx)($f.Th,{"data-testid":"id-"+e.key,children:e.value},"th-key"+t))),(0,eg.jsx)($f.Th,{children:" Actions"})]})}),(0,eg.jsx)($f.Tbody,{children:T().map(((e,t)=>(0,eg.jsxs)($f.Tr,{"data-testid":"row"+t,children:[(0,eg.jsx)($f.Td,{children:e.timestamp},"col-timestamp"),(0,eg.jsx)($f.Td,{children:(0,eg.jsxs)(Xf.Flex,{children:[(0,eg.jsx)(tg,{code:e.httpStatusCode}),(0,eg.jsx)("span",{children:e.httpStatusCode})]})},"col-http-status"),(0,eg.jsx)($f.Td,{children:(0,eg.jsx)(rg,{method:e.method})},"col-http=method"),(0,eg.jsx)($f.Td,{children:e.path},"col-path"),(0,eg.jsx)($f.Td,{children:e.timeTaken},"col-time-taken"),(0,eg.jsx)($f.Td,{children:(0,eg.jsx)(Xf.Button,{onClick:t=>{C(!0),x(e.info)},isSmall:!0,children:"Show"})})]},"row"+t)))})]})}),0===i.length&&(0,eg.jsx)(Xf.Bullseye,{children:(0,eg.jsxs)(Xf.EmptyState,{children:[(0,eg.jsx)(Xf.EmptyStateIcon,{icon:ot}),(0,eg.jsx)(Xf.EmptyStateBody,{children:"No results found."})]})})]})},og=r(74848),ag=()=>{const e=(0,Tf.useLocation)(),[t,r]=(0,Sf.useState)([]);return(0,Sf.useEffect)((()=>{C(void 0,null,(function*(){const e=[];(yield Pf.hasEndpoint("Health"))&&e.push({id:"health",title:"Health",component:(0,og.jsx)(Lf,{})}),(yield Pf.hasEndpoint("Info"))&&e.push({id:"info",title:"Info",component:(0,og.jsx)(zf,{})}),(yield Pf.hasEndpoint("Loggers"))&&e.push({id:"loggers",title:"Loggers",component:(0,og.jsx)(Yf,{})}),(yield Pf.hasEndpoint("Httptrace"))&&(Pf.setIsSpringBoot3(!1),e.push({id:"trace",title:"Trace",component:(0,og.jsx)(ng,{})})),(yield Pf.hasEndpoint("Httpexchanges"))&&(Pf.setIsSpringBoot3(!0),e.push({id:"trace",title:"Trace",component:(0,og.jsx)(ng,{})})),r([...e])}))}),[]),(0,og.jsxs)(Sf.default.Fragment,{children:[(0,og.jsx)(xf.PageSection,{variant:"light",children:(0,og.jsx)(xf.Title,{headingLevel:"h1",children:"Spring Boot"})}),(0,og.jsx)(xf.PageGroup,{children:(0,og.jsx)(xf.PageNavigation,{children:(0,og.jsx)(xf.Nav,{"aria-label":"Spring-boot Nav",variant:"tertiary",children:(0,og.jsx)(xf.NavList,{children:t.map((t=>(0,og.jsx)(xf.NavItem,{isActive:e.pathname===`/springboot/${t.id}`,children:(0,og.jsx)(Tf.NavLink,{to:t.id,children:t.title})},t.id)))})})})}),(0,og.jsx)(xf.PageSection,{children:(0,og.jsxs)(Tf.Routes,{children:[t.map((e=>(0,og.jsx)(Tf.Route,{path:e.id,element:e.component},e.id))),(0,og.jsx)(Tf.Route,{path:"/",element:(0,og.jsx)(Tf.Navigate,{to:"health"})})]})})]})},sg="springboot",lg=(N.get("hawtio-springboot"),()=>{pe.addPlugin({id:sg,title:"Spring Boot",path:"/springboot",order:17,component:ag,isActive:Pf.isActive}),kt.add(sg,"Spring Boot","## Spring Boot\n\nThe Spring Boot plugin provides the capability interact with [actuator](https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html) endpoints exposed by an application.\n\n### Health\n\nDisplays the current health status of the application together with details returned from any Spring Boot health checks.\n\n### Info\n\nDisplays relevant information regarding the Spring boot application. It is the output of the Info actuator endpoint.\n\n### Loggers\n\nLists all the available loggers in the application. You can modify the level of a logger and the changes will take effect immediately.\n\n### Trace\n\nLists any HTTP traces for your application and lets you view information about the request / response such as headers, time taken etc.\n",17)}),dg=()=>{Ot(),Ht(),Gu(),uh(),Jm(),zp(),kf(),Rh(),zm(),lg()},cg=r(52557),pg=w(r(44914)),ug=r(78765),hg=r(52557),mg=w(r(44914)),fg=r(78765),gg=N.get("hawtio-preferences"),bg="preferences.showVerticalNavByDefault",yg="preferences.resetSuccess",vg=["connect.connections"],wg=new class{isShowVerticalNavByDefault(){const e=localStorage.getItem(bg);return!e||JSON.parse(e)}saveShowVerticalNavByDefault(e){localStorage.setItem(bg,JSON.stringify(e))}reset(){gg.info("Reset preferences");const e=vg.reduce(((e,t)=>{const r=localStorage.getItem(t);return r&&(e[t]=r),e}),{});localStorage.clear(),Object.entries(e).forEach((([e,t])=>localStorage.setItem(e,t))),sessionStorage.setItem(yg,"true")}isResetSuccess(){const e=sessionStorage.getItem(yg);return setTimeout((()=>sessionStorage.removeItem(yg)),1e3),!!e&&JSON.parse(e)}},Ag=r(74848),Cg=()=>{const[e,t]=(0,mg.useState)(wg.isShowVerticalNavByDefault());return(0,Ag.jsx)(hg.FormGroup,{label:"Default vertical nav state",fieldId:"ui-form-vertical-nav-switch",children:(0,Ag.jsx)(hg.Switch,{label:"Show vertical navigation",labelOff:"Hide vertical navigation",isChecked:e,onChange:e=>{t(e),wg.saveShowVerticalNavByDefault(e)}})})},kg=()=>{const e=(0,fg.useNavigate)(),[t,r]=(0,mg.useState)(!1),i=()=>{wg.reset(),e(0)},n=()=>{r(!t)},o=()=>(0,Ag.jsx)(hg.Modal,{variant:hg.ModalVariant.small,title:"Reset settings",titleIconVariant:"danger",isOpen:t,onClose:n,actions:[(0,Ag.jsx)(hg.Button,{variant:"danger",onClick:i,children:"Reset"},"reset"),(0,Ag.jsx)(hg.Button,{variant:"link",onClick:n,children:"Cancel"},"cancel")],children:"You are about to reset all the Hawtio settings."}),a=wg.isResetSuccess();return(0,Ag.jsxs)(mg.default.Fragment,{children:[(0,Ag.jsxs)(hg.FormGroup,{label:"Reset settings",fieldId:"reset-form-reset",helperText:"Clear all custom settings stored in your browser's local storage and reset to defaults.",children:[(0,Ag.jsx)(hg.Button,{variant:"danger",onClick:n,children:"Reset"}),(0,Ag.jsx)(o,{})]}),a&&(0,Ag.jsx)(hg.Alert,{variant:"success",isInline:!0,title:"Settings reset successfully!"})]})},xg=r(52557),Sg=w(r(44914)),Tg=r(44914),Eg=(0,Tg.createContext)({childLoggers:[],availableChildLoggers:[],reloadChildLoggers:()=>{}}),_g=r(74848),Ig=["OFF","ERROR","WARN","INFO","DEBUG"],Pg=()=>{const[e,t]=(0,Sg.useState)(N.getLevel().name);return(0,_g.jsx)(Sg.default.Fragment,{children:(0,_g.jsx)(xg.FormGroup,{label:"Log level",fieldId:"logs-global-form-log-level",children:(0,_g.jsx)(xg.Slider,{id:"logs-global-form-log-level-slider",value:Ig.findIndex((t=>t===e)),max:Ig.length-1,customSteps:Ig.map(((e,t)=>({value:t,label:e}))),onChange:e=>{var r;(r=Ig[e])&&(t(r),N.setLevel(r))}})})})},Mg=()=>{const{availableChildLoggers:e,reloadChildLoggers:t}=(0,Sg.useContext)(Eg),[r,i]=(0,Sg.useState)(!1),n=()=>{i(!r)},o=e=>()=>{N.addChildLogger(e),t()},a=e.map((e=>(0,_g.jsx)(xg.DropdownItem,{onClick:o(e),children:e.name},e.name)));return(0,_g.jsx)(xg.Toolbar,{id:"connect-toolbar",children:(0,_g.jsx)(xg.ToolbarContent,{children:(0,_g.jsx)(xg.ToolbarItem,{children:(0,_g.jsx)(xg.Dropdown,{onSelect:n,toggle:(0,_g.jsxs)(xg.DropdownToggle,{id:"logs-child-logger-toolbar-dropdown-toggle",toggleVariant:"secondary",onToggle:n,children:[(0,_g.jsx)(tt,{})," Add"]}),isOpen:r,dropdownItems:a})})})})},Rg=e=>{const{logger:t}=e,{reloadChildLoggers:r}=(0,Sg.useContext)(Eg),i=t.name;return(0,_g.jsx)(xg.DataListItem,{"aria-labelledby":`logs child logger ${i}`,children:(0,_g.jsxs)(xg.DataListItemRow,{children:[(0,_g.jsx)(xg.DataListItemCells,{dataListCells:[(0,_g.jsx)(xg.DataListCell,{width:1,children:(0,_g.jsx)("b",{children:i})},`logs-child-logger-name-${i}`),(0,_g.jsx)(xg.DataListCell,{width:2,children:(0,_g.jsx)(xg.Slider,{id:`logs-child-logger-actions-log-level-slider-${i}`,value:Ig.findIndex((e=>e===t.filterLevel.name)),max:Ig.length-1,customSteps:Ig.map(((e,t)=>({value:t,label:e}))),onChange:e=>{var i;(i=Ig[e])&&(N.updateChildLogger(t.name,i),r())}})},`logs-child-logger-log-level-${i}`)]}),(0,_g.jsx)(xg.DataListAction,{id:`logs-child-logger-actions-${i}`,"aria-label":`logs child logger actions ${i}`,"aria-labelledby":`${i} logs-child-logger-actions-${i}`,children:(0,_g.jsx)(xg.Button,{variant:"secondary",onClick:()=>{N.removeChildLogger(t),r()},children:(0,_g.jsx)(st,{})})})]})},`logs-child-logger-${i}`)},Dg=r(74848);kt.add("preferences","Preferences","## Preferences\n\nThe preferences page is used to configure application preferences and individual plugin preferences.\n\nThe preferences page is accessible by clicking the user icon in the main navigation bar (the top-right corner), and then by choosing the preferences sub menu option.\n",2),tn.add("home","Home",(()=>(0,Ag.jsx)(hg.CardBody,{children:(0,Ag.jsxs)(hg.Form,{isHorizontal:!0,children:[(0,Ag.jsx)(hg.FormSection,{title:"UI",titleElement:"h2",children:(0,Ag.jsx)(Cg,{})}),(0,Ag.jsx)(hg.FormSection,{title:"Reset",titleElement:"h2",children:(0,Ag.jsx)(kg,{})})]})})),1),tn.add("console-logs","Console Logs",(()=>{const{childLoggers:e,availableChildLoggers:t,reloadChildLoggers:r}=function(){const[e,t]=(0,Tg.useState)(N.getChildLoggers()),[r,i]=(0,Tg.useState)(N.getAvailableChildLoggers());return{childLoggers:e,setChildLoggers:t,availableChildLoggers:r,setAvailableChildLoggers:i,reloadChildLoggers:()=>{t(N.getChildLoggers()),i(N.getAvailableChildLoggers())}}}(),i=()=>(0,_g.jsx)(xg.DataList,{id:"logs-child-logger-list","aria-label":"logs child logger list",isCompact:!0,children:e.map((e=>(0,_g.jsx)(Rg,{logger:e},e.name)))});return(0,_g.jsx)(Eg.Provider,{value:{childLoggers:e,availableChildLoggers:t,reloadChildLoggers:r},children:(0,_g.jsx)(xg.CardBody,{children:(0,_g.jsxs)(xg.Form,{isHorizontal:!0,children:[(0,_g.jsx)(xg.FormSection,{title:"Global log settings",titleElement:"h2",children:(0,_g.jsx)(Pg,{})}),(0,_g.jsxs)(xg.FormSection,{title:"Child loggers",titleElement:"h2",children:[(0,_g.jsx)(Mg,{}),(0,_g.jsx)(i,{})]})]})})})}),2);var Bg=()=>{const e=(0,ug.useLocation)();return(0,Dg.jsxs)(pg.default.Fragment,{children:[(0,Dg.jsx)(cg.PageSection,{variant:cg.PageSectionVariants.light,children:(0,Dg.jsx)(cg.Title,{headingLevel:"h1",children:"Preferences"})}),(0,Dg.jsx)(cg.PageGroup,{children:(0,Dg.jsx)(cg.PageNavigation,{children:(0,Dg.jsx)(cg.Nav,{"aria-label":"Nav",variant:"tertiary",children:(0,Dg.jsx)(cg.NavList,{children:tn.getPreferences().map((t=>(0,Dg.jsx)(cg.NavItem,{isActive:e.pathname===`/preferences/${t.id}`,children:(0,Dg.jsx)(ug.NavLink,{to:t.id,children:t.title})},t.id)))})})})}),(0,Dg.jsx)(cg.PageSection,{children:(0,Dg.jsx)(cg.Card,{isFullHeight:!0,children:(0,Dg.jsxs)(ug.Routes,{children:[tn.getPreferences().map((e=>(0,Dg.jsx)(ug.Route,{path:e.id,element:pg.default.createElement(e.component)},e.id))),(0,Dg.jsx)(ug.Route,{path:"/",element:(0,Dg.jsx)(ug.Navigate,{to:"home"})})]})})})]})},Og=r(52557),qg=w(r(44914)),Ng=r(78765),Lg=r(52557),jg=w(r(44914)),Fg=r(44914),Hg=N.get("hawtio-ui-about"),Vg=r(74848),zg=e=>{const{about:t,aboutLoaded:r}=function(){const[e,t]=(0,Fg.useState)({}),[r,i]=(0,Fg.useState)(!1);return(0,Fg.useEffect)((()=>{(()=>{C(this,null,(function*(){const e=yield V.getHawtconfig();e.about&&t(e.about),i(!0)}))})()}),[]),{about:e,aboutLoaded:r}}();if(!r)return null;const i=t.imgSrc||ge,n=t.title||"Hawtio Management Console",o=t.copyright||"© Hawtio project",a=()=>t.description?(0,Vg.jsx)(Lg.TextContent,{id:"hawtio-about-description",children:(0,Vg.jsx)(Lg.Text,{component:"p",children:t.description})}):null,s=t.productInfo||[];s.sort(((e,t)=>I(e.name,t.name))),Hg.debug("Product info:",s);const l=()=>(0,Vg.jsxs)(Lg.TextContent,{id:"hawtio-about-product-info",children:[(0,Vg.jsx)(Lg.Text,{component:"h3",children:"Component versions"}),(0,Vg.jsx)(Lg.TextList,{component:"dl",children:s.map(((e,t)=>(0,Vg.jsxs)(jg.default.Fragment,{children:[(0,Vg.jsx)(Lg.TextListItem,{component:"dt",children:e.name}),(0,Vg.jsx)(Lg.TextListItem,{component:"dd",children:e.value})]},`product-info-${t}`)))})]});return(0,Vg.jsxs)(Lg.AboutModal,{isOpen:e.isOpen,onClose:e.onClose,productName:n,brandImageSrc:i,brandImageAlt:n,trademark:o,children:[(0,Vg.jsx)(a,{}),(0,Vg.jsx)(l,{})]})},Wg=r(52557),Ug=w(r(44914)),Gg=r(78765),Jg=(0,r(44914).createContext)({username:"",plugins:[]}),Kg=r(74848),Qg=()=>{const[e,t]=(0,Ug.useState)(wg.isShowVerticalNavByDefault());return(0,Kg.jsxs)(Wg.Masthead,{id:"hawtio-header",display:{default:"inline"},children:[(0,Kg.jsx)(Wg.MastheadToggle,{children:(0,Kg.jsx)(Wg.PageToggleButton,{variant:"plain","aria-label":"Global navigation",isNavOpen:e,onNavToggle:()=>t(!e),id:"vertical-nav-toggle",children:(0,Kg.jsx)(Ne,{})})}),(0,Kg.jsx)(Wg.MastheadMain,{children:(0,Kg.jsx)(Yg,{})}),(0,Kg.jsx)(Wg.MastheadContent,{children:(0,Kg.jsx)(Zg,{})})]})},Yg=()=>{var e,t,r,i,n,o;const{hawtconfig:a,hawtconfigLoaded:s}=me();if(!s)return null;const l=null!=(t=null==(e=a.branding)?void 0:e.appLogoUrl)?t:ge,d=null!=(i=null==(r=a.branding)?void 0:r.appName)?i:j,c=null!=(o=null==(n=a.branding)?void 0:n.showAppName)&&o;return(0,Kg.jsxs)(Wg.MastheadBrand,{id:"hawtio-header-brand",component:e=>(0,Kg.jsx)(Gg.Link,f({to:"/"},e)),children:[(0,Kg.jsx)(Wg.Brand,{src:l,alt:d}),c&&(0,Kg.jsx)(Wg.Title,{headingLevel:"h1",size:"xl",children:d})]})},Zg=()=>{const{username:e,plugins:t}=(0,Ug.useContext)(Jg),r=(0,Gg.useLocation)(),i=e===W,[n,o]=(0,Ug.useState)(!1),[a,s]=(0,Ug.useState)(!1),[l,d]=(0,Ug.useState)(!1),c=()=>d(!l),p=[(0,Kg.jsx)(Wg.DropdownItem,{component:(0,Kg.jsx)(Gg.Link,{to:"/help",children:"Help"})},"help"),(0,Kg.jsx)(Wg.DropdownItem,{onClick:c,children:"About"},"about")],u=[(0,Kg.jsx)(Wg.DropdownItem,{component:(0,Kg.jsx)(Gg.Link,{to:"/preferences",children:"Preferences"})},"preferences"),(0,Kg.jsx)(Wg.DropdownItem,{onClick:()=>Q.logout(),children:"Log out"},"logout")];i&&u.pop();const h=(()=>{const e=r.pathname,i=[];return t.forEach((t=>{t.headerItems&&0!==t.headerItems.length&&(e.startsWith(t.path)?i.push(...t.headerItems.map((e=>de(e)?e.component:e))):i.push(...t.headerItems.filter((e=>de(e)&&!0===e.universal)).map((e=>e.component))))})),i})();return(0,Kg.jsxs)(Wg.Toolbar,{id:"hawtio-header-toolbar",children:[(0,Kg.jsxs)(Wg.ToolbarContent,{children:[(0,Kg.jsx)(Wg.ToolbarGroup,{children:h.map(((e,t)=>(0,Kg.jsx)(Wg.ToolbarItem,{children:Ug.default.createElement(e)},`hawtio-header-toolbar-plugin-item-${t}`)))}),(0,Kg.jsx)(Wg.ToolbarGroup,{children:(0,Kg.jsx)(Wg.ToolbarItem,{children:(0,Kg.jsx)(Wg.Dropdown,{isPlain:!0,position:"right",onSelect:()=>o(!n),toggle:(0,Kg.jsx)(Wg.DropdownToggle,{toggleIndicator:null,onToggle:o,children:(0,Kg.jsx)(Ue,{})}),isOpen:n,dropdownItems:p})})}),(0,Kg.jsx)(Wg.ToolbarGroup,{children:(0,Kg.jsx)(Wg.ToolbarItem,{children:(0,Kg.jsx)(Wg.Dropdown,{isPlain:!0,position:"right",onSelect:()=>s(!a),isOpen:a,toggle:(0,Kg.jsx)(Wg.DropdownToggle,{id:"hawtio-header-user-dropdown-toggle",onToggle:s,icon:(0,Kg.jsx)(Wg.Avatar,{src:'data:image/svg+xml,%0A%0A',alt:"user"}),children:i?"":e}),dropdownItems:u})})})]}),(0,Kg.jsx)(zg,{isOpen:l,onClose:c})]})},Xg=r(52557),$g=r(44914),eb=r(78765),tb=r(74848),rb=()=>{const{plugins:e}=(0,$g.useContext)(Jg),{pathname:t}=(0,eb.useLocation)(),r=(0,tb.jsx)(Xg.Nav,{theme:"dark",children:(0,tb.jsx)(Xg.NavList,{children:e.map((e=>{return(0,tb.jsx)(Xg.NavItem,{isActive:(r=t,i=e.path,i.startsWith("/")||(i="/"+i),r.startsWith(i)),children:(0,tb.jsx)(eb.NavLink,{to:e.path,children:e.title})},e.id);var r,i}))})});return(0,tb.jsx)(Xg.PageSidebar,{nav:r,theme:"dark"})},ib=N.get("hawtio-ui-page"),nb=N.get("hawtio-ui-session"),ob=new class{constructor(){A(this,"lastActivity",0),A(this,"lastRefresh",0),A(this,"keepAlive",!0),A(this,"resetTimer",!1),A(this,"refresh",!0),A(this,"sessionConfig",null),A(this,"sessionTimeout",-1)}userActivity(){this.refresh&&(this.keepAlive=!0,Date.now()-this.lastRefresh>5e3&&(this.updateSession(),this.resetTimer=!0),this.lastActivity=Date.now())}updateSession(){return!(!this.keepAlive||this.sessionTimeout<=0||(Et("refresh",{success:()=>!0,error:()=>!1}).catch((e=>!1)),this.keepAlive=!1,this.lastRefresh=Date.now(),0))}sessionEnding(e){return e>=0&&e<21}sessionEnded(e){return e<=0&&this.sessionTimeout>0}getSessionTimeout(){return this.sessionTimeout}shouldResetTimer(){return this.resetTimer}clearResetTimerFlag(){this.resetTimer=!1}fetchConfiguration(){return C(this,null,(function*(){this.sessionTimeout=-1,this.sessionConfig=yield Et("auth/config/session-timeout?t="+Date.now(),{success:e=>{const t=JSON.parse(e);return(!t.timeout||t.timeout<=0)&&(t.timeout=-1),t.res=Date.now(),nb.info("Session configuration",t),t},error:()=>({timeout:-1})}),this.sessionConfig.timeout>0&&(this.sessionTimeout=Math.floor((1e3*this.sessionConfig.timeout+this.sessionConfig.now-this.sessionConfig.req)/1e3),this.sessionTimeout<=30&&(this.sessionTimeout=-1))}))}setRefresh(e){this.refresh=e}},ab=w(r(44914)),sb=r(52557),lb=r(74848),db=()=>{const[e,t]=(0,ab.useState)(!1),[r,i]=(0,ab.useState)(-1);(0,ab.useEffect)((()=>{let e=null;const t=setTimeout((()=>C(void 0,null,(function*(){yield ob.fetchConfiguration();const t=ob.getSessionTimeout();t>0&&(i(t),e=setInterval((()=>{ob.shouldResetTimer()?(i(ob.getSessionTimeout()),ob.clearResetTimerFlag()):i((e=>e>0?e-1:e))}),1e3))}))),0),r=setInterval((()=>C(void 0,null,(function*(){ob.updateSession()&&i(ob.getSessionTimeout())}))),5e3);return()=>{clearTimeout(t),null!=e&&clearInterval(e),clearInterval(r)}}),[]),(0,ab.useEffect)((()=>{ob.sessionEnding(r)&&(ob.setRefresh(!1),t(!0)),ob.sessionEnded(r)&&setTimeout((()=>{Q.logout()}),1e3)}),[r]);const n=()=>{t(!1),ob.setRefresh(!0),ob.updateSession(),i(ob.getSessionTimeout())};return(0,lb.jsx)(ab.default.Fragment,{children:(0,lb.jsx)(sb.Modal,{isOpen:e,variant:sb.ModalVariant.small,title:"Session expires soon",onClose:n,actions:[(0,lb.jsx)(sb.Button,{onClick:n,children:"Stay connected"},"continue")],children:(0,lb.jsx)("div",{children:r>0?"Session expires in "+r+" second"+(1==r?".":"s."):"Logging out..."})})})},cb=r(74848),pb=()=>{var e;const{username:t,isLogin:r,userLoaded:i,userLoading:n}=Z(),{plugins:o,pluginsLoaded:a}=he(),s=(0,Ng.useNavigate)(),{search:l}=(0,Ng.useLocation)(),{selectedNode:d,setSelectedNode:c}=Xt();if((0,qg.useEffect)((()=>{r||n||s("login")}),[r,s,n]),!i||!a||n)return ib.debug("Loading:","user =",i,", plugins =",a),(0,cb.jsx)(Ee,{});ib.debug(`Login state: username = ${t}, isLogin = ${r}`);const p=null!=(e=o[0])?e:null,u=p?(0,cb.jsx)(Ng.Navigate,{to:{pathname:p.path,search:l}}):(0,cb.jsx)(ub,{}),h=wg.isShowVerticalNavByDefault();return(0,cb.jsxs)(Jg.Provider,{value:{username:t,plugins:o},children:[(0,cb.jsx)(Og.BackgroundImage,{src:be}),(0,cb.jsxs)(Og.Page,{header:(0,cb.jsx)(Qg,{}),sidebar:(0,cb.jsx)(rb,{}),isManagedSidebar:!0,defaultManagedSidebarIsOpen:h,onClick:()=>{ob.userActivity()},children:[(0,cb.jsx)($t.Provider,{value:{selectedNode:d,setSelectedNode:c},children:(0,cb.jsxs)(Ng.Routes,{children:[o.map((e=>(0,cb.jsx)(Ng.Route,{path:`${e.path}/*`,element:qg.default.createElement(e.component)},e.id))),(0,cb.jsx)(Ng.Route,{path:"help/*",element:(0,cb.jsx)(St,{})},"help"),(0,cb.jsx)(Ng.Route,{path:"preferences/*",element:(0,cb.jsx)(Bg,{})},"preferences"),(0,cb.jsx)(Ng.Route,{path:"index.html",element:(0,cb.jsx)(Ng.Navigate,{to:"/"})},"index"),(0,cb.jsx)(Ng.Route,{index:!0,element:u},"root")]})}),(0,cb.jsx)(xe,{}),(0,cb.jsx)(db,{})]})]})},ub=()=>(0,cb.jsx)(Og.PageSection,{variant:"light",children:(0,cb.jsxs)(Og.EmptyState,{variant:"full",children:[(0,cb.jsx)(Og.EmptyStateIcon,{icon:Fe}),(0,cb.jsx)(Og.Title,{headingLevel:"h1",size:"lg",children:"Hawtio"})]})}),hb=r(74848),mb=e=>{const{basepath:t}=e;return t&&pe.setBasePath(t),(0,hb.jsx)(fe.BrowserRouter,{basename:pe.getBasePath(),children:(0,hb.jsxs)(fe.Routes,{children:[(0,hb.jsx)(fe.Route,{path:"/login",element:(0,hb.jsx)(yt,{})}),(0,hb.jsx)(fe.Route,{path:"/*",element:(0,hb.jsx)(pb,{})})]})})};v(k,x,e.exports),V.addProductInfo("Hawtio React","1.2.1")},31881:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Chart:()=>Cy,ChartArea:()=>OA,ChartAreaSortOrder:()=>DA,ChartAxis:()=>qA,ChartAxisTheme:()=>Jm,ChartBar:()=>sC,ChartBaseTheme:()=>Km,ChartBullet:()=>kk,ChartBulletComparativeErrorMeasure:()=>$C,ChartBulletComparativeErrorMeasureTheme:()=>Qm,ChartBulletComparativeMeasure:()=>XC,ChartBulletComparativeMeasureTheme:()=>Ym,ChartBulletComparativeWarningMeasure:()=>ek,ChartBulletComparativeWarningMeasureTheme:()=>Zm,ChartBulletGroupTitleTheme:()=>Xm,ChartBulletPrimaryDotMeasure:()=>vk,ChartBulletPrimaryDotMeasureTheme:()=>$m,ChartBulletPrimaryNegativeMeasureTheme:()=>ef,ChartBulletPrimarySegmentedMeasure:()=>wk,ChartBulletPrimarySegmentedMeasureTheme:()=>tf,ChartBulletQualitativeRange:()=>Ak,ChartBulletQualitativeRangeTheme:()=>nf,ChartBulletStyles:()=>Eb,ChartBulletTheme:()=>rf,ChartCommonStyles:()=>Tb,ChartContainer:()=>Df,ChartCursorContainer:()=>ex,ChartCursorFlyout:()=>rx,ChartCursorTooltip:()=>cx,ChartDonut:()=>Lx,ChartDonutLabelPosition:()=>Ox,ChartDonutSortOrder:()=>qx,ChartDonutStyles:()=>_b,ChartDonutSubTitlePosition:()=>Nx,ChartDonutTheme:()=>sf,ChartDonutThreshold:()=>Wx,ChartDonutThresholdDonutOrientation:()=>jx,ChartDonutThresholdDynamicTheme:()=>lf,ChartDonutThresholdLabelOrientation:()=>Fx,ChartDonutThresholdLabelPosition:()=>Hx,ChartDonutThresholdSortOrder:()=>Vx,ChartDonutThresholdStaticTheme:()=>df,ChartDonutThresholdSubTitlePosition:()=>zx,ChartDonutUtilization:()=>Yx,ChartDonutUtilizationDynamicTheme:()=>of,ChartDonutUtilizationLabelPosition:()=>Ux,ChartDonutUtilizationLegendOrientation:()=>Gx,ChartDonutUtilizationLegendPosition:()=>Jx,ChartDonutUtilizationSortOrder:()=>Kx,ChartDonutUtilizationStaticTheme:()=>af,ChartDonutUtilizationStyles:()=>Ib,ChartDonutUtilizationSubTitlePosition:()=>Qx,ChartGroup:()=>yS,ChartGroupSortOrder:()=>uS,ChartLabel:()=>Bb,ChartLabelDirection:()=>Rb,ChartLabelPlacement:()=>Db,ChartLegend:()=>Gb,ChartLegendOrientation:()=>zb,ChartLegendPosition:()=>Wb,ChartLegendRowGutter:()=>Ub,ChartLegendTooltip:()=>AS,ChartLegendTooltipContent:()=>wS,ChartLegendTooltipLabel:()=>vS,ChartLegendTooltipStyles:()=>Pb,ChartLine:()=>BS,ChartLineSortOrder:()=>RS,ChartPie:()=>Bx,ChartPieLabelPosition:()=>Px,ChartPieLegendPosition:()=>Mx,ChartPieSortOrder:()=>Rx,ChartPoint:()=>Vb,ChartScatter:()=>yk,ChartScatterSortOrder:()=>gk,ChartScatterStyles:()=>Mb,ChartStack:()=>$S,ChartThemeColor:()=>Um,ChartThemeVariant:()=>Gm,ChartThreshold:()=>eT,ChartThresholdTheme:()=>cf,ChartTooltip:()=>ZC,ChartVoronoiContainer:()=>OE,ChartVoronoiDimension:()=>BE,canUseDOM:()=>Mf,createContainer:()=>IE,doesLegendFit:()=>uy,getAxisTheme:()=>hf,getBulletComparativeErrorMeasureTheme:()=>ff,getBulletComparativeMeasureTheme:()=>gf,getBulletComparativeWarningMeasureTheme:()=>bf,getBulletGroupTitleTheme:()=>yf,getBulletLabelX:()=>oy,getBulletLabelY:()=>ay,getBulletLegendY:()=>gy,getBulletPrimaryDotMeasureTheme:()=>vf,getBulletPrimaryNegativeMeasureTheme:()=>wf,getBulletPrimarySegmentedMeasureTheme:()=>Af,getBulletQualitativeRangeTheme:()=>Cf,getBulletTheme:()=>mf,getChartLegendX:()=>by,getChartLegendY:()=>yy,getChartTheme:()=>kf,getClassName:()=>Rf,getComputedLegend:()=>cy,getCursorTooltipCenterOffset:()=>nx,getCursorTooltipPoniterOrientation:()=>ox,getCustomTheme:()=>pf,getDefaultColorScale:()=>$b,getDefaultData:()=>ey,getDefaultPatternScale:()=>ty,getDomain:()=>EC,getDomains:()=>_C,getDonutTheme:()=>xf,getDonutThresholdDynamicTheme:()=>Sf,getDonutThresholdStaticTheme:()=>Tf,getDonutUtilizationTheme:()=>Ef,getInteractiveLegendEvents:()=>PE,getInteractiveLegendItemStyles:()=>ME,getLabelTextSize:()=>dy,getLegendDimensions:()=>py,getLegendItemsPerRow:()=>hy,getLegendTooltipDataProps:()=>ax,getLegendTooltipSize:()=>sx,getLegendTooltipVisibleData:()=>lx,getLegendTooltipVisibleText:()=>dx,getLegendX:()=>my,getLegendY:()=>fy,getMaxLegendTextSize:()=>Ay,getPaddingForSide:()=>Jb,getPatternDefs:()=>Zb,getPatternDefsId:()=>Yb,getPatternId:()=>Qb,getPatternScale:()=>Xb,getPieLabelX:()=>sy,getPieLabelY:()=>ly,getPieLegendX:()=>vy,getPieLegendY:()=>wy,getPieOrigin:()=>ny,getResizeObserver:()=>DE,getTheme:()=>If,getThemeColors:()=>_f,getThresholdTheme:()=>Pf,mergeTheme:()=>uf,renderChildrenWithPatterns:()=>iy,useDefaultPatternProps:()=>ry});var i={};r.r(i),r.d(i,{scaleBand:()=>Tr,scaleDiverging:()=>gs,scaleDivergingLog:()=>bs,scaleDivergingPow:()=>vs,scaleDivergingSqrt:()=>ws,scaleDivergingSymlog:()=>ys,scaleIdentity:()=>un,scaleImplicit:()=>xr,scaleLinear:()=>pn,scaleLog:()=>An,scaleOrdinal:()=>Sr,scalePoint:()=>_r,scalePow:()=>Pn,scaleQuantile:()=>Fn,scaleQuantize:()=>Hn,scaleRadial:()=>Dn,scaleSequential:()=>ds,scaleSequentialLog:()=>cs,scaleSequentialPow:()=>us,scaleSequentialQuantile:()=>ms,scaleSequentialSqrt:()=>hs,scaleSequentialSymlog:()=>ps,scaleSqrt:()=>Mn,scaleSymlog:()=>Sn,scaleThreshold:()=>Vn,scaleTime:()=>os,scaleUtc:()=>as,tickFormat:()=>dn});var n={};r.r(n),r.d(n,{easeBack:()=>Ap,easeBackIn:()=>vp,easeBackInOut:()=>Ap,easeBackOut:()=>wp,easeBounce:()=>gp,easeBounceIn:()=>fp,easeBounceInOut:()=>bp,easeBounceOut:()=>gp,easeCircle:()=>np,easeCircleIn:()=>rp,easeCircleInOut:()=>np,easeCircleOut:()=>ip,easeCubic:()=>zc,easeCubicIn:()=>Hc,easeCubicInOut:()=>zc,easeCubicOut:()=>Vc,easeElastic:()=>xp,easeElasticIn:()=>kp,easeElasticInOut:()=>Sp,easeElasticOut:()=>xp,easeExp:()=>tp,easeExpIn:()=>$c,easeExpInOut:()=>tp,easeExpOut:()=>ep,easeLinear:()=>Nc,easePoly:()=>Gc,easePolyIn:()=>Wc,easePolyInOut:()=>Gc,easePolyOut:()=>Uc,easeQuad:()=>Fc,easeQuadIn:()=>Lc,easeQuadInOut:()=>Fc,easeQuadOut:()=>jc,easeSin:()=>Zc,easeSinIn:()=>Qc,easeSinInOut:()=>Zc,easeSinOut:()=>Yc});var o={};r.r(o),r.d(o,{circle:()=>ng,cross:()=>cg,diamond:()=>ag,minus:()=>pg,plus:()=>dg,square:()=>og,star:()=>ug,triangleDown:()=>sg,triangleUp:()=>lg});var a={};r.r(a),r.d(a,{arc:()=>dv,area:()=>Ly,areaRadial:()=>Wy,curveBasis:()=>rw,curveBasisClosed:()=>nw,curveBasisOpen:()=>aw,curveBumpX:()=>gv,curveBumpY:()=>bv,curveBundle:()=>lw,curveCardinal:()=>pw,curveCardinalClosed:()=>hw,curveCardinalOpen:()=>fw,curveCatmullRom:()=>yw,curveCatmullRomClosed:()=>ww,curveCatmullRomOpen:()=>Cw,curveLinear:()=>Ey,curveLinearClosed:()=>xw,curveMonotoneX:()=>Rw,curveMonotoneY:()=>Dw,curveNatural:()=>qw,curveStep:()=>Lw,curveStepAfter:()=>Fw,curveStepBefore:()=>jw,line:()=>Ny,lineRadial:()=>zy,link:()=>Av,linkHorizontal:()=>Cv,linkRadial:()=>xv,linkVertical:()=>kv,pie:()=>uv,pointRadial:()=>hv,radialArea:()=>Wy,radialLine:()=>zy,stack:()=>Uw,stackOffsetDiverging:()=>Jw,stackOffsetExpand:()=>Gw,stackOffsetNone:()=>Hw,stackOffsetSilhouette:()=>Kw,stackOffsetWiggle:()=>Qw,stackOrderAppearance:()=>Yw,stackOrderAscending:()=>Xw,stackOrderDescending:()=>eA,stackOrderInsideOut:()=>tA,stackOrderNone:()=>Vw,stackOrderReverse:()=>rA,symbol:()=>Xv,symbolAsterisk:()=>Tv,symbolCircle:()=>Ev,symbolCross:()=>_v,symbolDiamond:()=>Mv,symbolDiamond2:()=>Rv,symbolPlus:()=>Dv,symbolSquare:()=>Bv,symbolSquare2:()=>Ov,symbolStar:()=>jv,symbolTimes:()=>Qv,symbolTriangle:()=>Hv,symbolTriangle2:()=>zv,symbolWye:()=>Kv,symbolX:()=>Qv,symbols:()=>Yv,symbolsFill:()=>Yv,symbolsStroke:()=>Zv});var s=r(31635),l=r(44914),d=r.n(l),c=r(4146),p=r.n(c);const u=16;var h=r(62193),m=r.n(h),f=r(84684),g=r.n(f),b=r(95950),y=r.n(b),v=r(44383),w=r.n(v),A=r(50583),C=r.n(A),k=r(1882),x=r.n(k);function S(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=e[i]);return r}function T(e){var t=function(e){return void 0!==e},r=e._x,i=e._x1,n=e._x0,o=e._voronoiX,a=e._y,s=e._y1,l=e._y0,d=e._voronoiY,c=t(i)?i:r,p=t(s)?s:a,u={x:t(o)?o:c,x0:t(n)?n:r,y:t(d)?d:p,y0:t(l)?l:a};return g()({},u,e)}function E(e,t){var r=e.scale,i=e.polar,n=e.horizontal,o=T(t),a=e.origin||{x:0,y:0},s=n?r.y(o.y):r.x(o.x),l=n?r.y(o.y0):r.x(o.x0),d=n?r.x(o.x):r.y(o.y),c=n?r.x(o.x0):r.y(o.y0);return{x:i?d*Math.cos(s)+a.x:s,x0:i?c*Math.cos(l)+a.x:l,y:i?-d*Math.sin(s)+a.y:d,y0:i?-c*Math.sin(l)+a.x:c}}function _(e){var t=e[arguments.length>1&&void 0!==arguments[1]?arguments[1]:"padding"],r="number"==typeof t?t:0,i="object"==typeof t?t:{};return{top:i.top||r,bottom:i.bottom||r,left:i.left||r,right:i.right||r}}function I(e){return"tooltip"===(e&&e.type&&e.type.role)}function P(e,t){var r=e.theme,i=void 0===r?{}:r,n=e.labelComponent,o=i[t]&&i[t].style||{};if(!I(n))return o;var a=i.tooltip&&i.tooltip.style||{},s=g()({},a,o.labels);return g()({},{labels:s},o)}function M(e,t){var r="100%",i="100%";if(!e)return g()({parent:{height:i,width:r}},t);var n=e.data,o=e.labels,a=e.parent,s=t&&t.parent||{},l=t&&t.labels||{},d=t&&t.data||{};return{parent:g()({},a,s,{width:r,height:i}),labels:g()({},o,l),data:g()({},n,d)}}function R(e,t){return x()(e)?e(t):e}function D(e,t){return t.disableInlineStyles?{}:e&&y()(e).some((function(t){return x()(e[t])}))?y()(e).reduce((function(r,i){return r[i]=R(e[i],t),r}),{}):e}function B(e){return"number"==typeof e?e*(Math.PI/180):e}function O(e){return"number"==typeof e?e/(Math.PI/180):e}function q(e){var t=_(e),r=t.left,i=t.right,n=t.top,o=t.bottom,a=e.width,s=e.height;return Math.min(a-r-i,s-n-o)/2}function N(e){var t=e.width,r=e.height,i=_(e),n=i.top,o=i.bottom,a=i.left,s=i.right,l=Math.min(t-a-s,r-n-o)/2,d=t/2+a-s,c=r/2+n-o;return{x:d+l>t?l+a-s:d,y:c+l>r?l+n-o:c}}function L(e,t){return e.range&&e.range[t]?e.range[t]:e.range&&Array.isArray(e.range)?e.range:e.polar?function(e,t){return"x"===t?[B(e.startAngle||0),B(e.endAngle||360)]:[e.innerRadius||0,q(e)]}(e,t):function(e,t){var r="x"!==t,i=_(e);return r?[e.height-i.bottom,i.top]:[i.left,e.width-i.right]}(e,t)}function j(e){return x()(e)?e:null==e?function(e){return e}:C()(e)}function F(e,t,r){var i=S(e.theme&&e.theme[r]?e.theme[r]:{},["style"]),n=function(e){if(void 0!==e.horizontal||!e.children)return e.horizontal;var t=function(e){return e.reduce((function(e,r){var i=r.props||{};return e||i.horizontal||!i.children?e||i.horizontal:t(d().Children.toArray(i.children))}),!1)};return t(d().Children.toArray(e.children))}(e),o=void 0===n?{}:{horizontal:n};return g()(o,e,i,t)}function H(e,t){return t?"x"===e?"y":"x":e}function V(e,t,r){var i=t?e:0,n=t||e;n||(n=0);var o=n-i,a=Math.abs(o),s=o/a||1,l=r||1,d=Math.max(Math.ceil(a/l),0);return Array.from(Array(d),(function(e,t){return i+t*s*l}))}function z(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(e,t){return e.concat(t)},o=["data","domain","categories","polar","startAngle","endAngle","minDomain","maxDomain","horizontal"],a=function(e,s,l){return e.reduce((function(e,i,c){var p=e,u=i.type&&i.type.role,h=i.props.name||"".concat(u,"-").concat(s[c]);if(i.props&&i.props.children){var m=Object.assign({},i.props,w()(r,o)),f=i.type&&"stack"===i.type.role&&x()(i.type.getChildren)?i.type.getChildren(m):d().Children.toArray(i.props.children).map((function(e){var t=Object.assign({},e.props,w()(m,o));return d().cloneElement(e,t)})),g=f.map((function(e,t){return"".concat(h,"-").concat(t)})),b=a(f,g,i);p=n(p,b)}else{var y=t(i,h,l);y&&(p=n(p,y))}return p}),i)},s=e.filter(l.isValidElement),c=s.map((function(e,t){return t}));return a(s,c)}var W=["desc","id","tabIndex","origin"];function U(){return U=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,W)),s=function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,Q)),s=function(e){for(var t=1;t=0&&t._call.call(void 0,e),t=t._next;--ge}()}finally{ge=0,function(){for(var e,t,r=me,i=1/0;r;)r._call?(i>r._time&&(i=r._time),e=r,r=r._next):(t=r._next,r._next=null,r=e?e._next=t:me=t);fe=e,Me(i)}(),Ae=0}}function Pe(){var e=ke.now(),t=e-we;t>ve&&(Ce-=t,we=e)}function Me(e){ge||(be&&(be=clearTimeout(be)),e-Ae>24?(e<1/0&&(be=setTimeout(Ie,e-ke.now()-Ce)),ye&&(ye=clearInterval(ye))):(ye||(we=ke.now(),ye=setInterval(Pe,ve)),ge=1,xe(Ie)))}function Re(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,i=new Array(t);re.length)&&(t=e.length);for(var r=0,i=new Array(t);r0}function At(e){return Array.isArray(e)&&e.some((function(e){return"string"==typeof e}))}function Ct(e){return Array.isArray(e)&&e.some((function(e){return e instanceof Date}))}function kt(e){return wt(e)&&e.every(Array.isArray)}function xt(e){return e.filter((function(e){return void 0!==e}))}function St(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;ie.length)&&(t=e.length);for(var r=0,i=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:jt,i=(e=d().useState(r),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i,n,o=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(i=r.next()).done)&&(o.push(i.value),!t||o.length!==t);a=!0);}catch(e){s=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw n}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Lt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Lt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),n=i[0],o=i[1],a=d().useCallback((function(e){o((function(t){return qt(qt({},t),e)}))}),[o]),s=d().useCallback((function(e,t,r){if(null==e||!e.animate)return t.props.animate;var i,o=e.animate&&e.animate.getTransitions,s=(i=kt(i=n&&n.childrenTransitions)?i[r]:i,g()({childrenTransitions:i},n)),l=e.animate&&e.animate.parentState||s;if(!o){var d=Bt(e,s,(function(e){return a(e)}));o=function(e){return d(e,r)}}return g()({getTransitions:o,parentState:l},e.animate,t.props.animate)}),[n,a]),l=d().useCallback((function(e,t){if(null!=e&&e.animate)if(e.animate.parentState){var r=e.animate.parentState.nodesWillExit?e:null,i=g()({oldProps:r,nextProps:t},e.animate.parentState);a(i)}else{var n=d().Children.toArray(e.children),o=d().Children.toArray(t.children),s=function(e){var t=function(e){return e.type&&e.type.continuous};return Array.isArray(e)?bt()(e,t):t(e)},l=!e.polar&&bt()(n,(function(e){return s(e)||e.props.children&&s(e.props.children)})),c=Dt(n,o),p=c.nodesWillExit,u=c.nodesWillEnter,h=c.childrenTransitions,m=c.nodesShouldEnter;a({nodesWillExit:p,nodesWillEnter:u,nodesShouldEnter:m,childrenTransitions:kt(h)?h[0]:h,oldProps:p?e:void 0,nextProps:t,continuous:l})}}),[a]),c=d().useCallback((function(e){return n&&n.nodesWillExit&&n.oldProps||e}),[n]);return{state:n,setState:a,getAnimationProps:s,setAnimationState:l,getProps:c}},Ht=r(11331),Vt=r.n(Ht),zt=r(35880),Wt=r.n(zt),Ut=r(50014),Gt=r.n(Ut),Jt=r(94394),Kt=r.n(Jt),Qt=r(63375),Yt=r.n(Qt),Zt=r(35970),Xt=r.n(Zt),$t=r(91648),er=r.n($t),tr=r(79859),rr=r.n(tr),ir=r(42877),nr=r.n(ir),or=r(40866),ar=r.n(or),sr=r(83602),lr=r.n(sr),dr=r(73054),cr=r.n(dr),pr=r(42194),ur=r.n(pr),hr=r(62216),mr=r.n(hr),fr=r(2404),gr=r.n(fr),br=r(68090),yr=r.n(br);function vr(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function wr(e,t){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof t?this.interpolator(t):this.range(t)}return this}class Ar extends Map{constructor(e,t=kr){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[t,r]of e)this.set(t,r)}get(e){return super.get(Cr(this,e))}has(e){return super.has(Cr(this,e))}set(e,t){return super.set(function({_intern:e,_key:t},r){const i=t(r);return e.has(i)?e.get(i):(e.set(i,r),r)}(this,e),t)}delete(e){return super.delete(function({_intern:e,_key:t},r){const i=t(r);return e.has(i)&&(r=e.get(i),e.delete(i)),r}(this,e))}}function Cr({_intern:e,_key:t},r){const i=t(r);return e.has(i)?e.get(i):r}function kr(e){return null!==e&&"object"==typeof e?e.valueOf():e}Set;const xr=Symbol("implicit");function Sr(){var e=new Ar,t=[],r=[],i=xr;function n(n){let o=e.get(n);if(void 0===o){if(i!==xr)return i;e.set(n,o=t.push(n)-1)}return r[o%r.length]}return n.domain=function(r){if(!arguments.length)return t.slice();t=[],e=new Ar;for(const i of r)e.has(i)||e.set(i,t.push(i)-1);return n},n.range=function(e){return arguments.length?(r=Array.from(e),n):r.slice()},n.unknown=function(e){return arguments.length?(i=e,n):i},n.copy=function(){return Sr(t,r).unknown(i)},vr.apply(n,arguments),n}function Tr(){var e,t,r=Sr().unknown(void 0),i=r.domain,n=r.range,o=0,a=1,s=!1,l=0,d=0,c=.5;function p(){var r=i().length,p=a=Ir?10:o>=Pr?5:o>=Mr?2:1;let s,l,d;return n<0?(d=Math.pow(10,-n)/a,s=Math.round(e*d),l=Math.round(t*d),s/dt&&--l,d=-d):(d=Math.pow(10,n)*a,s=Math.round(e/d),l=Math.round(t/d),s*dt&&--l),l0))return[];if((e=+e)==(t=+t))return[e];const i=t=n))return[];const s=o-n+1,l=new Array(s);if(i)if(a<0)for(let e=0;et?1:e>=t?0:NaN}function Nr(e,t){return null==e||null==t?NaN:te?1:t>=e?0:NaN}function Lr(e){let t,r,i;function n(e,i,n=0,o=e.length){if(n>>1;r(e[t],i)<0?n=t+1:o=t}while(nqr(e(t),r),i=(t,r)=>e(t)-r):(t=e===qr||e===Nr?e:jr,r=e,i=e),{left:n,center:function(e,t,r=0,o=e.length){const a=n(e,t,r,o-1);return a>r&&i(e[a-1],t)>-i(e[a],t)?a-1:a},right:function(e,i,n=0,o=e.length){if(n>>1;r(e[t],i)<=0?n=t+1:o=t}while(n>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?ci(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?ci(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=$r.exec(e))?new ui(t[1],t[2],t[3],1):(t=ei.exec(e))?new ui(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ti.exec(e))?ci(t[1],t[2],t[3],t[4]):(t=ri.exec(e))?ci(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=ii.exec(e))?yi(t[1],t[2]/100,t[3]/100,1):(t=ni.exec(e))?yi(t[1],t[2]/100,t[3]/100,t[4]):oi.hasOwnProperty(e)?di(oi[e]):"transparent"===e?new ui(NaN,NaN,NaN,0):null}function di(e){return new ui(e>>16&255,e>>8&255,255&e,1)}function ci(e,t,r,i){return i<=0&&(e=t=r=NaN),new ui(e,t,r,i)}function pi(e,t,r,i){return 1===arguments.length?((n=e)instanceof Gr||(n=li(n)),n?new ui((n=n.rgb()).r,n.g,n.b,n.opacity):new ui):new ui(e,t,r,null==i?1:i);var n}function ui(e,t,r,i){this.r=+e,this.g=+t,this.b=+r,this.opacity=+i}function hi(){return`#${bi(this.r)}${bi(this.g)}${bi(this.b)}`}function mi(){const e=fi(this.opacity);return`${1===e?"rgb(":"rgba("}${gi(this.r)}, ${gi(this.g)}, ${gi(this.b)}${1===e?")":`, ${e})`}`}function fi(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function gi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function bi(e){return((e=gi(e))<16?"0":"")+e.toString(16)}function yi(e,t,r,i){return i<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new wi(e,t,r,i)}function vi(e){if(e instanceof wi)return new wi(e.h,e.s,e.l,e.opacity);if(e instanceof Gr||(e=li(e)),!e)return new wi;if(e instanceof wi)return e;var t=(e=e.rgb()).r/255,r=e.g/255,i=e.b/255,n=Math.min(t,r,i),o=Math.max(t,r,i),a=NaN,s=o-n,l=(o+n)/2;return s?(a=t===o?(r-i)/s+6*(r0&&l<1?0:a,new wi(a,s,l,e.opacity)}function wi(e,t,r,i){this.h=+e,this.s=+t,this.l=+r,this.opacity=+i}function Ai(e){return(e=(e||0)%360)<0?e+360:e}function Ci(e){return Math.max(0,Math.min(1,e||0))}function ki(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}function xi(e,t,r,i,n){var o=e*e,a=o*e;return((1-3*e+3*o-a)*t+(4-6*o+3*a)*r+(1+3*e+3*o-3*a)*i+a*n)/6}Wr(Gr,li,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:ai,formatHex:ai,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return vi(this).formatHsl()},formatRgb:si,toString:si}),Wr(ui,pi,Ur(Gr,{brighter(e){return e=null==e?Kr:Math.pow(Kr,e),new ui(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?Jr:Math.pow(Jr,e),new ui(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ui(gi(this.r),gi(this.g),gi(this.b),fi(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:hi,formatHex:hi,formatHex8:function(){return`#${bi(this.r)}${bi(this.g)}${bi(this.b)}${bi(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:mi,toString:mi})),Wr(wi,(function(e,t,r,i){return 1===arguments.length?vi(e):new wi(e,t,r,null==i?1:i)}),Ur(Gr,{brighter(e){return e=null==e?Kr:Math.pow(Kr,e),new wi(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Jr:Math.pow(Jr,e),new wi(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*t,n=2*r-i;return new ui(ki(e>=240?e-240:e+120,n,i),ki(e,n,i),ki(e<120?e+240:e-120,n,i),this.opacity)},clamp(){return new wi(Ai(this.h),Ci(this.s),Ci(this.l),fi(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=fi(this.opacity);return`${1===e?"hsl(":"hsla("}${Ai(this.h)}, ${100*Ci(this.s)}%, ${100*Ci(this.l)}%${1===e?")":`, ${e})`}`}}));const Si=e=>()=>e;function Ti(e,t){var r=t-e;return r?function(e,t){return function(r){return e+r*t}}(e,r):Si(isNaN(e)?t:e)}const Ei=function e(t){var r=function(e){return 1==(e=+e)?Ti:function(t,r){return r-t?function(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(i){return Math.pow(e+i*t,r)}}(t,r,e):Si(isNaN(t)?r:t)}}(t);function i(e,t){var i=r((e=pi(e)).r,(t=pi(t)).r),n=r(e.g,t.g),o=r(e.b,t.b),a=Ti(e.opacity,t.opacity);return function(t){return e.r=i(t),e.g=n(t),e.b=o(t),e.opacity=a(t),e+""}}return i.gamma=e,i}(1);function _i(e){return function(t){var r,i,n=t.length,o=new Array(n),a=new Array(n),s=new Array(n);for(r=0;r=1?(r=1,t-1):Math.floor(r*t),n=e[i],o=e[i+1],a=i>0?e[i-1]:2*n-o,s=io&&(n=t.slice(o,n),s[a]?s[a]+=n:s[++a]=n),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,l.push({i:a,x:Mi(r,i)})),o=Bi.lastIndex;return ot&&(r=e,e=t,t=r),function(r){return Math.max(e,Math.min(t,r))}}(a[0],a[e-1])),i=e>2?Wi:zi,n=o=null,p}function p(t){return null==t||isNaN(t=+t)?r:(n||(n=i(a.map(e),s,l)))(e(d(t)))}return p.invert=function(r){return d(t((o||(o=i(s,a.map(e),Mi)))(r)))},p.domain=function(e){return arguments.length?(a=Array.from(e,ji),c()):a.slice()},p.range=function(e){return arguments.length?(s=Array.from(e),c()):s.slice()},p.rangeRound=function(e){return s=Array.from(e),l=Li,c()},p.clamp=function(e){return arguments.length?(d=!!e||Hi,c()):d!==Hi},p.interpolate=function(e){return arguments.length?(l=e,c()):l},p.unknown=function(e){return arguments.length?(r=e,p):r},function(r,i){return e=r,t=i,c()}}function Ji(){return Gi()(Hi,Hi)}var Ki,Qi=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Yi(e){if(!(t=Qi.exec(e)))throw new Error("invalid format: "+e);var t;return new Zi({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function Zi(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function Xi(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,i=e.slice(0,r);return[i.length>1?i[0]+i.slice(2):i,+e.slice(r+1)]}function $i(e){return(e=Xi(Math.abs(e)))?e[1]:NaN}function en(e,t){var r=Xi(e,t);if(!r)return e+"";var i=r[0],n=r[1];return n<0?"0."+new Array(-n).join("0")+i:i.length>n+1?i.slice(0,n+1)+"."+i.slice(n+1):i+new Array(n-i.length+2).join("0")}Yi.prototype=Zi.prototype,Zi.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const tn={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>en(100*e,t),r:en,s:function(e,t){var r=Xi(e,t);if(!r)return e+"";var i=r[0],n=r[1],o=n-(Ki=3*Math.max(-8,Math.min(8,Math.floor(n/3))))+1,a=i.length;return o===a?i:o>a?i+new Array(o-a+1).join("0"):o>0?i.slice(0,o)+"."+i.slice(o):"0."+new Array(1-o).join("0")+Xi(e,Math.max(0,t+o-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function rn(e){return e}var nn,on,an,sn=Array.prototype.map,ln=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function dn(e,t,r,i){var n,o=Or(e,t,r);switch((i=Yi(null==i?",f":i)).type){case"s":var a=Math.max(Math.abs(e),Math.abs(t));return null!=i.precision||isNaN(n=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor($i(t)/3)))-$i(Math.abs(e)))}(o,a))||(i.precision=n),an(i,a);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(n=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,$i(t)-$i(e))+1}(o,Math.max(Math.abs(e),Math.abs(t))))||(i.precision=n-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(n=function(e){return Math.max(0,-$i(Math.abs(e)))}(o))||(i.precision=n-2*("%"===i.type))}return on(i)}function cn(e){var t=e.domain;return e.ticks=function(e){var r=t();return Dr(r[0],r[r.length-1],null==e?10:e)},e.tickFormat=function(e,r){var i=t();return dn(i[0],i[i.length-1],null==e?10:e,r)},e.nice=function(r){null==r&&(r=10);var i,n,o=t(),a=0,s=o.length-1,l=o[a],d=o[s],c=10;for(d0;){if((n=Br(l,d,r))===i)return o[a]=l,o[s]=d,t(o);if(n>0)l=Math.floor(l/n)*n,d=Math.ceil(d/n)*n;else{if(!(n<0))break;l=Math.ceil(l*n)/n,d=Math.floor(d*n)/n}i=n}return e},e}function pn(){var e=Ji();return e.copy=function(){return Ui(e,pn())},vr.apply(e,arguments),cn(e)}function un(e){var t;function r(e){return null==e||isNaN(e=+e)?t:e}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(e=Array.from(t,ji),r):e.slice()},r.unknown=function(e){return arguments.length?(t=e,r):t},r.copy=function(){return un(e).unknown(t)},e=arguments.length?Array.from(e,ji):[0,1],cn(r)}function hn(e,t){var r,i=0,n=(e=e.slice()).length-1,o=e[i],a=e[n];return a-e(-t,r)}function wn(e){const t=e(mn,fn),r=t.domain;let i,n,o=10;function a(){return i=function(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}(o),n=function(e){return 10===e?yn:e===Math.E?Math.exp:t=>Math.pow(e,t)}(o),r()[0]<0?(i=vn(i),n=vn(n),e(gn,bn)):e(mn,fn),t}return t.base=function(e){return arguments.length?(o=+e,a()):o},t.domain=function(e){return arguments.length?(r(e),a()):r()},t.ticks=e=>{const t=r();let a=t[0],s=t[t.length-1];const l=s0){for(;p<=u;++p)for(d=1;ds)break;m.push(c)}}else for(;p<=u;++p)for(d=o-1;d>=1;--d)if(c=p>0?d/n(-p):d*n(p),!(cs)break;m.push(c)}2*m.length{if(null==e&&(e=10),null==r&&(r=10===o?"s":","),"function"!=typeof r&&(o%1||null!=(r=Yi(r)).precision||(r.trim=!0),r=on(r)),e===1/0)return r;const a=Math.max(1,o*e/t.ticks().length);return e=>{let t=e/n(Math.round(i(e)));return t*or(hn(r(),{floor:e=>n(Math.floor(i(e))),ceil:e=>n(Math.ceil(i(e)))})),t}function An(){const e=wn(Gi()).domain([1,10]);return e.copy=()=>Ui(e,An()).base(e.base()),vr.apply(e,arguments),e}function Cn(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function kn(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function xn(e){var t=1,r=e(Cn(t),kn(t));return r.constant=function(r){return arguments.length?e(Cn(t=+r),kn(t)):t},cn(r)}function Sn(){var e=xn(Gi());return e.copy=function(){return Ui(e,Sn()).constant(e.constant())},vr.apply(e,arguments)}function Tn(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function En(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function _n(e){return e<0?-e*e:e*e}function In(e){var t=e(Hi,Hi),r=1;return t.exponent=function(t){return arguments.length?1==(r=+t)?e(Hi,Hi):.5===r?e(En,_n):e(Tn(r),Tn(1/r)):r},cn(t)}function Pn(){var e=In(Gi());return e.copy=function(){return Ui(e,Pn()).exponent(e.exponent())},vr.apply(e,arguments),e}function Mn(){return Pn.apply(null,arguments).exponent(.5)}function Rn(e){return Math.sign(e)*e*e}function Dn(){var e,t=Ji(),r=[0,1],i=!1;function n(r){var n=function(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}(t(r));return isNaN(n)?e:i?Math.round(n):n}return n.invert=function(e){return t.invert(Rn(e))},n.domain=function(e){return arguments.length?(t.domain(e),n):t.domain()},n.range=function(e){return arguments.length?(t.range((r=Array.from(e,ji)).map(Rn)),n):r.slice()},n.rangeRound=function(e){return n.range(e).round(!0)},n.round=function(e){return arguments.length?(i=!!e,n):i},n.clamp=function(e){return arguments.length?(t.clamp(e),n):t.clamp()},n.unknown=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return Dn(t.domain(),r).round(i).clamp(t.clamp()).unknown(e)},vr.apply(n,arguments),cn(n)}function Bn(e,t){let r;if(void 0===t)for(const t of e)null!=t&&(r=t)&&(r=t);else{let i=-1;for(let n of e)null!=(n=t(n,++i,e))&&(r=n)&&(r=n)}return r}function On(e,t){let r;if(void 0===t)for(const t of e)null!=t&&(r>t||void 0===r&&t>=t)&&(r=t);else{let i=-1;for(let n of e)null!=(n=t(n,++i,e))&&(r>n||void 0===r&&n>=n)&&(r=n)}return r}function qn(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(et?1:0)}function Nn(e,t,r=0,i=1/0,n){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),i=Math.floor(Math.min(e.length-1,i)),!(r<=t&&t<=i))return e;for(n=void 0===n?qn:function(e=qr){if(e===qr)return qn;if("function"!=typeof e)throw new TypeError("compare is not a function");return(t,r)=>{const i=e(t,r);return i||0===i?i:(0===e(r,r))-(0===e(t,t))}}(n);i>r;){if(i-r>600){const o=i-r+1,a=t-r+1,s=Math.log(o),l=.5*Math.exp(2*s/3),d=.5*Math.sqrt(s*l*(o-l)/o)*(a-o/2<0?-1:1);Nn(e,t,Math.max(r,Math.floor(t-a*l/o+d)),Math.min(i,Math.floor(t+(o-a)*l/o+d)),n)}const o=e[t];let a=r,s=i;for(Ln(e,r,t),n(e[i],o)>0&&Ln(e,r,i);a0;)--s}0===n(e[r],o)?Ln(e,r,s):(++s,Ln(e,s,i)),s<=t&&(r=s+1),t<=s&&(i=s-1)}return e}function Ln(e,t,r){const i=e[t];e[t]=e[r],e[r]=i}function jn(e,t,r=Fr){if((i=e.length)&&!isNaN(t=+t)){if(t<=0||i<2)return+r(e[0],0,e);if(t>=1)return+r(e[i-1],i-1,e);var i,n=(i-1)*t,o=Math.floor(n),a=+r(e[o],o,e);return a+(+r(e[o+1],o+1,e)-a)*(n-o)}}function Fn(){var e,t=[],r=[],i=[];function n(){var e=0,n=Math.max(1,r.length);for(i=new Array(n-1);++e0?i[n-1]:t[0],n=i?[n[i-1],r]:[n[a-1],n[a]]},a.unknown=function(t){return arguments.length?(e=t,a):a},a.thresholds=function(){return n.slice()},a.copy=function(){return Hn().domain([t,r]).range(o).unknown(e)},vr.apply(cn(a),arguments)}function Vn(){var e,t=[.5],r=[0,1],i=1;function n(n){return null!=n&&n<=n?r[zr(t,n,0,i)]:e}return n.domain=function(e){return arguments.length?(t=Array.from(e),i=Math.min(t.length,r.length-1),n):t.slice()},n.range=function(e){return arguments.length?(r=Array.from(e),i=Math.min(t.length,r.length-1),n):r.slice()},n.invertExtent=function(e){var i=r.indexOf(e);return[t[i-1],t[i]]},n.unknown=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return Vn().domain(t).range(r).unknown(e)},vr.apply(n,arguments)}nn=function(e){var t,r,i=void 0===e.grouping||void 0===e.thousands?rn:(t=sn.call(e.grouping,Number),r=e.thousands+"",function(e,i){for(var n=e.length,o=[],a=0,s=t[0],l=0;n>0&&s>0&&(l+s+1>i&&(s=Math.max(1,i-l)),o.push(e.substring(n-=s,n+s)),!((l+=s+1)>i));)s=t[a=(a+1)%t.length];return o.reverse().join(r)}),n=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",a=void 0===e.decimal?".":e.decimal+"",s=void 0===e.numerals?rn:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(sn.call(e.numerals,String)),l=void 0===e.percent?"%":e.percent+"",d=void 0===e.minus?"−":e.minus+"",c=void 0===e.nan?"NaN":e.nan+"";function p(e){var t=(e=Yi(e)).fill,r=e.align,p=e.sign,u=e.symbol,h=e.zero,m=e.width,f=e.comma,g=e.precision,b=e.trim,y=e.type;"n"===y?(f=!0,y="g"):tn[y]||(void 0===g&&(g=12),b=!0,y="g"),(h||"0"===t&&"="===r)&&(h=!0,t="0",r="=");var v="$"===u?n:"#"===u&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",w="$"===u?o:/[%p]/.test(y)?l:"",A=tn[y],C=/[defgprs%]/.test(y);function k(e){var n,o,l,u=v,k=w;if("c"===y)k=A(e)+k,e="";else{var x=(e=+e)<0||1/e<0;if(e=isNaN(e)?c:A(Math.abs(e),g),b&&(e=function(e){e:for(var t,r=e.length,i=1,n=-1;i0&&(n=0)}return n>0?e.slice(0,n)+e.slice(t+1):e}(e)),x&&0==+e&&"+"!==p&&(x=!1),u=(x?"("===p?p:d:"-"===p||"("===p?"":p)+u,k=("s"===y?ln[8+Ki/3]:"")+k+(x&&"("===p?")":""),C)for(n=-1,o=e.length;++n(l=e.charCodeAt(n))||l>57){k=(46===l?a+e.slice(n+1):e.slice(n))+k,e=e.slice(0,n);break}}f&&!h&&(e=i(e,1/0));var S=u.length+e.length+k.length,T=S>1)+u+e+k+T.slice(S);break;default:e=T+u+e+k}return s(e)}return g=void 0===g?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),k.toString=function(){return e+""},k}return{format:p,formatPrefix:function(e,t){var r=p(((e=Yi(e)).type="f",e)),i=3*Math.max(-8,Math.min(8,Math.floor($i(t)/3))),n=Math.pow(10,-i),o=ln[8+i/3];return function(e){return r(n*e)+o}}}}({thousands:",",grouping:[3],currency:["$",""]}),on=nn.format,an=nn.formatPrefix;const zn=1e3,Wn=6e4,Un=36e5,Gn=864e5,Jn=6048e5,Kn=31536e6,Qn=new Date,Yn=new Date;function Zn(e,t,r,i){function n(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return n.floor=t=>(e(t=new Date(+t)),t),n.ceil=r=>(e(r=new Date(r-1)),t(r,1),e(r),r),n.round=e=>{const t=n(e),r=n.ceil(e);return e-t(t(e=new Date(+e),null==r?1:Math.floor(r)),e),n.range=(r,i,o)=>{const a=[];if(r=n.ceil(r),o=null==o?1:Math.floor(o),!(r0))return a;let s;do{a.push(s=new Date(+r)),t(r,o),e(r)}while(sZn((t=>{if(t>=t)for(;e(t),!r(t);)t.setTime(t-1)}),((e,i)=>{if(e>=e)if(i<0)for(;++i<=0;)for(;t(e,-1),!r(e););else for(;--i>=0;)for(;t(e,1),!r(e););})),r&&(n.count=(t,i)=>(Qn.setTime(+t),Yn.setTime(+i),e(Qn),e(Yn),Math.floor(r(Qn,Yn))),n.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?n.filter(i?t=>i(t)%e==0:t=>n.count(0,t)%e==0):n:null)),n}const Xn=Zn((()=>{}),((e,t)=>{e.setTime(+e+t)}),((e,t)=>t-e));Xn.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?Zn((t=>{t.setTime(Math.floor(t/e)*e)}),((t,r)=>{t.setTime(+t+r*e)}),((t,r)=>(r-t)/e)):Xn:null),Xn.range;const $n=Zn((e=>{e.setTime(e-e.getMilliseconds())}),((e,t)=>{e.setTime(+e+t*zn)}),((e,t)=>(t-e)/zn),(e=>e.getUTCSeconds())),eo=($n.range,Zn((e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*zn)}),((e,t)=>{e.setTime(+e+t*Wn)}),((e,t)=>(t-e)/Wn),(e=>e.getMinutes()))),to=(eo.range,Zn((e=>{e.setUTCSeconds(0,0)}),((e,t)=>{e.setTime(+e+t*Wn)}),((e,t)=>(t-e)/Wn),(e=>e.getUTCMinutes()))),ro=(to.range,Zn((e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*zn-e.getMinutes()*Wn)}),((e,t)=>{e.setTime(+e+t*Un)}),((e,t)=>(t-e)/Un),(e=>e.getHours()))),io=(ro.range,Zn((e=>{e.setUTCMinutes(0,0,0)}),((e,t)=>{e.setTime(+e+t*Un)}),((e,t)=>(t-e)/Un),(e=>e.getUTCHours()))),no=(io.range,Zn((e=>e.setHours(0,0,0,0)),((e,t)=>e.setDate(e.getDate()+t)),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Wn)/Gn),(e=>e.getDate()-1))),oo=(no.range,Zn((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/Gn),(e=>e.getUTCDate()-1))),ao=(oo.range,Zn((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/Gn),(e=>Math.floor(e/Gn))));function so(e){return Zn((t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),((e,t)=>{e.setDate(e.getDate()+7*t)}),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Wn)/Jn))}ao.range;const lo=so(0),co=so(1),po=so(2),uo=so(3),ho=so(4),mo=so(5),fo=so(6);function go(e){return Zn((t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+7*t)}),((e,t)=>(t-e)/Jn))}lo.range,co.range,po.range,uo.range,ho.range,mo.range,fo.range;const bo=go(0),yo=go(1),vo=go(2),wo=go(3),Ao=go(4),Co=go(5),ko=go(6),xo=(bo.range,yo.range,vo.range,wo.range,Ao.range,Co.range,ko.range,Zn((e=>{e.setDate(1),e.setHours(0,0,0,0)}),((e,t)=>{e.setMonth(e.getMonth()+t)}),((e,t)=>t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())),(e=>e.getMonth()))),So=(xo.range,Zn((e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)}),((e,t)=>t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())),(e=>e.getUTCMonth()))),To=(So.range,Zn((e=>{e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,t)=>{e.setFullYear(e.getFullYear()+t)}),((e,t)=>t.getFullYear()-e.getFullYear()),(e=>e.getFullYear())));To.every=e=>isFinite(e=Math.floor(e))&&e>0?Zn((t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,r)=>{t.setFullYear(t.getFullYear()+r*e)})):null,To.range;const Eo=Zn((e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)}),((e,t)=>t.getUTCFullYear()-e.getUTCFullYear()),(e=>e.getUTCFullYear()));function _o(e,t,r,i,n,o){const a=[[$n,1,zn],[$n,5,5e3],[$n,15,15e3],[$n,30,3e4],[o,1,Wn],[o,5,3e5],[o,15,9e5],[o,30,18e5],[n,1,Un],[n,3,108e5],[n,6,216e5],[n,12,432e5],[i,1,Gn],[i,2,1728e5],[r,1,Jn],[t,1,2592e6],[t,3,7776e6],[e,1,Kn]];function s(t,r,i){const n=Math.abs(r-t)/i,o=Lr((([,,e])=>e)).right(a,n);if(o===a.length)return e.every(Or(t/Kn,r/Kn,i));if(0===o)return Xn.every(Math.max(Or(t,r,i),1));const[s,l]=a[n/a[o-1][2]isFinite(e=Math.floor(e))&&e>0?Zn((t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)})):null,Eo.range;const[Io,Po]=_o(Eo,So,bo,ao,io,to),[Mo,Ro]=_o(To,xo,lo,no,ro,eo);function Do(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Bo(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Oo(e,t,r){return{y:e,m:t,d:r,H:0,M:0,S:0,L:0}}var qo,No,Lo,jo={"-":"",_:" ",0:"0"},Fo=/^\s*\d+/,Ho=/^%/,Vo=/[\\^$*+?|[\]().{}]/g;function zo(e,t,r){var i=e<0?"-":"",n=(i?-e:e)+"",o=n.length;return i+(o[e.toLowerCase(),t])))}function Jo(e,t,r){var i=Fo.exec(t.slice(r,r+1));return i?(e.w=+i[0],r+i[0].length):-1}function Ko(e,t,r){var i=Fo.exec(t.slice(r,r+1));return i?(e.u=+i[0],r+i[0].length):-1}function Qo(e,t,r){var i=Fo.exec(t.slice(r,r+2));return i?(e.U=+i[0],r+i[0].length):-1}function Yo(e,t,r){var i=Fo.exec(t.slice(r,r+2));return i?(e.V=+i[0],r+i[0].length):-1}function Zo(e,t,r){var i=Fo.exec(t.slice(r,r+2));return i?(e.W=+i[0],r+i[0].length):-1}function Xo(e,t,r){var i=Fo.exec(t.slice(r,r+4));return i?(e.y=+i[0],r+i[0].length):-1}function $o(e,t,r){var i=Fo.exec(t.slice(r,r+2));return i?(e.y=+i[0]+(+i[0]>68?1900:2e3),r+i[0].length):-1}function ea(e,t,r){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return i?(e.Z=i[1]?0:-(i[2]+(i[3]||"00")),r+i[0].length):-1}function ta(e,t,r){var i=Fo.exec(t.slice(r,r+1));return i?(e.q=3*i[0]-3,r+i[0].length):-1}function ra(e,t,r){var i=Fo.exec(t.slice(r,r+2));return i?(e.m=i[0]-1,r+i[0].length):-1}function ia(e,t,r){var i=Fo.exec(t.slice(r,r+2));return i?(e.d=+i[0],r+i[0].length):-1}function na(e,t,r){var i=Fo.exec(t.slice(r,r+3));return i?(e.m=0,e.d=+i[0],r+i[0].length):-1}function oa(e,t,r){var i=Fo.exec(t.slice(r,r+2));return i?(e.H=+i[0],r+i[0].length):-1}function aa(e,t,r){var i=Fo.exec(t.slice(r,r+2));return i?(e.M=+i[0],r+i[0].length):-1}function sa(e,t,r){var i=Fo.exec(t.slice(r,r+2));return i?(e.S=+i[0],r+i[0].length):-1}function la(e,t,r){var i=Fo.exec(t.slice(r,r+3));return i?(e.L=+i[0],r+i[0].length):-1}function da(e,t,r){var i=Fo.exec(t.slice(r,r+6));return i?(e.L=Math.floor(i[0]/1e3),r+i[0].length):-1}function ca(e,t,r){var i=Ho.exec(t.slice(r,r+1));return i?r+i[0].length:-1}function pa(e,t,r){var i=Fo.exec(t.slice(r));return i?(e.Q=+i[0],r+i[0].length):-1}function ua(e,t,r){var i=Fo.exec(t.slice(r));return i?(e.s=+i[0],r+i[0].length):-1}function ha(e,t){return zo(e.getDate(),t,2)}function ma(e,t){return zo(e.getHours(),t,2)}function fa(e,t){return zo(e.getHours()%12||12,t,2)}function ga(e,t){return zo(1+no.count(To(e),e),t,3)}function ba(e,t){return zo(e.getMilliseconds(),t,3)}function ya(e,t){return ba(e,t)+"000"}function va(e,t){return zo(e.getMonth()+1,t,2)}function wa(e,t){return zo(e.getMinutes(),t,2)}function Aa(e,t){return zo(e.getSeconds(),t,2)}function Ca(e){var t=e.getDay();return 0===t?7:t}function ka(e,t){return zo(lo.count(To(e)-1,e),t,2)}function xa(e){var t=e.getDay();return t>=4||0===t?ho(e):ho.ceil(e)}function Sa(e,t){return e=xa(e),zo(ho.count(To(e),e)+(4===To(e).getDay()),t,2)}function Ta(e){return e.getDay()}function Ea(e,t){return zo(co.count(To(e)-1,e),t,2)}function _a(e,t){return zo(e.getFullYear()%100,t,2)}function Ia(e,t){return zo((e=xa(e)).getFullYear()%100,t,2)}function Pa(e,t){return zo(e.getFullYear()%1e4,t,4)}function Ma(e,t){var r=e.getDay();return zo((e=r>=4||0===r?ho(e):ho.ceil(e)).getFullYear()%1e4,t,4)}function Ra(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+zo(t/60|0,"0",2)+zo(t%60,"0",2)}function Da(e,t){return zo(e.getUTCDate(),t,2)}function Ba(e,t){return zo(e.getUTCHours(),t,2)}function Oa(e,t){return zo(e.getUTCHours()%12||12,t,2)}function qa(e,t){return zo(1+oo.count(Eo(e),e),t,3)}function Na(e,t){return zo(e.getUTCMilliseconds(),t,3)}function La(e,t){return Na(e,t)+"000"}function ja(e,t){return zo(e.getUTCMonth()+1,t,2)}function Fa(e,t){return zo(e.getUTCMinutes(),t,2)}function Ha(e,t){return zo(e.getUTCSeconds(),t,2)}function Va(e){var t=e.getUTCDay();return 0===t?7:t}function za(e,t){return zo(bo.count(Eo(e)-1,e),t,2)}function Wa(e){var t=e.getUTCDay();return t>=4||0===t?Ao(e):Ao.ceil(e)}function Ua(e,t){return e=Wa(e),zo(Ao.count(Eo(e),e)+(4===Eo(e).getUTCDay()),t,2)}function Ga(e){return e.getUTCDay()}function Ja(e,t){return zo(yo.count(Eo(e)-1,e),t,2)}function Ka(e,t){return zo(e.getUTCFullYear()%100,t,2)}function Qa(e,t){return zo((e=Wa(e)).getUTCFullYear()%100,t,2)}function Ya(e,t){return zo(e.getUTCFullYear()%1e4,t,4)}function Za(e,t){var r=e.getUTCDay();return zo((e=r>=4||0===r?Ao(e):Ao.ceil(e)).getUTCFullYear()%1e4,t,4)}function Xa(){return"+0000"}function $a(){return"%"}function es(e){return+e}function ts(e){return Math.floor(+e/1e3)}function rs(e){return new Date(e)}function is(e){return e instanceof Date?+e:+new Date(+e)}function ns(e,t,r,i,n,o,a,s,l,d){var c=Ji(),p=c.invert,u=c.domain,h=d(".%L"),m=d(":%S"),f=d("%I:%M"),g=d("%I %p"),b=d("%a %d"),y=d("%b %d"),v=d("%B"),w=d("%Y");function A(e){return(l(e)t(i/(e.length-1))))},r.quantiles=function(t){return Array.from({length:t+1},((r,i)=>function(e,t,r){if(e=Float64Array.from(function*(e,t){if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(yield t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(i=+i)>=i&&(yield i)}}(e,r)),(i=e.length)&&!isNaN(t=+t)){if(t<=0||i<2)return On(e);if(t>=1)return Bn(e);var i,n=(i-1)*t,o=Math.floor(n),a=Bn(Nn(e,o).subarray(0,o+1));return a+(On(e.subarray(o+1))-a)*(n-o)}}(e,i/t)))},r.copy=function(){return ms(t).domain(e)},wr.apply(r,arguments)}function fs(){var e,t,r,i,n,o,a,s=0,l=.5,d=1,c=1,p=Hi,u=!1;function h(e){return isNaN(e=+e)?a:(e=.5+((e=+o(e))-t)*(c*e=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:es,s:ts,S:Aa,u:Ca,U:ka,V:Sa,w:Ta,W:Ea,x:null,X:null,y:_a,Y:Pa,Z:Ra,"%":$a},w={a:function(e){return a[e.getUTCDay()]},A:function(e){return o[e.getUTCDay()]},b:function(e){return l[e.getUTCMonth()]},B:function(e){return s[e.getUTCMonth()]},c:null,d:Da,e:Da,f:La,g:Qa,G:Za,H:Ba,I:Oa,j:qa,L:Na,m:ja,M:Fa,p:function(e){return n[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:es,s:ts,S:Ha,u:Va,U:za,V:Ua,w:Ga,W:Ja,x:null,X:null,y:Ka,Y:Ya,Z:Xa,"%":$a},A={a:function(e,t,r){var i=h.exec(t.slice(r));return i?(e.w=m.get(i[0].toLowerCase()),r+i[0].length):-1},A:function(e,t,r){var i=p.exec(t.slice(r));return i?(e.w=u.get(i[0].toLowerCase()),r+i[0].length):-1},b:function(e,t,r){var i=b.exec(t.slice(r));return i?(e.m=y.get(i[0].toLowerCase()),r+i[0].length):-1},B:function(e,t,r){var i=f.exec(t.slice(r));return i?(e.m=g.get(i[0].toLowerCase()),r+i[0].length):-1},c:function(e,r,i){return x(e,t,r,i)},d:ia,e:ia,f:da,g:$o,G:Xo,H:oa,I:oa,j:na,L:la,m:ra,M:aa,p:function(e,t,r){var i=d.exec(t.slice(r));return i?(e.p=c.get(i[0].toLowerCase()),r+i[0].length):-1},q:ta,Q:pa,s:ua,S:sa,u:Ko,U:Qo,V:Yo,w:Jo,W:Zo,x:function(e,t,i){return x(e,r,t,i)},X:function(e,t,r){return x(e,i,t,r)},y:$o,Y:Xo,Z:ea,"%":ca};function C(e,t){return function(r){var i,n,o,a=[],s=-1,l=0,d=e.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in o||(o.w=1),"Z"in o?(n=(i=Bo(Oo(o.y,0,1))).getUTCDay(),i=n>4||0===n?yo.ceil(i):yo(i),i=oo.offset(i,7*(o.V-1)),o.y=i.getUTCFullYear(),o.m=i.getUTCMonth(),o.d=i.getUTCDate()+(o.w+6)%7):(n=(i=Do(Oo(o.y,0,1))).getDay(),i=n>4||0===n?co.ceil(i):co(i),i=no.offset(i,7*(o.V-1)),o.y=i.getFullYear(),o.m=i.getMonth(),o.d=i.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),n="Z"in o?Bo(Oo(o.y,0,1)).getUTCDay():Do(Oo(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(n+5)%7:o.w+7*o.U-(n+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Bo(o)):Do(o)}}function x(e,t,r,i){for(var n,o,a=0,s=t.length,l=r.length;a=l)return-1;if(37===(n=t.charCodeAt(a++))){if(n=t.charAt(a++),!(o=A[n in jo?t.charAt(a++):n])||(i=o(e,r,i))<0)return-1}else if(n!=r.charCodeAt(i++))return-1}return i}return v.x=C(r,v),v.X=C(i,v),v.c=C(t,v),w.x=C(r,w),w.X=C(i,w),w.c=C(t,w),{format:function(e){var t=C(e+="",v);return t.toString=function(){return e},t},parse:function(e){var t=k(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=C(e+="",w);return t.toString=function(){return e},t},utcParse:function(e){var t=k(e+="",!0);return t.toString=function(){return e},t}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),No=qo.format,qo.parse,Lo=qo.utcFormat,qo.utcParse;var As=["linear","time","log","sqrt"];function Cs(e){return"function"==typeof e?x()(e.copy)&&x()(e.domain)&&x()(e.range):"string"==typeof e&&rr()(As,e)}function ks(e,t){return!(!e.scale||(e.scale.x||e.scale.y)&&!e.scale[t])}function xs(e,t){if(!e.data)return"linear";var r=j(e[t]);return Ct(e.data.map((function(e){var i=Vt()(r(e))?r(e)[t]:r(e);return void 0!==i?i:e[t]})))?"time":"linear"}function Ss(e){if(Cs(e)){var t=function(e){return"scale".concat(function(e){return e&&e[0].toUpperCase()+e.slice(1)}(e))}(e);return i[t]()}return pn()}function Ts(e,t){var r=Es(e,t);if(r)return"string"==typeof r?Ss(r):r;var i=function(e,t){var r;if(e.domain&&e.domain[t]?r=e.domain[t]:e.domain&&Array.isArray(e.domain)&&(r=e.domain),r)return Ct(r)?"time":"linear"}(e,t)||xs(e,t);return Ss(i)}function Es(e,t){if(ks(e,t)){var r=e.scale[t]||e.scale;return Cs(r)?x()(r)?r:Ss(r):void 0}}function _s(e,t){return function(e,t){if(ks(e,t)){var r=e.scale[t]||e.scale;return"string"==typeof r?r:Ps(r)}}(e,t)||xs(e,t)}var Is=[{name:"quantile",method:"quantiles"},{name:"log",method:"base"}];function Ps(e){if("string"==typeof e)return e;var t=Is.filter((function(t){return void 0!==e[t.method]}))[0];return t?t.name:void 0}var Ms="@@__IMMUTABLE_ITERABLE__@@",Rs="@@__IMMUTABLE_RECORD__@@",Ds="@@__IMMUTABLE_LIST__@@";function Bs(e){return!(!e||!e[Ms])}function Os(e,t){return Bs(e)?e.reduce((function(e,r,i){var n=r;return t&&t[i]&&(n=Os(r)),e[i]=n,e}),function(e){return!(!e||!e[Ds])}(e)?[]:{}):e}function qs(e){return function(e){if(Array.isArray(e))return Ns(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Ns(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ns(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ns(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r2&&void 0!==arguments[2]?arguments[2]:"ascending";if(!t)return e;var i=t;"x"!==t&&"y"!==t||(i="_".concat(t));var n="ascending"===r?"asc":"desc";return nr()(e,i,n)}function Vs(e,t,r){var i=function(e){return void 0!==e},n=Tt(t.x),o=St(t.x),a=Tt(t.y),s=St(t.y),l=function(e){return function(t){return i(t)&&te}},c=l(n),p=l(a),u=d(o),h=d(s);return e.map((function(e){var t=e._x,n=e._y,o=e._y0,l=e._y1;(c(t)||u(t))&&(t=null);var d=i(o)?o:r,m=i(l)?l:n;return i(m)?(i(d)||!p(m)&&!h(m)||(n=null),(p(d)&&p(m)||h(d)&&h(m))&&(n=o=l=null),p(d)&&!p(m)&&(o=a),h(d)&&!h(m)&&(o=s),Object.assign({},e,ur()({_x:t,_y:n,_y0:o,_y1:l},mr()))):e}))}function zs(e,t){var r=Js(e,t),i=Ks(e,t),n=function(e,t){if(!(Array.isArray(e.data)||Bs(e.data)))return[];var r=j(void 0===e[t]?t:e[t]);return Hs(e.data.reduce((function(e,t){return e.push(Ls(t)),e}),[]),e.sortKey,e.sortOrder).reduce((function(e,t){var i=Ls(t);return e.push(r(i)),e}),[]).filter((function(e){return"string"==typeof e})).reduce((function(e,t){return null!=t&&-1===e.indexOf(t)&&e.push(t),e}),[])}(e,t),o=Yt()([].concat(qs(r),qs(i),qs(n)));return 0===o.length?null:o.reduce((function(e,t,r){return e[t]=r+1,e}),{})}function Ws(e,t,r){if(!Array.isArray(e)&&!Bs(e)||js(e)<1)return[];var i,n=["x","y","y0"],o=(r=Array.isArray(r)?r:n).reduce((function(e,r){var i;return e[r]=j(void 0!==t[i=r]?t[i]:i),e}),{}),a=gr()(r,n)&&"_x"===t.x&&"_y"===t.y&&"_y0"===t.y0;!1===a&&(i={x:-1!==r.indexOf("x")?zs(t,"x"):void 0,y:-1!==r.indexOf("y")?zs(t,"y"):void 0,y0:-1!==r.indexOf("y0")?zs(t,"y"):void 0});var s=a?e:e.reduce((function(e,t,n){var a=Ls(t),s={x:n,y:a},l=r.reduce((function(e,t){var r=o[t](a),n=void 0!==r?r:s[t];return void 0!==n&&("string"==typeof n&&i[t]?(e["".concat(t,"Name")]=n,e["_".concat(t)]=i[t][n]):e["_".concat(t)]=n),e}),{}),d=Object.assign({},l,a);return m()(d)||e.push(d),e}),[]),l=function(e,t){var r=1/Number.MAX_SAFE_INTEGER,i={x:_s(t,"x"),y:_s(t,"y")};if("log"!==i.x&&"log"!==i.y)return e;var n=function(e,t){return"log"!==i[t]||0!==e["_".concat(t)]};return e.map((function(e){return n(e,"x")&&n(e,"y")&&n(e,"y0")?e:function(e){var t=n(e,"x")?e._x:r,i=n(e,"y")?e._y:r,o=n(e,"y0")?e._y0:r;return Object.assign({},e,{_x:t,_y:i,_y0:o})}(e)}))}(Hs(s,t.sortKey,t.sortOrder),t);return function(e,t){var r,i=!!e.eventKey,n=(r=e.eventKey,x()(r)?r:null==r?function(){}:C()(r));return t.map((function(e,t){if(void 0!==e.eventKey)return e;if(i){var r=n(e,t);return void 0!==r?Object.assign({eventKey:r},e):e}return e}))}(t,l)}function Us(e,t){return e.categories&&!Array.isArray(e.categories)?e.categories[t]:e.categories}function Gs(e){return e.data?Ws(e.data,e):Ws(function(e){var t=Fs(e,"x"),r=Fs(e,"y");return t.map((function(e,t){return{x:e,y:r[t]}}))}(e),e)}function Js(e,t){var r=e.tickValues,i=e.tickFormat;return(r&&(Array.isArray(r)||r[t])?r[t]||r:i&&Array.isArray(i)?i:[]).filter((function(e){return"string"==typeof e}))}function Ks(e,t){if(!e.categories)return[];var r=Us(e,t),i=r&&r.filter((function(e){return"string"==typeof e}));return i?xt(i):[]}function Qs(e){var t=function(e){return e&&e.type?e.type.role:""},r=t(e);if("portal"===r){var i=d().Children.toArray(e.props.children);r=i.length?t(i[0]):""}return rr()(["area","bar","boxplot","candlestick","errorbar","group","histogram","line","pie","scatter","stack","voronoi"],r)}function Ys(e){return function(e){if(Array.isArray(e))return Zs(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Zs(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Zs(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Zs(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r2&&void 0!==arguments[2]?arguments[2]:"min",i=function(e){return"max"===r?Math.max.apply(Math,Ys(e)):Math.min.apply(Math,Ys(e))},n="max"===r?-1/0:1/0,o=!1,a=Xt()(e).reduce((function(e,r){var n=void 0!==r["_".concat(t,"0")]?r["_".concat(t,"0")]:r["_".concat(t)],a=void 0!==r["_".concat(t,"1")]?r["_".concat(t,"1")]:r["_".concat(t)],s=i([n,a]);return o=o||n instanceof Date||a instanceof Date,i([e,s])}),n);return o?new Date(a):a}function $s(e,t){var r=x()(e)?e:rl,i=x()(t)?t:el;return function(e,t){var n=nl(e,t);if(n)return i(n,e,t);var o=Us(e,t),a=o?function(e,t,r){var i=r||Us(e,t),n=e.polar,o=e.startAngle,a=void 0===o?0:o,s=e.endAngle,l=void 0===s?360:s;if(i){var d=sl(e,t),c=al(e,t),p=At(i)?Ks(e,t):[],u=0===p.length?null:p.reduce((function(e,t,r){return e[t]=r+1,e}),{}),h=u?i.map((function(e){return u[e]})):i,m=il(void 0!==d?d:Tt(h),void 0!==c?c:St(h));return n&&"x"===t&&360===Math.abs(a-l)?ll(m,h):m}}(e,t,o):r(e,t);return a?i(a,e,t):void 0}}function el(e,t,r){return function(e,t,r){return"log"!==_s(t,r)?e:(n=(i=e)[0]<0||i[1]<0?-1/Number.MAX_SAFE_INTEGER:1/Number.MAX_SAFE_INTEGER,[0===i[0]?n:i[0],0===i[1]?n:i[1]]);var i,n}(function(e,t,r){if(!t.domainPadding)return e;var i=sl(t,r),n=al(t,r),o=function(e,t){var r=function(e){return Array.isArray(e)?{left:e[0],right:e[1]}:{left:e,right:e}};return Vt()(e.domainPadding)?r(e.domainPadding[t]):r(e.domainPadding)}(t,r);if(!o.left&&!o.right)return e;var a=Tt(e),s=St(e),l=L(t,H(r,t.horizontal)),d=Math.abs(l[0]-l[1]),c=Math.max(d-o.left-o.right,1),p=Math.abs(s.valueOf()-a.valueOf())/c*d,u=p*o.left/d,h=p*o.right/d,m={min:a.valueOf()-u,max:s.valueOf()+h},f=Vt()(t.singleQuadrantDomainPadding)?t.singleQuadrantDomainPadding[r]:t.singleQuadrantDomainPadding,g=function(e,t){return"min"===t&&a>=0&&e<=0||"max"===t&&s<=0&&e>=0?0:e};if((a>=0&&m.min<=0||s<=0&&m.max>=0)&&!1!==f){var b={left:Math.abs(s-a)*o.left/d,right:Math.abs(s-a)*o.right/d},y={min:g(a.valueOf()-b.left,"min"),max:g(s.valueOf()+b.right,"max")},v={left:Math.abs(y.max-y.min)*o.left/d,right:Math.abs(y.max-y.min)*o.right/d};m={min:g(a.valueOf()-v.left,"min"),max:g(s.valueOf()+v.right,"max")}}var w={min:void 0!==i?i:m.min,max:void 0!==n?n:m.max};return a instanceof Date||s instanceof Date?il(new Date(w.min),new Date(w.max)):il(w.min,w.max)}(e,t,r),t,r)}function tl(e,t){return $s()(e,t)}function rl(e,t,r){var i=r||Gs(e),n=e.polar,o=e.startAngle,a=void 0===o?0:o,s=e.endAngle,l=void 0===s?360:s,d=sl(e,t),c=al(e,t);if(i.length<1)return void 0!==d&&void 0!==c?il(d,c):void 0;var p=il(void 0!==d?d:Xs(i,t,"min"),void 0!==c?c:Xs(i,t,"max"));return n&&"x"===t&&360===Math.abs(a-l)?ll(p,function(e,t){var r="_".concat(t);return Xt()(e).map((function(e){return e[r]&&void 0!==e[r][1]?e[r][1]:e[r]}))}(i,t)):p}function il(e,t){var r,i,n,o;return Number(e)===Number(t)?(i=0===(r=t)?2*Math.pow(10,-10):Math.pow(10,-10),n=r instanceof Date?new Date(Number(r)-1):Number(r)-i,o=r instanceof Date?new Date(Number(r)+1):Number(r)+i,0===r?[0,o]:[n,o]):[e,t]}function nl(e,t){var r=sl(e,t),i=al(e,t);return Vt()(e.domain)&&e.domain[t]?e.domain[t]:Array.isArray(e.domain)?e.domain:void 0!==r&&void 0!==i?il(r,i):void 0}function ol(e,t){var r=nl(e,t);if(r)return r;var i=Gs(e),n=i.reduce((function(e,t){return t._y0e.length)&&(t=e.length);for(var r=0,i=new Array(t);r0?e.concat(i):e}),[])};return r(e)}function gl(e){var t=function(e){var t=Math.min.apply(Math,cl(e)),r=Math.max.apply(Math,cl(e));return r<0?r:Math.max(0,t)};return{x:Ct(e.x)?new Date(Math.min.apply(Math,cl(e.x))):t(e.x),y:Ct(e.y)?new Date(Math.min.apply(Math,cl(e.y))):t(e.y)}}function bl(e,t){return Ct(t)?"positive":e<=0&&Math.max.apply(Math,cl(t))<=0?"negative":"positive"}function yl(e){return{top:!1,bottom:!1,left:!0,right:!0}[e.orientation||(e.dependentAxis?"left":"bottom")]}function vl(e){return void 0!==e.tickValues&&At(e.tickValues)}function wl(e){var t=e.tickValues,r=e.tickFormat;if(0===(null==t?void 0:t.length))return[];var i=ul(e),n=e.stringMap&&e.stringMap[i],o=t;n&&(o=function(e){var t,r=ul(e),i=e.stringMap&&e.stringMap[r],n=Array.isArray(e.categories)?e.categories:e.categories&&e.categories[r],o=n&&wt(t=n)&&t.every((function(e){return"string"==typeof e}))?n.map((function(e){return i[e]})):void 0,a=i&&Wt()(i);return o&&0!==o.length?o:a}(e)),t&&At(t)&&(o=n?t.map((function(e){return n[e]})):V(1,t.length+1));var a=o?Yt()(o):function(){if(r&&Array.isArray(r))return At(r)?r.map((function(e,t){return t})):r}();return Array.isArray(a)&&a.length?function(t){var r=[],n=e.domain&&e.domain[i]||e.domain;if(t)return t.forEach((function(e,t){Array.isArray(n)?e>=Tt(n)&&e<=St(n)&&r.push({value:e,index:t}):r.push({value:e,index:t})})),r}(a):void 0}function Al(e,t){var r=e.tickFormat,i=ul(e),n=e.stringMap&&e.stringMap[i];if(!r){var o=function(e){var t=e.tickValues,r=ul(e),i=e.stringMap&&e.stringMap[r],n=t&&!Ct(t)?function(e){return e}:void 0;if(!i)return vl(e)?function(e,r){return t[r]}:n;var o=i&&ar()(i),a=nr()(Wt()(i),(function(e){return e})).map((function(e){return o[e]})),s=[""].concat(cl(a),[""]);return function(e){return s[e]}}(e),a=t.tickFormat&&x()(t.tickFormat)?t.tickFormat():function(e){return e};return o||a}if(r&&Array.isArray(r)){var s=wl(e),l=null==s?void 0:s.map((function(e){return e.index})),d=r.filter((function(e,t){return null==l?void 0:l.includes(t)}));return function(e,t){return d[t]}}return r&&x()(r)?n?function(t,r,i){var o=ar()(n),a=i.map((function(e){return o[e]}));return e.tickFormat(o[t],r,a)}:r:function(e){return e}}function Cl(e,t){if(!t||!Array.isArray(e)||e.length<=t)return e;var r=Math.floor(e.length/t);return e.filter((function(e,t){return t%r==0}))}function kl(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=e.tickCount,n=wl(e);if(0===(null==n?void 0:n.length))return[""];var o=n?n.map((function(e){return e.value})):void 0;if(o)return Cl(o,i);if(t.ticks&&x()(t.ticks)){var a=i||5,s=t.ticks(a),l=Cl(Array.isArray(s)&&s.length?s:t.domain(),i);if(r){var d=rr()(l,0)?er()(l,0):l;return d.length?d:l}return l}return t.domain()}function xl(e,t){var r=e.polar,i=e.startAngle,n=void 0===i?0:i,o=e.endAngle,a=void 0===o?360:o,s=wl(e),l=s&&0!==(null==s?void 0:s.length)?s.map((function(e){return e.value})):void 0;if(Array.isArray(l)){var d=sl(e,t),c=al(e,t),p=vl(e),u=l.map((function(e){return Number(e)})),h=p?1:Tt(u),m=p?l.length:St(u),f=il(void 0!==d?d:h,void 0!==c?c:m),g=r&&"x"===t&&360===Math.abs(n-a)?ll(f,u):f;return yl(e)&&!r&&g.reverse(),g}}function Sl(e,t){var r=ul(e);if(!t||t===r)return $s(xl)(e,r)}function Tl(e,t){if(e.axisValue){var r="x"===t?"y":"x",i=ae()(e.scale)&&x()(e.scale[r])?e.scale[r]:void 0;if(i){var n="x"===t?"y":"x",o=ae()(e.stringMap)&&e.stringMap[n];return i(o&&"string"==typeof e.axisValue?o[e.axisValue]:e.axisValue)}}}function El(e,t){if(!ae()(e.theme))return F(e,t,"axis");var r="axis";if(e.dependentAxis&&e.theme.dependentAxis?r="dependentAxis":!e.dependentAxis&&e.theme.independentAxis&&(r="independentAxis"),"axis"===r)return F(e,t,"axis");var i=g()({},e.theme[r],e.theme.axis),n=Object.assign({},e.theme,{axis:i});return F(Object.assign({},e,{theme:n}),t,"axis")}var _l=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i0)return r.reduce((function(e,t){return[e,_l(t)].join(" ")}),_l(e)).trim();if(null==e||"string"==typeof e)return e;var n=[];for(var o in e)if(e.hasOwnProperty(o)){var a=e[o];n.push("".concat(o,"(").concat(a,")"))}return n.join(" ").trim()};function Il(e){var t={grayscale:["#cccccc","#969696","#636363","#252525"],qualitative:["#334D5C","#45B29D","#EFC94C","#E27A3F","#DF5A49","#4F7DA1","#55DBC1","#EFDA97","#E2A37F","#DF948A"],heatmap:["#428517","#77D200","#D6D305","#EC8E19","#C92B05"],warm:["#940031","#C43343","#DC5429","#FF821D","#FFAF55"],cool:["#2746B9","#0B69D4","#2794DB","#31BB76","#60E83B"],red:["#FCAE91","#FB6A4A","#DE2D26","#A50F15","#750B0E"],blue:["#002C61","#004B8F","#006BC9","#3795E5","#65B4F4"],green:["#354722","#466631","#649146","#8AB25C","#A9C97E"]};return e?t[e]:t.grayscale}var Pl=r(71086),Ml=r.n(Pl);function Rl(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Dl(e){return function(e){if(Array.isArray(e))return Bl(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Bl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Bl(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bl(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;return y()(t).reduce((function(n,o){var a=r[o]||{},s=t[o]||{};if("parent"===o){var l=Hl(e,s,a,{eventKey:o,target:"parent"});n[o]=void 0!==l?Object.assign({},a,l):a}else{var d=Yt()(y()(s).concat(y()(a)));n[o]=d.reduce((function(t,r){var n={eventKey:o,target:r,childName:i},l=Hl(e,s[r],a[r],n);return t[r]=void 0!==l?Object.assign({},a[r],l):a[r],Ml()(t,(function(e){return!m()(e)}))}),{})}return Ml()(n,(function(e){return!m()(e)}))}),{})}function Hl(e,t,r,i){var n=function(e,t){if("string"==typeof e[t])return"all"===e[t]||e[t]===i[t];if(Array.isArray(e[t])){var r=e[t].map((function(e){return"".concat(e)}));return rr()(r,i[t])}return!1},o=Array.isArray(e)?e:[e];i.childName&&(o=e.filter((function(e){return n(e,"childName")})));var a=o.filter((function(e){return n(e,"target")}));if(!m()(a)){var s=a.filter((function(e){return n(e,"eventKey")}));if(!m()(s))return s.reduce((function(e,i){var n=(i&&x()(i.mutation)?i.mutation:function(){})(Object.assign({},t,r));return Object.assign({},e,n)}),{})}}function Vl(e,t){var r=Array.isArray(t)&&t.reduce((function(t,r){var i=e[r],n=i&&i.type&&i.type.defaultEvents,o=x()(n)?n(i.props):n;return Array.isArray(o)?t.concat.apply(t,Dl(o)):t}),[]);return r&&r.length?r:void 0}function zl(e){var t=e.match(Ol);return t&&t[1]&&t[1].toLowerCase()}var Wl=function(e){return Ml()(e,(function(e,t){return Ol.test(t)}))},Ul=function(e){return ur()(e,(function(e,t){return Ol.test(t)}))},Gl=function(e){return Object.assign(e,{nativeEvent:e})};function Jl(e){return function(e){if(Array.isArray(e))return Kl(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Kl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Kl(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Kl(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r1?Ss("linear"):Ss(n[0])}function id(e){var t=Vl(e,["groupComponent","containerComponent","labelComponent"]),r=e.events;return Array.isArray(t)&&(r=Array.isArray(e.events)?t.concat.apply(t,Jl(e.events)):t),r||[]}function nd(e,t,r){return M(t,e&&e[r]&&e[r].style?e[r].style:{})}function od(e,t,r){var i=r.style,n=r.role,o=e.props.style||{};if(Array.isArray(o))return o;var a=e.type&&e.type.role,s="stack"===a?void 0:function(e,t,r){var i=e.style,n=e.colorScale,o=e.color;if(i&&i.data&&i.data.fill)return i.data.fill;if(n=t.props&&t.props.colorScale?t.props.colorScale:n,o=t.props&&t.props.color?t.props.color:o,n||o){var a=Array.isArray(n)?n:Il(n);return o||a[r%a.length]}}(r,e,t),l="line"===a?{fill:"none",stroke:s}:{fill:s},d="stack"===n?{}:{width:$l(r)},c=g()({},o.data,Object.assign({},d,i.data,l)),p=g()({},o.labels,i.labels);return{parent:i.parent,data:c,labels:p}}function ad(e,t,r){var i=Vt()(e.categories)?e.categories[t]:e.categories,n=ml(r,t),o=n?Js(n.props,t):[],a=i||function(e,t){return z(e.slice(0),(function(e){var r=e.props||{};if(!dl(e)||!r.categories)return null;var i=r.categories&&!Array.isArray(r.categories)?r.categories[t]:r.props.categories,n=i&&i.filter((function(e){return"string"==typeof e}));return n?xt(n):[]}))}(r,t);return Yt()(Xt()([].concat(Jl(a),Jl(o))))}function sd(e,t){var r=t||d().Children.toArray(e.children),i=ad(e,"x",r),n=ad(e,"y",r),o=function(e){return z(e.slice(0),(function(e){var t=e.props||{};return Qs(e)?(e.type&&x()(e.type.getData)?e.type.getData(t):Gs(t)).map((function(e){return{x:e.xName,y:e.yName}})):null}),{},{x:[],y:[]},(function(e,t){var r=Array.isArray(t)?t.map((function(e){return e.x})).filter(Boolean):t.x,i=Array.isArray(t)?t.map((function(e){return e.y})).filter(Boolean):t.y;return{x:void 0!==r?e.x.concat(r):e.x,y:void 0!==i?e.y.concat(i):e.y}}))}(r);return{x:Yt()(Xt()([].concat(Jl(i),Jl(o.x)))),y:Yt()(Xt()([].concat(Jl(n),Jl(o.y))))}}function ld(e,t,r){var i=e.categories&&!Array.isArray(e.categories)?e.categories.x:e.categories,n=e.categories&&!Array.isArray(e.categories)?e.categories.y:e.categories,o=i&&n?{}:r||sd(e,t),a=i||o.x,s=n||o.y;return{x:a.length>0?a:void 0,y:s.length>0?s:void 0}}function dd(e){var t=d().useRef();return d().useEffect((function(){t.current=e})),t.current}var cd=r(66245),pd=r.n(cd),ud=r(44377),hd=r.n(ud),md=r(30115),fd=r.n(md),gd=r(44106),bd=r.n(gd);function yd(e,t){if(e){if("string"==typeof e)return vd(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vd(e,t):void 0}}function vd(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(arguments.length>3?arguments[3]:void 0).reduce((function(i,n){var o=r[n],a=Fl(e,t[n],r[n],n);return i[n]=a||o,Ml()(i,(function(e){return!m()(e)}))}),{})}(e.externalEventMutations,t,this.state,y()(t))}},{key:"cacheSharedEvents",value:function(e,t,r){this.sharedEventsCache[e]=[t,r]}},{key:"getCachedSharedEvents",value:function(e,t){var r,i,n=(r=this.sharedEventsCache[e]||[],i=2,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i,n,o=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(i=r.next()).done)&&(o.push(i.value),!t||o.length!==t);a=!0);}catch(e){s=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw n}}return o}}(r,i)||yd(r,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=n[0],a=n[1];if(o&&fd()(t,a))return o}},{key:"getBaseProps",value:function(e){var t=e.container,r=d().Children.toArray(this.props.children),i=this.getBasePropsFromChildren(r),n=t?t.props:{};return Object.assign({},i,{parent:n})}},{key:"getBasePropsFromChildren",value:function(e){var t=z(e,(function(e,t){if(e.type&&x()(e.type.getBaseProps)){var r=e.props&&e.type.getBaseProps(e.props);return r?[[t,r]]:null}return null}));return hd()(t)}},{key:"getNewChildren",value:function(e,t){var r=this,i=e.events,n=e.eventKey,o=function(e,a){return e.reduce((function(e,s,l){if(s.props.children){var c=d().Children.toArray(s.props.children),p=a.slice(l,l+c.length),u=d().cloneElement(s,s.props,o(c,p));return e.concat(u)}if("parent"!==a[l]&&s.type&&x()(s.type.getBaseProps)){var h=s.props.name||a[l],m=Array.isArray(i)&&i.filter((function(e){return"parent"!==e.target&&(Array.isArray(e.childName)?e.childName.indexOf(h)>-1:e.childName===h||"all"===e.childName)})),f=[h,t,m,bd()(r.state[h])],g=r.getCachedSharedEvents(h,f)||{events:m,getEvents:function(e,i){return r.getScopedEvents(e,i,h,t)},getEventState:function(e,t){return r.getEventState(e,t,h)}};return r.cacheSharedEvents(h,g,f),e.concat(d().cloneElement(s,Object.assign({key:"events-".concat(h),sharedEvents:g,eventKey:n,name:h},s.props)))}return e.concat(s)}),[])},a=y()(t),s=d().Children.toArray(e.children);return o(s,a)}},{key:"getContainer",value:function(e,t,r){var i=this,n=this.getNewChildren(e,t),o=Array.isArray(r)?r.filter((function(e){return"parent"===e.target})):[],a=o.length>0?{events:o,getEvents:function(e,r){return i.getScopedEvents(e,r,null,t)},getEventState:this.getEventState}:null,s=e.container||e.groupComponent,l=s.type&&s.type.role,c=s.props||{},p=ql.bind(this),u=a&&p({sharedEvents:a},"parent"),h=g()({},this.getEventState("parent","parent"),c,t.parent,{children:n}),m=g()({},Ll(u,"parent",h),c.events);this.globalEvents=Wl(m);var f=Ul(m);return"container"===l?d().cloneElement(s,Object.assign({},h,{events:f})):d().cloneElement(s,f,n)}},{key:"render",value:function(){var e=this.getAllEvents(this.props);return e?this.getContainer(this.props,this.baseProps,e):d().cloneElement(this.props.container,{children:this.props.children})}}],r&&wd(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(d().Component);xd.displayName="VictorySharedEvents",xd.role="shared-event-wrapper",xd.contextType=Oe,xd.defaultProps={groupComponent:d().createElement("g",null)};var Sd=r(50104),Td=r.n(Sd);function Ed(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i,n,o=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(i=r.next()).done)&&(o.push(i.value),!t||o.length!==t);a=!0);}catch(e){s=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw n}}return o}}(e,t)||_d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _d(e,t){if(e){if("string"==typeof e)return Id(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Id(e,t):void 0}}function Id(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r2&&void 0!==arguments[2]&&arguments[2];return"undefined"==typeof window||void 0===window.document||void 0===window.document.createElement||r?function(e,t){var r=Array.isArray(t)?t[0]&&t[0].angle:t&&t.angle,i=function(e,t){return void 0===e||""===e||null===e?0:Bd(e).reduce((function(e,r,i){var n=Nd(t,i),o=r.toString().match(/[(A-Z)(0-9)]/)?1.15*n.fontSize:n.fontSize;return e+n.lineHeight*o}),0)}(e,t),n=Ld(e,t);return{width:r?Od(n,i,r):n,height:1.05*(r?Od(i,n,r):i)}}(e,t):Hd(e,t)},zd=function(e,t){return Vd(e,t)},Wd=["desc","id","tabIndex","origin"];function Ud(){return Ud=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,Wd)),s=function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,nc),l=function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,lc)),o=function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;return void 0!==t.label?t.label:Array.isArray(e.labels)?e.labels[r]:e.labels}function mc(e,t){var r=uc(e);return"perpendicular"===r||"vertical"===r&&(90===t||270===t)?"middle":t<=90||t>270?"start":"end"}function fc(e,t){var r=uc(e),i=function(e){return e<45||e>315?"right":e>=45&&e<=135?"top":e>135&&e<225?"left":"bottom"}(t);return"parallel"===r||"left"===i||"right"===i?"middle":"top"===i?"end":"start"}function gc(e,t){var r=e.labelPlacement,i=e.datum;if(!r||"vertical"===r)return 0;var n=void 0!==t?t%360:bc(e,i),o=0;return 0===n||180===n?o=90:n>0&&n<180?o=90-n:n>180&&n<360&&(o=270-n),o+(n>90&&n<180||n>270?1:-1)*("perpendicular"===r?0:90)}function bc(e,t){var r=T(t).x;return O(e.scale.x(r))%360}function yc(e,t){var r=e.scale,i=e.data,n=e.style,o=e.horizontal,a=e.polar,s=e.width,l=e.height,d=e.theme,c=e.labelComponent,p=e.disableInlineStyles,u=i[t],h=bc(e,u),m=a?mc(e,h):function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.style,i=e.horizontal,n=t._y>=0?1:-1,o=r&&r.labels||{};return t.verticalAnchor||o.verticalAnchor?t.verticalAnchor||o.verticalAnchor:i?n>=0?"start":"end":"middle"}(e,u),f=a?fc(e,h):function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t._y>=0?1:-1,i=e.style&&e.style.labels||{};return t.verticalAnchor||i.verticalAnchor?t.verticalAnchor||i.verticalAnchor:e.horizontal?"middle":r>=0?"end":"start"}(e,u),b=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.style&&e.style.labels||{};return void 0===t.angle?r.angle:t.angle}(e,u),y=hc(e,u,t),v=uc(e),w=function(e,t){var r=e.polar,i=E(e,t),n=i.x,o=i.y;if(!r)return{x:n,y:o};var a=function(e,t){var r=e.style,i=bc(e,t),n=R((r.labels||{}).padding,e)||0,o=B(i);return{x:n*Math.cos(o),y:-n*Math.sin(o)}}(e,t);return{x:n+a.x,y:o+a.y}}(e,u),A=w.x,C=w.y,k=function(e,t){if(e.polar)return{};var r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.horizontal,i=R((e.style.labels||{}).padding,e)||0,n=t._y<0?-1:1;return{x:r?n*i:0,y:r?0:-1*n*i}}(e,t);return{dx:r.x,dy:r.y}}(e,u),x={angle:b,data:i,datum:u,disableInlineStyles:p,horizontal:o,index:t,polar:a,scale:r,labelPlacement:v,text:y,textAnchor:m,verticalAnchor:f,x:A,y:C,dx:k.dx,dy:k.dy,width:s,height:l,style:n.labels};if(!I(c))return x;var T=d&&d.tooltip||{};return g()({},x,S(T,["style"]))}function vc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function wc(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,i=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:0;return Array.isArray(e)?e[t]||e[0]:e},_c=function(e){var t=e.backgroundStyle,r=e.backgroundPadding;return Array.isArray(t)&&!m()(t)||Array.isArray(r)&&!m()(r)},Ic=function(e,t){var r=e.direction,i=e.textAnchor,n=e.x,o=e.dx;if("rtl"===r)return n-t;switch(i){case"middle":return Math.round(n-t/2);case"end":return Math.round(n-t);default:return n+(o||0)}},Pc=function(e,t){var r=e.verticalAnchor,i=e.y,n=e.originalDy,o=i+(void 0===n?0:n);switch(r){case"start":return Math.floor(o);case"end":return Math.ceil(o-t);default:return Math.floor(o-t/2)}},Mc=function(e,t){return _c(e)?function(e,t){var r=e.dy,i=e.dx,n=e.transform,o=e.backgroundStyle,a=e.backgroundPadding,s=e.backgroundComponent,l=e.inline,c=e.y,p=t.map((function(e,n){var o=Ec(t,n-1),s=e.textSize,d=e.fontSize*e.lineHeight,p=Math.ceil(d),u=Ec(a,n),h=Ec(a,n-1),m=l&&i||0,f=n&&!l?o.fontSize*o.lineHeight+h.top+h.bottom:r-.5*d-(e.fontSize-e.capHeight);return{textHeight:p,labelSize:s,heightWithPadding:p+u.top+u.bottom,widthWithPadding:s.width+u.left+u.right+m,y:c,fontSize:e.fontSize,dy:f}}));return p.map((function(t,r){var i=Ic(e,t.labelSize.width),u=p.slice(0,r+1).reduce((function(e,t){return e+t.dy}),c),h=Ec(a,r),m=t.heightWithPadding,f=l?function(e,t,r){var i=e.textAnchor,n=t.map((function(e){return e.widthWithPadding})),o=-n.reduce((function(e,t){return e+t}),0)/2;switch(i){case"start":return n.reduce((function(e,t,i){return ir?e-t:e}),0);default:return n.reduce((function(e,t,i){return i===r?e+t/2:e+(i+e;function Lc(e){return e*e}function jc(e){return e*(2-e)}function Fc(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}function Hc(e){return e*e*e}function Vc(e){return--e*e*e+1}function zc(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Wc=function e(t){function r(e){return Math.pow(e,t)}return t=+t,r.exponent=e,r}(3),Uc=function e(t){function r(e){return 1-Math.pow(1-e,t)}return t=+t,r.exponent=e,r}(3),Gc=function e(t){function r(e){return((e*=2)<=1?Math.pow(e,t):2-Math.pow(2-e,t))/2}return t=+t,r.exponent=e,r}(3),Jc=Math.PI,Kc=Jc/2;function Qc(e){return 1==+e?1:1-Math.cos(e*Kc)}function Yc(e){return Math.sin(e*Kc)}function Zc(e){return(1-Math.cos(Jc*e))/2}function Xc(e){return 1.0009775171065494*(Math.pow(2,-10*e)-.0009765625)}function $c(e){return Xc(1-+e)}function ep(e){return 1-Xc(e)}function tp(e){return((e*=2)<=1?Xc(1-e):2-Xc(e-1))/2}function rp(e){return 1-Math.sqrt(1-e*e)}function ip(e){return Math.sqrt(1- --e*e)}function np(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var op=4/11,ap=6/11,sp=8/11,lp=3/4,dp=9/11,cp=10/11,pp=15/16,up=21/22,hp=63/64,mp=1/op/op;function fp(e){return 1-gp(1-e)}function gp(e){return(e=+e)2&&void 0!==arguments[2]?arguments[2]:0;return function(i){return i=1?t:function(){return Ni("function"==typeof e?e.apply(this,arguments):e,"function"==typeof t?t.apply(this,arguments):t)(r)}}},Ip=function(e,t){var r,i,n,o=function(e){return Array.isArray(e)?nr()(e,"key"):e},a={},s={},l=e,d=t;for(r in null!==l&&"object"==typeof l||(l={}),null!==d&&"object"==typeof d||(d={}),d)r in l?a[r]=(i=o(l[r]))!==(n=o(d[r]))&&Tp(i)&&Tp(n)?"function"==typeof i||"function"==typeof n?_p(i,n):"object"==typeof i&&Vt()(i)||"object"==typeof n&&Vt()(n)?Ip(i,n):Ni(i,n):Ep(i,n):s[r]=d[r];return function(e){for(r in a)s[r]=a[r](e);return s}};function Pp(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r=1)return r.setState({data:r.interpolator(1),animationInfo:{progress:1,animating:!1,terminating:!0}}),r.loopID&&r.timer.unsubscribe(r.loopID),r.queue.shift(),void r.traverseQueue();r.setState({data:r.interpolator(r.ease(n)),animationInfo:{progress:n,animating:n<1}})},r.state={data:Array.isArray(r.props.data)?r.props.data[0]:r.props.data,animationInfo:{progress:0,animating:!1}},r.interpolator=null,r.queue=Array.isArray(r.props.data)?r.props.data.slice(1):[],r.ease=n[r.toNewName(r.props.easing)],r.timer=r.context.animationTimer,r}return t=s,r=[{key:"componentDidMount",value:function(){this.queue.length&&this.traverseQueue()}},{key:"componentDidUpdate",value:function(e){if(!fd()(this.props,e))if(this.interpolator&&this.state.animationInfo&&this.state.animationInfo.progress<1)this.setState({data:this.interpolator(1),animationInfo:{progress:1,animating:!1,terminating:!0}});else{var t;this.timer.unsubscribe(this.loopID),Array.isArray(this.props.data)?(t=this.queue).push.apply(t,function(e){if(Array.isArray(e))return Pp(e)}(r=this.props.data)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return Pp(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Pp(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):(this.queue.length=0,this.queue.push(this.props.data)),this.traverseQueue()}var r}},{key:"componentWillUnmount",value:function(){this.loopID?this.timer.unsubscribe(this.loopID):this.timer.stop()}},{key:"toNewName",value:function(e){return"ease".concat(function(e){return e&&e[0].toUpperCase()+e.slice(1)}(e))}},{key:"traverseQueue",value:function(){var e=this;if(this.queue.length){var t=this.queue[0];this.interpolator=function(e,t){return e!==t&&Tp(e)&&Tp(t)?"function"==typeof e||"function"==typeof t?_p(e,t):Vt()(e)||Vt()(t)?Ip(e,t):"string"==typeof e||"string"==typeof t?function(e,t){var r=function(e){return"string"==typeof e?e.replace(/,/g,""):e};return Ni(r(e),r(t))}(e,t):Ni(e,t):Ep(e,t)}(this.state.data,t),this.props.delay?setTimeout((function(){e.loopID=e.timer.subscribe(e.functionToBeRunEachFrame,e.props.duration)}),this.props.delay):this.loopID=this.timer.subscribe(this.functionToBeRunEachFrame,this.props.duration)}else this.props.onEnd&&this.props.onEnd()}},{key:"render",value:function(){return this.props.children(this.state.data,this.state.animationInfo)}}],r&&Mp(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),s}(d().Component);function Op(){return Op=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,i=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:{},r=function(r){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&zp(e,t)}(l,r);var i,n,o,a,s=(o=l,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Up(o);if(a){var r=Up(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return Wp(e)}(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),(t=s.call(this,e)).state={},t.getEventState=jl.bind(Wp(t)),t.getScopedEvents=Nl.bind(Wp(t)),t.getEvents=function(e,r,i){return ql.call(Wp(t),e,r,i,t.getScopedEvents)},t.externalMutations=t.getExternalMutations(t.props),t.calculatedState=t.getStateChanges(t.props),t.globalEvents={},t.prevGlobalEventKeys=[],t.boundGlobalEvents={},t.cacheValues(t.getCalculatedValues(e)),t}return i=l,n=[{key:"shouldComponentUpdate",value:function(e){var t=this.getExternalMutations(e),r=this.props.animating||this.props.animate,i=!fd()(t,this.externalMutations);if(r||i)return this.cacheValues(this.getCalculatedValues(e)),this.externalMutations=t,this.applyExternalMutations(e,t),!0;var n=this.getStateChanges(e);return fd()(this.calculatedState,n)?!fd()(this.props,e)&&(this.cacheValues(this.getCalculatedValues(e)),!0):(this.cacheValues(this.getCalculatedValues(e)),!0)}},{key:"componentDidMount",value:function(){var e=this,t=y()(this.globalEvents);t.forEach((function(t){return e.addGlobalListener(t)})),this.prevGlobalEventKeys=t}},{key:"componentDidUpdate",value:function(e){var t=this,r=this.getStateChanges(e);this.calculatedState=r;var i=y()(this.globalEvents);pd()(this.prevGlobalEventKeys,i).forEach((function(e){return t.removeGlobalListener(e)})),pd()(i,this.prevGlobalEventKeys).forEach((function(e){return t.addGlobalListener(e)})),this.prevGlobalEventKeys=i}},{key:"componentWillUnmount",value:function(){var e=this;this.prevGlobalEventKeys.forEach((function(t){return e.removeGlobalListener(t)}))}},{key:"addGlobalListener",value:function(e){var t=this,r=function(r){var i=t.globalEvents[e];return i&&i(Gl(r))};this.boundGlobalEvents[e]=r,window.addEventListener(zl(e),r)}},{key:"removeGlobalListener",value:function(e){window.removeEventListener(zl(e),this.boundGlobalEvents[e])}},{key:"getStateChanges",value:function(e){var r=this;if(!this.hasEvents)return{};var i=function(e,t){var i=g()({},r.getEventState(e,t),r.getSharedEventState(e,t));return m()(i)?void 0:i};return(t.components||Jp).map((function(t){if(e.standalone||"parent"!==t.name)return void 0!==t.index?i(t.index,t.name):r.dataKeys.map((function(e){return i(e,t.name)})).filter(Boolean)})).filter(Boolean)}},{key:"applyExternalMutations",value:function(e,t){if(!m()(t)){var r=e.externalEventMutations.reduce((function(e,t){return x()(t.callback)?e.concat(t.callback):e}),[]),i=r.length?function(){r.forEach((function(e){return e()}))}:void 0;this.setState(t,i)}}},{key:"getCalculatedValues",value:function(t){var r=t.sharedEvents,i=Vl(t,e.expectedComponents),n=r&&x()(r.getEventState)?r.getEventState:function(){},o=this.getBaseProps(t,n);return{componentEvents:i,getSharedEventState:n,baseProps:o,dataKeys:y()(o).filter((function(e){return"parent"!==e})),hasEvents:t.events||t.sharedEvents||i,events:this.getAllEvents(t)}}},{key:"getExternalMutations",value:function(e){var t=e.sharedEvents,r=e.externalEventMutations;return m()(r)||t?void 0:Fl(r,this.baseProps,this.state)}},{key:"cacheValues",value:function(e){var t=this;y()(e).forEach((function(r){t[r]=e[r]}))}},{key:"getBaseProps",value:function(t,r){var i=(r||this.getSharedEventState.bind(this))("parent","parent"),n=this.getEventState("parent","parent"),o=g()({},n,i),a=o.parentControlledProps,s=a?w()(o,a):{},l=g()({},s,t);return"function"==typeof e.getBaseProps?e.getBaseProps(l):{}}},{key:"getAllEvents",value:function(e){var t;return Array.isArray(this.componentEvents)?Array.isArray(e.events)?(t=this.componentEvents).concat.apply(t,Fp(e.events)):this.componentEvents:e.events}},{key:"getComponentProps",value:function(t,r,i){var n=this.props.name||e.role,o=this.dataKeys&&this.dataKeys[i]||i,a="".concat(n,"-").concat(r,"-").concat(o),s=this.baseProps[o]&&this.baseProps[o][r]||this.baseProps[o];if(s||this.hasEvents){var l=t&&"object"==typeof t&&"props"in t?t.props:void 0;if(this.hasEvents){var d=this.getEvents(this.props,r,o),c=g()({index:i,key:a},this.getEventState(o,r),this.getSharedEventState(o,r),l,s,{id:a}),p=g()({},Ll(d,o,c),c.events);return Object.assign({},c,{events:p})}return g()({index:i,key:a},l,s,{id:a})}}},{key:"renderContainer",value:function(e,t){var r=e.type&&"container"===e.type.role?this.getComponentProps(e,"parent","parent"):{};return r.events&&(this.globalEvents=Wl(r.events),r.events=Ul(r.events)),d().cloneElement(e,r,t)}},{key:"animateComponent",value:function(e,t){var r,i="object"==typeof e.animate&&(null===(r=e.animate)||void 0===r?void 0:r.animationWhitelist)||t,n=this.constructor;return d().createElement(jp,{animate:e.animate,animationWhitelist:i},d().createElement(n,e))}},{key:"renderContinuousData",value:function(e){var t=this,r=e.dataComponent,i=e.labelComponent,n=e.groupComponent,o=er()(this.dataKeys,"all").reduce((function(e,r){var n=e,o=t.getComponentProps(i,"labels",r);return o&&void 0!==o.text&&null!==o.text&&(n=n.concat(d().cloneElement(i,o))),n}),[]),a=this.getComponentProps(r,"data","all"),s=[d().cloneElement(r,a)].concat(Fp(o));return this.renderContainer(n,s)}},{key:"renderData",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gp,i=e.dataComponent,n=e.labelComponent,o=e.groupComponent,a=this.dataKeys.reduce((function(e,n,o){var a=t.getComponentProps(i,"data",o);return r(a.datum)&&e.push(d().cloneElement(i,a)),e}),[]),s=this.dataKeys.map((function(e,r){var i=t.getComponentProps(n,"labels",r);if(void 0!==i.text&&null!==i.text)return d().cloneElement(n,i)})).filter(Boolean),l=[].concat(Fp(a),Fp(s));return this.renderContainer(o,l)}}],n&&Vp(i.prototype,n),Object.defineProperty(i,"prototype",{writable:!1}),l}(e);return r}function Qp(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:{},r=e.style||{};return{parent:g()(r.parent,t.parent,{height:"100%",width:"100%"}),axis:g()({},r.axis,t.axis),axisLabel:g()({},r.axisLabel,t.axisLabel),grid:g()({},r.grid,t.grid),ticks:g()({},r.ticks,t.ticks),tickLabels:g()({},r.tickLabels,t.tickLabels)}},eu=function(e,t,r){var i=e.position,n=e.transform;return{x1:n.x,y1:n.y,x2:n.x+i.x2,y2:n.y+i.y2,style:t,datum:r}},tu=function(e,t,r,i,n){var o=e.position,a=e.transform;return{style:t,x:a.x+o.x,y:a.y+o.y,verticalAnchor:r.verticalAnchor,textAnchor:r.textAnchor,angle:t.angle,text:n,datum:i}},ru=function(e,t,r){var i=e.edge,n=e.transform;return{x1:n.x,y1:n.y,x2:i.x+n.x,y2:i.y+n.y,style:t,datum:r}},iu=function(e,t,r){var i=t||"positive";return r?{positive:{x:"left",y:"bottom"},negative:{x:"right",y:"top"}}[i][e]:{positive:{x:"bottom",y:"left"},negative:{x:"top",y:"right"}}[i][e]},nu=function(e,t){return e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():e===t},ou=function(e,t,r){var i=t.orientation,n=Tl(e,t.axis);return{top:{x:0,y:void 0!==n?n:r.y},bottom:{x:0,y:void 0!==n?n:e.height-r.y},left:{x:void 0!==n?n:r.x,y:0},right:{x:void 0!==n?n:e.width-r.x,y:0}}[i]},au=function(e,t,r){var i=e.tickStyle,n=e.labelStyle,o=i.size||0,a=o+(i.padding||0)+(n.padding||0),s=Zp[t];return{x:r?s*a:0,x2:r?s*o:0,y:r?0:s*a,y2:r?0:s*o}},su=function(e,t,r){return{x:r?t.x:e+t.x,y:r?e+t.y:t.y}},lu=function(e,t){var r=t.orientation,i=t.padding,n=t.isVertical,o=-Zp[r];return{x:n?o*(e.width-(i.left+i.right)):0,y:n?0:o*(e.height-(i.top+i.bottom))}},du=function(e,t){var r=e.padding,i=e.orientation,n=e.crossAxis,o="right"===i?r.right:r.left,a="top"===i?r.top:r.bottom;return{x:n?t.x-o:0,y:n?t.y-a:0}},cu=function(e,t){var r;return r=t.domain.x&&t.domain.y?e.horizontal?function(e,t){var r=t.scale,i=t.origin,n=t.orientation,o=t.orientations,a=t.domain,s=t.padding,l=s.top,d=s.bottom,c=s.left,p=s.right,u="bottom"===n||"top"===n?n:o.x,h="left"===n||"right"===n?n:o.y,m={x:"bottom"===u?d:l,y:"left"===h?c:p},f="left"===h?0:e.width,g="bottom"===u?e.height:0,b=nu(i.x,a.x[0])||nu(i.x,a.x[1])?0:r.x(i.x),y=nu(i.y,a.y[0])||nu(i.y,a.y[1])?0:r.y(i.y),v=b?Math.abs(g-b):m.x,w=y?Math.abs(f-y):m.y;return{x:Xp(e.offsetX)?e.offsetX:w,y:Xp(e.offsetY)?e.offsetY:v}}(e,t):function(e,t){var r=t.scale,i=t.origin,n=t.orientation,o=t.orientations,a=t.domain,s=t.padding,l=s.top,d=s.bottom,c=s.left,p=s.right,u="bottom"===n||"top"===n?n:o.x,h="left"===n||"right"===n?n:o.y,m={x:"left"===h?c:p,y:"bottom"===u?d:l},f="left"===h?0:e.width,g="bottom"===u?e.height:0,b=nu(i.x,a.x[0])||nu(i.x,a.x[1])?0:r.x(i.x),y=nu(i.y,a.y[0])||nu(i.y,a.y[1])?0:r.y(i.y),v=b?Math.abs(f-b):m.x,w=y?Math.abs(g-y):m.y;return{x:Xp(e.offsetX)?e.offsetX:v,y:Xp(e.offsetY)?e.offsetY:w}}(e,t):function(e,t){var r,i=t.style,n=t.scale,o=t.orientation,a=t.padding,s=t.axis,l=t.ticks,d=t.stringTicks,c=t.isVertical,p=t.labelPadding,u=e.polar,h=e.horizontal,m={scale:Yp({},s,n),polar:u,horizontal:h,ticks:l,stringTicks:d},f="right"===o?a.right:a.left,g="top"===o?a.top:a.bottom,b=null!==e.offsetX&&void 0!==e.offsetX?e.offsetX:f,y=null!==e.offsetY&&void 0!==e.offsetY?e.offsetY:g,v=i.axisLabel.fontSize||14,w=l.map((function(t,r){var n=d?e.tickValues[t-1]:t;return D(i.ticks,Object.assign({},m,{tick:n,index:r})).size||0})),A=v+2*Math.max.apply(Math,function(e){if(Array.isArray(e))return Qp(e)}(r=w)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return Qp(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Qp(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())+p,C=1.2*v;return{x:null!=b?b:c?A:C,y:null!=y?y:c?C:A}}(e,t),{globalTransform:ou(e,t,r),gridOffset:du(t,r),gridEdge:lu(e,t)}},pu=function(e,t){var r=El(e,t),i=function(e){var t=function(e){var t=e.theme,r=e.dependentAxis,i=t&&t.axis&&t.axis.style,n=r?"dependentAxis":"independentAxis",o=t&&t[n]&&t[n].style;return i&&o?["axis","axisLabel","grid","parent","tickLabels","ticks"].reduce((function(e,t){return e[t]=g()({},o[t],i[t]),e}),{}):o||i}(e),r=$p(e,t),i=_(e),n=function(e,t){var r=t.axisLabel||{};if(void 0!==r.padding&&null!==r.padding)return r.padding;var i=yl(e),n=r.fontSize||14;return e.label?n*(i?2.3:1.6):0}(e,r),o=vl(e)?e.tickValues:void 0,a=ul(e),s=Sl(e),l=function(e){var t=ul(e),r=function(e,t){var r=e.orientation,i=e.horizontal;return r?{top:"x",bottom:"x",left:"y",right:"y"}[r]:i?"x"===t?"y":"x":t}(e,t),i=Ts(e,t),n=e.domain&&e.domain[t]||Sl(e)||i.domain();return i.range(L(e,r)),i.domain(n),i}(e),d="x"===a?s:void 0,c="y"===a?s:void 0,p="x"===a?l:void 0,u="y"===a?l:void 0,h=!(!1===e.crossAxis||!0===e.standalone),m=kl(e,l,h),f=Al(e,l),b={x:L(e,"x"),y:L(e,"y")},y={x:e.domain&&e.domain.x?e.domain.x:d,y:e.domain&&e.domain.y?e.domain.y:c},v={x:e.domain&&e.domain.x?Ts(e,"x").domain(e.domain.x).range(e.horizontal?b.y:b.x):p,y:e.domain&&e.domain.y?Ts(e,"y").domain(e.domain.y).range(e.horizontal?b.x:b.y):u},w=y.x&&y.y?gl(y):void 0,A=w?{x:bl(w.x,y.x),y:bl(w.y,y.y)}:void 0,C=A?{x:iu("x",A.y,e.horizontal),y:iu("y",A.x,e.horizontal)}:void 0,k=C?e.orientation||C[a]:function(e){if(e.orientation)return e.orientation;var t={dependent:e.horizontal?"bottom":"left",independent:e.horizontal?"left":"bottom"};return e.dependentAxis?t.dependent:t.independent}(e),x=yl(Object.assign({},e,{orientation:k})),S=function(e,t){var r={top:"end",left:"end",right:"start",bottom:"start"}[e];return{textAnchor:t?r:"middle",verticalAnchor:t?"middle":r}}(k,x);return{anchors:S,axis:a,crossAxis:h,domain:y,isVertical:x,labelPadding:n,orientation:k,orientations:C,origin:w,padding:i,scale:v,stringTicks:o,style:r,tickFormat:f,ticks:m}}(r),n=i.axis,o=i.style,a=i.orientation,s=i.isVertical,l=i.scale,d=i.ticks,c=i.tickFormat,p=i.anchors,u=i.domain,h=i.stringTicks,m="x"===n?"y":"x",f=r.width,b=r.height,y=r.standalone,v=r.theme,w=r.polar,A=r.padding,C=r.horizontal,k=cu(r,i),x=k.globalTransform,S=k.gridOffset,T=k.gridEdge,E={scale:Yp({},n,l[n]),polar:w,horizontal:C,ticks:d,stringTicks:h},I=function(e,t,r){var i=t.style,n=t.padding,o=t.isVertical,a=e.width,s=e.height;return{style:i.axis,x1:o?r.x:n.left+r.x,x2:o?r.x:a-n.right+r.x,y1:o?n.top+r.y:r.y,y2:o?s-n.bottom+r.y:r.y}}(r,i,x),P=function(e,t,r){var i=t.style,n=t.orientation,o=t.padding,a=t.labelPadding,s=t.isVertical,l=Zp[n],d=o.left+o.right,c=o.top+o.bottom,p=l<0?"end":"start",u=i.axisLabel,h=s?-90:0;return{x:s?r.x+l*a:(e.width-d)/2+o.left+r.x,y:s?(e.height-c)/2+o.top+r.y:l*a+r.y,verticalAnchor:u.verticalAnchor||p,textAnchor:u.textAnchor||"middle",angle:void 0===u.angle?h:u.angle,style:u,text:e.label}}(r,i,x),M={parent:Object.assign({style:o.parent,ticks:d,standalone:y,theme:v,width:f,height:b,padding:A,domain:u},E)},R={dimension:m,range:Yp({},m,L(r,m)),scale:r.scale&&r.scale[m]?Yp({},m,r.scale[m]):void 0};return d.reduce((function(e,t,r){var i,u,m,f=h?h[r]:t,g=c(t,r,d),b=function(e,t){return{tickStyle:D(e.ticks,t),labelStyle:D(e.tickLabels,t),gridStyle:D(e.grid,t)}}(o,Object.assign({},E,{tick:f,tickValue:t,index:r,text:g})),y={position:au(b,a,s),transform:su(null===(i=l[n])||void 0===i?void 0:i.call(l,t),x,s)},v={edge:T,transform:{x:s?-S.x+x.x:(null===(u=l[n])||void 0===u?void 0:u.call(l,t))+x.x,y:s?(null===(m=l[n])||void 0===m?void 0:m.call(l,t))+x.y:S.y+x.y}};return e[r]={axis:Object.assign({dimension:n},E,I),axisLabel:Object.assign({},E,P),ticks:Object.assign({},E,eu(y,b.tickStyle,t)),tickLabels:Object.assign({},E,tu(y,b.labelStyle,p,t,g)),grid:Object.assign({},E,R,ru(v,b.gridStyle,t))},e}),M)};function uu(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,vu)),s=function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};if(e.disableInlineStyles)return{};var r=e.style||{};return{parent:g()({height:"auto",width:"100%"},r.parent,t.parent),axis:g()({},r.axis,t.axis),axisLabel:g()({},r.axisLabel,t.axisLabel),grid:g()({},r.grid,t.grid),ticks:g()({},r.ticks,t.ticks),tickLabels:g()({},r.tickLabels,t.tickLabels)}},Nu=function(e){var t=e.axisAngle,r=e.startAngle,i=e.dependentAxis,n=Tl(e,ul(e));return void 0!==n&&i?O(n):void 0===t?r:t},Lu=function(e,t,r,i){var n=t.axisType,o=t.radius,a=t.scale,s=t.style,l=t.stringTicks,d=t.ticks,c=t.tickFormat,p=t.origin,u=c(r,i,d),h=l?l[i]:r,m=Ru(s,{tick:h,tickValue:r,index:i,ticks:d,stringTicks:l,radius:o,scale:a,axisType:n,text:u}).tickStyle,f="radial"===n?Nu(e):void 0,g=m.padding||m.size||0,b=B(90-f),y="angular"===n?a(r):B(-1*f),v="angular"===n?o:a(r);return"angular"===n?{index:i,datum:h,style:m,x1:Pu(v,y,"x")+p.x,y1:Pu(v,y,"y")+p.y,x2:Pu(v+g,y,"x")+p.x,y2:Pu(v+g,y,"y")+p.y}:{index:i,datum:h,style:m,x1:v*Math.cos(y)+Math.cos(b)*g+p.x,x2:v*Math.cos(y)-Math.cos(b)*g+p.x,y1:v*Math.sin(y)+Math.sin(b)*g+p.y,y2:v*Math.sin(y)-Math.sin(b)*g+p.y}},ju=function(e,t,r,i){var n=t.axisType,o=t.radius,a=t.tickFormat,s=t.style,l=t.scale,d=t.ticks,c=t.stringTicks,p=t.origin,u=a(r,i,d),h=c?c[i]:r,m=Ru(s,{text:u,tick:h,tickValue:r,index:i,ticks:d,stringTicks:c,radius:o,scale:l,axisType:n}).labelStyle,f=e.tickLabelComponent,g=null!=f&&f.props.labelPlacement?f.props.labelPlacement:e.labelPlacement,b=m.padding||0,y="radial"===n?Nu(e):void 0,v="angular"===n?O(l(r)):y+0,w=void 0===m.angle?gc(Object.assign({},e,{labelPlacement:g}),v):m.angle,A="angular"===n?o+b:l(r);return{index:i,datum:h,style:m,angle:w,textAnchor:m.textAnchor||mc(Object.assign({},e,{labelPlacement:g}),v),text:u,x:A*Math.cos(B(v))+p.x,y:-A*Math.sin(B(v))+p.y}},Fu=function(e,t,r,i){var n=t.axisType,o=t.radius,a=t.style,s=t.scale,l=t.stringTicks,d=t.ticks,c=t.tickFormat,p=t.origin,u=c(r,i,d),h=e.startAngle,m=e.endAngle,f=e.innerRadius,g=void 0===f?0:f,b=l?l[i]:r,y=Ru(a,{tick:b,tickValue:r,index:i,ticks:d,stringTicks:l,radius:o,scale:s,axisType:n,text:u}).gridStyle,v=s(r);return"angular"===n?{index:i,datum:b,style:y,x1:Pu(o,v,"x")+p.x,y1:Pu(o,v,"y")+p.y,x2:Pu(g,v,"x")+p.x,y2:Pu(g,v,"y")+p.y}:{style:y,index:i,datum:b,cx:p.x,cy:p.y,r:s(r),startAngle:h,endAngle:m}},Hu=function(e,t){var r=El(e,t),i=function(e){var t=Object.assign({polar:!0},e),r=function(e){var t,r,i=e.theme,n=void 0===i?{}:i,o=e.dependentAxis,a=n.polarAxis&&n.polarAxis.style||n.axis&&n.axis.style,s=o?"dependentAxis":"independentAxis",l=(null==n||null===(t=n[o?"polarDependentAxis":"polarIndependentAxis"])||void 0===t?void 0:t.style)||(null==n||null===(r=n[s])||void 0===r?void 0:r.style);return a&&l?["axis","axisLabel","grid","parent","tickLabels","ticks"].reduce((function(e,t){return e[t]=g()({},null==l?void 0:l[t],null==a?void 0:a[t]),e}),{}):l||a}(t),i=qu(t,r),n=_(t),o=ul(t),a=Mu(t),s=vl(t)?t.tickValues:void 0,l=Sl(t,o),d=Bu(t,o),c=Ou(t),p=kl(t,c),u="angular"===a?function(e,t){return Gt()(e,(function(e){return t(e)%(2*Math.PI)}))}(p,c):p;return{axis:o,style:i,padding:n,stringTicks:s,axisType:a,scale:c,ticks:u,tickFormat:Al(t,c),domain:l,range:d,radius:Du(t),origin:N(t)}}(r),n=i.style,o=i.scale,a=i.ticks,s=i.domain,l=r.width,d=r.height,c=r.standalone,p=r.theme,u=r.name,h=function(e,t){var r=t.style,i=t.axisType,n=t.radius,o=t.origin,a=e.startAngle,s=e.endAngle,l=e.innerRadius,d=void 0===l?0:l,c="radial"===i?B(Nu(e)):void 0;return"radial"===i?{style:r.axis,x1:Pu(d,c,"x")+o.x,x2:Pu(n,c,"x")+o.x,y1:Pu(d,c,"y")+o.y,y2:Pu(n,c,"y")+o.y}:{style:r.axis,cx:o.x,cy:o.y,r:n,startAngle:a,endAngle:s}}(r,i),m=function(e,t){var r=t.axisType,i=t.radius,n=t.style,o=t.origin,a=e.axisLabelComponent;if("radial"!==r)return{};var s=null!=a&&a.props.labelPlacement?a.props.labelPlacement:e.labelPlacement,l=n&&n.axisLabel||{},d="radial"===r?Nu(e):void 0,c=void 0===l.angle?gc(Object.assign({},e,{labelPlacement:s}),d):l.angle,p=i+(l.padding||0);return{style:l,angle:c,textAnchor:l.textAnchor||mc(Object.assign({},e,{labelPlacement:s}),d),verticalAnchor:l.verticalAnchor||fc(Object.assign({},e,{labelPlacement:s}),d),text:e.label,x:Pu(p,B(d),"x")+o.x,y:Pu(p,B(d),"y")+o.y}}(r,i),f={parent:{style:n.parent,ticks:a,scale:o,width:l,height:d,domain:s,standalone:c,theme:p,name:u}};return a.reduce((function(e,t,n){return e[n]={axis:h,axisLabel:m,ticks:Lu(r,i,t,n),tickLabels:ju(r,i,t,n),grid:Fu(r,i,t,n)},e}),f)};function Vu(e){return function(e){if(Array.isArray(e))return zu(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return zu(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zu(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function zu(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r0?function(e,t,r){var i=r.domain,n=r.scale,o=r.stringMap,a=r.categories;return{stringMap:o,horizontal:r.horizontal,categories:a,startAngle:t.startAngle,endAngle:t.endAngle,innerRadius:t.innerRadius,domain:i,scale:n}}(i[0],t,r):{categories:r.categories,domain:r.domain,range:r.range,scale:r.scale,stringMap:r.stringMap,horizontal:r.horizontal}}(t,e,n),b=t.props.name||"".concat(h,"-").concat(i,"-").concat(r),y=g()({horizontal:u,height:a,polar:s,theme:l,width:c,style:m,name:b,origin:s?p:void 0,padding:n.padding,key:"".concat(b,"-key-").concat(r),standalone:!1},f);return d().cloneElement(t,y)}))}(o,k,x).map((function(e,t){var r=Object.assign({animate:i(o,e,t)},e.props);return d().cloneElement(e,r)}));if(o.style&&o.style.background){var t=function(e,t){var r=e.backgroundComponent,i=e.polar?t.range.y[1]:t.range.y[0]-t.range.y[1],n=t.range.x[1]-t.range.x[0],o=e.horizontal?t.scale.y.range()[0]:t.scale.x.range()[0],a=e.horizontal?t.scale.x.range()[1]:t.scale.y.range()[1],s=e.polar?t.origin.x:o,l=e.polar?t.origin.y:a,c=e.name||"chart",p={height:i,polar:e.polar,scale:t.scale,style:e.style.background,x:s,y:l,key:"".concat(c,"-background"),width:n};return d().cloneElement(r,g()({},r.props,p))}(o,x);e.unshift(t)}return e}),[i,k,o,x]),M=d().useMemo((function(){return p?{desc:s,domain:S,width:f,height:b,horizontal:I,name:w,origin:v?_:void 0,polar:v,theme:y,title:A,scale:T,standalone:p,style:E.parent}:{}}),[s,S,b,I,w,_,v,T,p,E,A,y,f]),R=d().useMemo((function(){if(p){var e=g()({},c.props,M,Ve(t));return d().cloneElement(c,e)}return u}),[u,p,c,M,t]),D=d().useMemo((function(){return id(o)}),[o]),B=dd(t);return d().useEffect((function(){return function(){t.animate&&n(B,t)}}),[n,B,t]),m()(D)?d().cloneElement(R,R.props,P):d().createElement(xd,{container:R,eventKey:l,events:D,externalEventMutations:h},P)},sh=d().memo(ah,fd());sh.displayName="VictoryChart",sh.expectedComponents=["groupComponent","containerComponent"];var lh=r(5556),dh=r.n(lh),ch=r(69607),ph=r.n(ch),uh=r(7309),hh=r.n(uh);function mh(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=e[i]);return r}function fh(e){var t=function(e){return void 0!==e},r=e._x,i=e._x1,n=e._x0,o=e._voronoiX,a=e._y,s=e._y1,l=e._y0,d=e._voronoiY,c=t(i)?i:r,p=t(s)?s:a,u={x:t(o)?o:c,x0:t(n)?n:r,y:t(d)?d:p,y0:t(l)?l:a};return g()({},u,e)}function gh(e){var t=e[arguments.length>1&&void 0!==arguments[1]?arguments[1]:"padding"],r="number"==typeof t?t:0,i="object"==typeof t?t:{};return{top:i.top||r,bottom:i.bottom||r,left:i.left||r,right:i.right||r}}function bh(e,t){return x()(e)?e(t):e}function yh(e,t){return t.disableInlineStyles?{}:e&&y()(e).some((function(t){return x()(e[t])}))?y()(e).reduce((function(r,i){return r[i]=bh(e[i],t),r}),{}):e}function vh(e){var t=gh(e),r=t.left,i=t.right,n=t.top,o=t.bottom,a=e.width,s=e.height;return Math.min(a-r-i,s-n-o)/2}function wh(e){return x()(e)?e:null==e?function(e){return e}:C()(e)}var Ah=["linear","time","log","sqrt"];function Ch(e,t){if(!e.data)return"linear";var r,i=wh(e[t]);return r=e.data.map((function(e){var r=Vt()(i(e))?i(e)[t]:i(e);return void 0!==r?r:e[t]})),Array.isArray(r)&&r.some((function(e){return e instanceof Date}))?"time":"linear"}function kh(e,t){return function(e,t){if(function(e,t){return!(!e.scale||(e.scale.x||e.scale.y)&&!e.scale[t])}(e,t)){var r=e.scale[t]||e.scale;return"string"==typeof r?r:function(e){if("string"==typeof e)return e;var t=xh.filter((function(t){return void 0!==e[t.method]}))[0];return t?t.name:void 0}(r)}}(e,t)||Ch(e,t)}var xh=[{name:"quantile",method:"quantiles"},{name:"log",method:"base"}],Sh=function(e){var t=function(t){return function(r,i,n){if(null==r[i])return t?new Error("Required `".concat(i,"` was not specified in `").concat(n,"`.")):null;for(var o=arguments.length,a=new Array(o>3?o-3:0),s=3;s3?n-3:0),a=3;ae.length)&&(t=e.length);for(var r=0,i=new Array(t);r{const{COLOR_SCALE:t}=e;return{area:{colorScale:t,style:{data:{fill:t[0]}}},axis:{colorScale:t},bar:{colorScale:t,style:{data:{fill:t[0]}}},boxplot:{colorScale:t},candlestick:{colorScale:t},chart:{colorScale:t},errorbar:{colorScale:t},group:{colorScale:t},legend:{colorScale:t},line:{colorScale:t,style:{data:{stroke:t[0]}}},pie:{colorScale:t},scatter:{colorScale:t},stack:{colorScale:t},voronoi:{colorScale:t}}},dm=["var(--pf-chart-theme--blue--ColorScale--100, #06c)","var(--pf-chart-theme--blue--ColorScale--200, #8bc1f7)","var(--pf-chart-theme--blue--ColorScale--300, #002f5d)","var(--pf-chart-theme--blue--ColorScale--400, #519de9)","var(--pf-chart-theme--blue--ColorScale--500, #004b95)"],cm=lm({COLOR_SCALE:dm}),pm=["var(--pf-chart-theme--cyan--ColorScale--100, #009596)","var(--pf-chart-theme--cyan--ColorScale--200, #a2d9d9)","var(--pf-chart-theme--cyan--ColorScale--300, #003737)","var(--pf-chart-theme--cyan--ColorScale--400, #73c5c5)","var(--pf-chart-theme--cyan--ColorScale--500, #005f60)"],um=lm({COLOR_SCALE:pm}),hm=["var(--pf-chart-theme--gold--ColorScale--100, #f4c145)","var(--pf-chart-theme--gold--ColorScale--200, #f9e0a2)","var(--pf-chart-theme--gold--ColorScale--300, #c58c00)","var(--pf-chart-theme--gold--ColorScale--400, #f6d173)","var(--pf-chart-theme--gold--ColorScale--500, #f0ab00)"],mm=lm({COLOR_SCALE:hm}),fm=["var(--pf-chart-theme--gray--ColorScale--100, #b8bbbe)","var(--pf-chart-theme--gray--ColorScale--200, #f0f0f0)","var(--pf-chart-theme--gray--ColorScale--300, #6a6e73)","var(--pf-chart-theme--gray--ColorScale--400, #d2d2d2)","var(--pf-chart-theme--gray--ColorScale--500, #8a8d90)"],gm=lm({COLOR_SCALE:fm}),bm=["var(--pf-chart-theme--green--ColorScale--100, #4cb140)","var(--pf-chart-theme--green--ColorScale--200, #bde2b9)","var(--pf-chart-theme--green--ColorScale--300, #23511e)","var(--pf-chart-theme--green--ColorScale--400, #7cc674)","var(--pf-chart-theme--green--ColorScale--500, #38812f)"],ym=lm({COLOR_SCALE:bm}),vm=["var(--pf-chart-theme--multi-color-ordered--ColorScale--100, #06c)","var(--pf-chart-theme--multi-color-ordered--ColorScale--200, #4cb140)","var(--pf-chart-theme--multi-color-ordered--ColorScale--300, #009596)","var(--pf-chart-theme--multi-color-ordered--ColorScale--400, #f4c145)","var(--pf-chart-theme--multi-color-ordered--ColorScale--500, #ec7a08)","var(--pf-chart-theme--multi-color-ordered--ColorScale--600, #8bc1f7)","var(--pf-chart-theme--multi-color-ordered--ColorScale--700, #23511e)","var(--pf-chart-theme--multi-color-ordered--ColorScale--800, #a2d9d9)","var(--pf-chart-theme--multi-color-ordered--ColorScale--900, #f9e0a2)","var(--pf-chart-theme--multi-color-ordered--ColorScale--1000, #8f4700)","var(--pf-chart-theme--multi-color-ordered--ColorScale--1100, #002f5d)","var(--pf-chart-theme--multi-color-ordered--ColorScale--1200, #bde2b9)","var(--pf-chart-theme--multi-color-ordered--ColorScale--1300, #003737)","var(--pf-chart-theme--multi-color-ordered--ColorScale--1400, #c58c00)","var(--pf-chart-theme--multi-color-ordered--ColorScale--1500, #f4b678)","var(--pf-chart-theme--multi-color-ordered--ColorScale--1600, #519de9)","var(--pf-chart-theme--multi-color-ordered--ColorScale--1700, #38812f)","var(--pf-chart-theme--multi-color-ordered--ColorScale--1800, #73c5c5)","var(--pf-chart-theme--multi-color-ordered--ColorScale--1900, #f6d173)","var(--pf-chart-theme--multi-color-ordered--ColorScale--2000, #c46100)","var(--pf-chart-theme--multi-color-ordered--ColorScale--2100, #004b95)","var(--pf-chart-theme--multi-color-ordered--ColorScale--2200, #7cc674)","var(--pf-chart-theme--multi-color-ordered--ColorScale--2300, #005f60)","var(--pf-chart-theme--multi-color-ordered--ColorScale--2400, #f0ab00)","var(--pf-chart-theme--multi-color-ordered--ColorScale--2500, #ef9234)"],wm=lm({COLOR_SCALE:vm}),Am=lm({COLOR_SCALE:["var(--pf-chart-theme--multi-color-unordered--ColorScale--100, #06c)","var(--pf-chart-theme--multi-color-unordered--ColorScale--200, #f4c145)","var(--pf-chart-theme--multi-color-unordered--ColorScale--300, #4cb140)","var(--pf-chart-theme--multi-color-unordered--ColorScale--400, #5752d1)","var(--pf-chart-theme--multi-color-unordered--ColorScale--500, #ec7a08)","var(--pf-chart-theme--multi-color-unordered--ColorScale--600, #009596)","var(--pf-chart-theme--multi-color-unordered--ColorScale--700, #b8bbbe)","var(--pf-chart-theme--multi-color-unordered--ColorScale--800, #8bc1f7)","var(--pf-chart-theme--multi-color-unordered--ColorScale--900, #c58c00)","var(--pf-chart-theme--multi-color-unordered--ColorScale--1000, #bde2b9)","var(--pf-chart-theme--multi-color-unordered--ColorScale--1100, #2a265f)","var(--pf-chart-theme--multi-color-unordered--ColorScale--1200, #f4b678)","var(--pf-chart-theme--multi-color-unordered--ColorScale--1300, #003737)","var(--pf-chart-theme--multi-color-unordered--ColorScale--1400, #f0f0f0)","var(--pf-chart-theme--multi-color-unordered--ColorScale--1500, #002f5d)","var(--pf-chart-theme--multi-color-unordered--ColorScale--1600, #f9e0a2)","var(--pf-chart-theme--multi-color-unordered--ColorScale--1700, #23511e)","var(--pf-chart-theme--multi-color-unordered--ColorScale--1800, #b2b0ea)","var(--pf-chart-theme--multi-color-unordered--ColorScale--1900, #8f4700)","var(--pf-chart-theme--multi-color-unordered--ColorScale--2000, #a2d9d9)","var(--pf-chart-theme--multi-color-unordered--ColorScale--2100, #6a6e73)","var(--pf-chart-theme--multi-color-unordered--ColorScale--2200, #519de9)","var(--pf-chart-theme--multi-color-unordered--ColorScale--2300, #f0ab00)","var(--pf-chart-theme--multi-color-unordered--ColorScale--2400, #7cc674)","var(--pf-chart-theme--multi-color-unordered--ColorScale--2500, #3c3d99)","var(--pf-chart-theme--multi-color-unordered--ColorScale--2600, #ef9234)","var(--pf-chart-theme--multi-color-unordered--ColorScale--2700, #005f60)","var(--pf-chart-theme--multi-color-unordered--ColorScale--2800, #d2d2d2)","var(--pf-chart-theme--multi-color-unordered--ColorScale--2900, #004b95)","var(--pf-chart-theme--multi-color-unordered--ColorScale--3000, #f6d173)","var(--pf-chart-theme--multi-color-unordered--ColorScale--3100, #38812f)","var(--pf-chart-theme--multi-color-unordered--ColorScale--3200, #8481dd)","var(--pf-chart-theme--multi-color-unordered--ColorScale--3300, #c46100)","var(--pf-chart-theme--multi-color-unordered--ColorScale--3400, #73c5c5)","var(--pf-chart-theme--multi-color-unordered--ColorScale--3500, #8a8d90)"]}),Cm=lm({COLOR_SCALE:["var(--pf-chart-theme--orange--ColorScale--100, #ec7a08)","var(--pf-chart-theme--orange--ColorScale--200, #f4b678)","var(--pf-chart-theme--orange--ColorScale--300, #8f4700)","var(--pf-chart-theme--orange--ColorScale--400, #ef9234)","var(--pf-chart-theme--orange--ColorScale--500, #c46100)"]}),km=lm({COLOR_SCALE:["var(--pf-chart-theme--purple--ColorScale--100, #5752d1)","var(--pf-chart-theme--purple--ColorScale--200, #b2b0ea)","var(--pf-chart-theme--purple--ColorScale--300, #2a265f)","var(--pf-chart-theme--purple--ColorScale--400, #8481dd)","var(--pf-chart-theme--purple--ColorScale--500, #3c3d99)"]}),xm="var(--pf-chart-axis--tick--stroke--Color, #d2d2d2)",Sm={axis:{style:{grid:{stroke:"var(--pf-chart-axis--grid--stroke--Color, #d2d2d2)"},ticks:{stroke:xm}}}},Tm={name:"--pf-chart-global--FontFamily",value:'"RedHatText", "Overpass", overpass, helvetica, arial, sans-serif',var:'var(--pf-chart-global--FontFamily, "RedHatText", "Overpass", overpass, helvetica, arial, sans-serif)'},Em="normal",_m="var(--pf-chart-global--letter-spacing, normal)",Im=14,Pm="var(--pf-chart-global--label--Fill, #151515)",Mm=50,Rm=.3,Dm="var(--pf-chart-voronoi--labels--Fill, #f0f0f0)",Bm=Im,Om={fontFamily:Tm.value.replace(/ /g,""),fontSize:Bm,letterSpacing:Em,padding:10,stroke:"var(--pf-chart-global--label--stroke, transparent)",fill:Pm},qm=Object.assign(Object.assign({},Om),{textAnchor:"middle"}),Nm={padding:Mm,height:300,width:450},Lm="round",jm="round",Fm={area:Object.assign(Object.assign({},Nm),{style:{data:{fill:"var(--pf-chart-area--data--Fill, #151515)",fillOpacity:Rm,strokeWidth:2},labels:qm}}),axis:Object.assign(Object.assign({},Nm),{style:{axis:{fill:"var(--pf-chart-axis--axis--Fill, transparent)",strokeWidth:1,stroke:"var(--pf-chart-axis--axis--stroke--Color, #d2d2d2)",strokeLinecap:Lm,strokeLinejoin:jm},axisLabel:Object.assign(Object.assign({},qm),{padding:40,stroke:"var(--pf-chart-axis--axis-label--stroke--Color, transparent)"}),grid:{fill:"var(--pf-chart-axis--grid--Fill, none)",stroke:"none",pointerEvents:"painted",strokeLinecap:Lm,strokeLinejoin:jm},ticks:{fill:"var(--pf-chart-axis--tick--Fill, transparent)",size:5,stroke:xm,strokeLinecap:Lm,strokeLinejoin:jm,strokeWidth:1},tickLabels:Object.assign(Object.assign({},Om),{fill:"var(--pf-chart-axis--tick-label--Fill, #4f5255)"})}}),bar:Object.assign(Object.assign({},Nm),{barWidth:10,style:{data:{fill:"var(--pf-chart-bar--data--Fill, #151515)",padding:8,stroke:"var(--pf-chart-bar--data--stroke, none)",strokeWidth:0},labels:Om}}),boxplot:Object.assign(Object.assign({},Nm),{style:{max:{padding:8,stroke:"var(--pf-chart-boxplot--max--stroke--Color, #151515)",strokeWidth:1},maxLabels:Om,median:{padding:8,stroke:"var(--pf-chart-boxplot--median--stroke--Color, #151515)",strokeWidth:1},medianLabels:Om,min:{padding:8,stroke:"var(--pf-chart-boxplot--min--stroke--Color, #151515)",strokeWidth:1},minLabels:Om,q1:{fill:"var(--pf-chart-boxplot--lower-quartile--Fill, #8a8d90)",padding:8},q1Labels:Om,q3:{fill:"var(--pf-chart-boxplot--upper-quartile--Fill, #8a8d90)",padding:8},q3Labels:Om},boxWidth:20}),candlestick:Object.assign(Object.assign({},Nm),{candleColors:{positive:"var(--pf-chart-candelstick--candle--positive--Color, #fff)",negative:"var(--pf-chart-candelstick--candle--negative--Color, #151515)"},style:{data:{stroke:"var(--pf-chart-candelstick--data--stroke--Color, #151515)",strokeWidth:1},labels:qm}}),chart:Object.assign({},Nm),errorbar:Object.assign(Object.assign({},Nm),{borderWidth:8,style:{data:{fill:"var(--pf-chart-errorbar--data--Fill, transparent)",opacity:1,stroke:"var(--pf-chart-errorbar--data-stroke--Color, #151515)",strokeWidth:2},labels:qm}}),group:Object.assign({},Nm),legend:{gutter:20,orientation:"horizontal",titleOrientation:"top",style:{data:{type:"square"},labels:Om,title:Object.assign(Object.assign({},Om),{fontSize:Bm,padding:2})}},line:Object.assign(Object.assign({},Nm),{style:{data:{fill:"var(--pf-chart-line--data--Fill, transparent)",opacity:1,stroke:"var(--pf-chart-line--data--stroke--Color, #151515)",strokeWidth:2},labels:qm}}),pie:{padding:20,style:{data:{padding:8,stroke:"var(--pf-chart-pie--data--stroke--Color, transparent)",strokeWidth:1},labels:Object.assign(Object.assign({},Om),{padding:8})},height:230,width:230},scatter:Object.assign(Object.assign({},Nm),{style:{data:{fill:"var(--pf-chart-scatter--data--Fill, #151515)",opacity:1,stroke:"var(--pf-chart-scatter--data--stroke--Color, transparent)",strokeWidth:0},labels:qm}}),stack:Object.assign(Object.assign({},Nm),{style:{data:{strokeWidth:1}}}),tooltip:{cornerRadius:0,flyoutPadding:8,flyoutStyle:{cornerRadius:0,fill:"var(--pf-chart-tooltip--flyoutStyle--Fill, #151515)",pointerEvents:"var(--pf-chart-tooltip--flyoutStyle--PointerEvents, none)",stroke:"var(--pf-chart-tooltip--flyoutStyle--stroke--Color, #151515)",strokeWidth:"var(--pf-chart-tooltip--flyoutStyle--stroke--Width, 0)"},pointerLength:10,pointerWidth:20,style:{fill:"var(--pf-chart-tooltip--Fill, #f0f0f0)",pointerEvents:"var(--pf-chart-tooltip--PointerEvents, none)"}},voronoi:Object.assign(Object.assign({},Nm),{style:{data:{fill:"var(--pf-chart-voronoi--data--Fill, transparent)",stroke:"var(--pf-chart-voronoi--data--stroke--Color, transparent)",strokeWidth:0},labels:Object.assign(Object.assign({},qm),{fill:Dm,padding:8,pointerEvents:"none"}),flyout:{fill:"var(--pf-chart-voronoi--flyout--stroke--Fill, #151515)",pointerEvents:"var(--pf-chart-voronoi--flyout--PointerEvents, none)",stroke:"var(--pf-chart-voronoi--flyout--stroke--Color, #151515)",strokeWidth:"var(--pf-chart-voronoi--flyout--stroke--Width, 1)"}}})},Hm=140,Vm="var(--pf-chart-donut--threshold--first--Color, #f0f0f0)",zm="var(--pf-chart-donut--threshold--second--Color, #d2d2d2)",Wm="var(--pf-chart-donut--threshold--third--Color, #b8bbbe)",Um={blue:"blue",cyan:"cyan",default:"blue",gold:"gold",gray:"gray",green:"green",multi:"multi",multiOrdered:"multi-ordered",multiUnordered:"multi-unordered",orange:"orange",purple:"purple"},Gm={dark:"dark",default:"light",light:"light"},Jm=Sm,Km=Fm,Qm={bar:{height:Hm,style:{data:{fill:"var(--pf-chart-bullet--comparative-measure--error--Fill--Color, #c9190b)",stroke:"var(--pf-chart-bullet--comparative-measure--error--stroke--Color, #c9190b)",strokeWidth:2}}}},Ym={bar:{height:Hm,style:{data:{fill:"var(--pf-chart-bullet--comparative-measure--Fill--Color, #4f5255)",stroke:"var(--pf-chart-bullet--comparative-measure--stroke--Color, #4f5255)",strokeWidth:1}}}},Zm={bar:{height:Hm,style:{data:{fill:"var(--pf-chart-bullet--comparative-measure--warning--Fill--Color, #ec7a08)",stroke:"var(--pf-chart-bullet--comparative-measure--warning--stroke--Color, #ec7a08)",strokeWidth:2}}}},Xm={chart:{padding:{bottom:0,left:0,right:0,top:Mm}},line:{style:{data:{fill:"var(--pf-chart-bullet--group-title--divider--Fill--Color, #f0f0f0)",stroke:"var(--pf-chart-bullet--group-title--divider--stroke--Color, #f0f0f0)",strokeWidth:2}}}},$m={group:{height:Hm}},ef={group:{colorScale:["var(--pf-chart-bullet--negative-measure--ColorScale--100, #c9190b)","var(--pf-chart-bullet--negative-measure--ColorScale--200, #a30000)","var(--pf-chart-bullet--negative-measure--ColorScale--300, #7d1007)","var(--pf-chart-bullet--negative-measure--ColorScale--400, #470000)","var(--pf-chart-bullet--negative-measure--ColorScale--500, #2c0000)"],height:Hm}},tf={group:{height:Hm}},rf={chart:{height:Hm}},nf={group:{colorScale:["var(--pf-chart-bullet--qualitative-range--ColorScale--100, #f0f0f0)","var(--pf-chart-bullet--qualitative-range--ColorScale--200, #d2d2d2)","var(--pf-chart-bullet--qualitative-range--ColorScale--300, #b8bbbe)","var(--pf-chart-bullet--qualitative-range--ColorScale--400, #8a8d90)","var(--pf-chart-bullet--qualitative-range--ColorScale--500, #6a6e73)"],height:Hm}},of={pie:{height:230,padding:20,padAngle:1,width:230}},af={legend:{colorScale:[Vm,zm,Wm]},pie:{colorScale:[Vm],padding:20}},sf={pie:{height:230,padding:20,padAngle:1,width:230}},lf={legend:{colorScale:[zm,Wm]},pie:{height:202,padding:20,width:202}},df={pie:{colorScale:[Vm,zm,Wm],height:230,padAngle:1,padding:20,width:230}},cf={line:{style:{data:{strokeDasharray:"4,2",strokeWidth:1.5}}}},pf=(e,t,r)=>uf(e,r),uf=(e,t)=>sm()(If(e),t),hf=e=>uf(e,Jm),mf=e=>uf(e,rf),ff=e=>uf(e,Qm),gf=e=>uf(e,Ym),bf=e=>uf(e,Zm),yf=e=>uf(e,Xm),vf=e=>uf(e,$m),wf=e=>uf(e,ef),Af=e=>uf(e,tf),Cf=e=>uf(e,nf),kf=(e,t)=>{const r=If(e);return t||(r.axis.padding=0,r.axis.style.axis.fill="none",r.axis.style.axis.stroke="none",r.axis.style.grid.fill="none",r.axis.style.grid.stroke="none",r.axis.style.ticks.fill="none",r.axis.style.ticks.stroke="none",r.axis.style.tickLabels.fill="none"),r},xf=e=>uf(e,sf),Sf=e=>{const t=uf(e,lf);return t.legend.colorScale=[t.pie.colorScale[0],...lf.legend.colorScale],t.pie.colorScale=[t.pie.colorScale[0],...df.pie.colorScale],t},Tf=(e,t)=>{const r=om()(df);return t&&r.pie.colorScale instanceof Array&&(r.pie.colorScale=r.pie.colorScale.reverse()),uf(e,r)},Ef=e=>{const t=uf(e,of);return t.pie.colorScale=[t.pie.colorScale[0],...af.pie.colorScale],t.legend.colorScale=[t.legend.colorScale[0],...af.legend.colorScale],t},_f=e=>{switch(e){case Um.blue:return cm;case Um.cyan:return um;case Um.gold:return mm;case Um.gray:return gm;case Um.green:return ym;case Um.multi:case Um.multiOrdered:return wm;case Um.multiUnordered:return Am;case Um.orange:return Cm;case Um.purple:return km;default:return cm}},If=e=>{const t=Object.assign({},JSON.parse(JSON.stringify(Km)));return sm()(t,_f(e))},Pf=e=>uf(e,cf),Mf=!("undefined"==typeof window||!window.document||!window.document.createElement),Rf=({className:e})=>{let t;return e&&(t=e.replace(/VictoryContainer/g,"").replace(/pf-c-chart/g,"").replace(/\s+/g," ").trim()),t&&t.length?`pf-c-chart ${t}`:"pf-c-chart"},Df=e=>{var{className:t,themeColor:r,themeVariant:i,theme:n=If(r)}=e,o=(0,s.Tt)(e,["className","themeColor","themeVariant","theme"]);const a=Rf({className:t});return l.createElement(im,Object.assign({className:a,theme:n},o))};Df.displayName="ChartContainer",p()(Df,im);var Bf=r(23181),Of=r.n(Bf),qf=r(36119),Nf=r.n(qf);function Lf(e){return function(e){if(Array.isArray(e))return jf(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return jf(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?jf(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jf(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:{},r=e.style||{};return{parent:g()(r.parent,t.parent,{height:"100%",width:"100%"}),data:g()({},r.data,t.data),labels:g()({},r.labels,t.labels),border:g()({},r.border,t.border),title:g()({},r.title,t.title)}}(e,r&&r.legend&&r.legend.style?r.legend.style:{}),n=function(e){var t=e.colorScale;return"string"==typeof t?Il(t):t||[]}(e),o="horizontal"===t,a=_({padding:e.borderPadding});return Object.assign({},e,{style:i,isHorizontal:o,colorScale:n,borderPadding:a})},Uf=function(e,t){var r=e.itemsPerRow,i=e.isHorizontal;return r?i?t%r:Math.floor(t/r):i?t:0},Gf=function(e,t){var r=e.itemsPerRow,i=e.isHorizontal;return r?i?Math.floor(t/r):t%r:i?0:t},Jf=function(e){var t=e.data,r=e.style&&e.style.data||{},i=zf(e);return t.map((function(t,n){var o=t.symbol||{},a=i[n].fontSize,s=o.size||r.size||a/2.5,l=e.symbolSpacer||Math.max(s,a);return Hf(Hf({},t),{},{size:s,symbolSpacer:l,fontSize:a,textSize:zd(t.name,i[n]),column:Uf(e,n),row:Gf(e,n)})}))},Kf=function(e,t){var r=e.gutter||{},i="object"==typeof r?(r.left||0)+(r.right||0):r||0,n=Kt()(t,"column");return y()(n).reduce((function(e,t,r){var o=n[t].map((function(e){return e.textSize.width+e.size+e.symbolSpacer+i}));return e[r]=Math.max.apply(Math,Lf(o)),e}),[])},Qf=function(e,t){var r=e.rowGutter||{},i="object"==typeof r?(r.top||0)+(r.bottom||0):r||0,n=Kt()(t,"row");return y()(n).reduce((function(e,t,r){var o=n[t].map((function(e){return e.textSize.height+e.symbolSpacer+i}));return e[r]=Math.max.apply(Math,Lf(o)),e}),[])},Yf=function(e){var t=e.style&&e.style.title||{},r=zd(e.title,t),i=t.padding||0;return{height:r.height+2*i||0,width:r.width+2*i||0}},Zf=function(e,t){var r=F(e,t,"legend"),i=Object.assign({},r,Wf(r)),n=i.title,o=i.titleOrientation,a=Jf(i),s=Kf(i,a),l=Qf(i,a),d=n?Yf(i):{height:0,width:0};return{height:"left"===o||"right"===o?Math.max(Nf()(l),d.height):Nf()(l)+d.height,width:"left"===o||"right"===o?Nf()(s)+d.width:Math.max(Nf()(s),d.width)}},Xf=function(e,t){var r=F(e,t,"legend"),i=Object.assign({},r,Wf(r)),n=i.data,o=i.standalone,a=i.theme,s=i.padding,l=i.style,d=i.colorScale,c=i.gutter,p=i.rowGutter,u=i.borderPadding,h=i.title,m=i.titleOrientation,f=i.name,b=i.x,y=void 0===b?0:b,v=i.y,w=void 0===v?0:v,A=Jf(i),C=Kf(i,A),k=Qf(i,A),x=zf(i),S=h?Yf(i):{height:0,width:0},T="left"===m?S.width:0,E="top"===m?S.height:0,_=c&&"object"==typeof c&&c.left||0,I=p&&"object"==typeof p&&p.top||0,P=Zf(i,t),M=function(e,t,r){var i=e.x,n=e.y,o=e.borderPadding,a=e.style;return{x:i,y:n,height:(t||0)+o.top+o.bottom,width:(r||0)+o.left+o.right,style:Object.assign({fill:"none"},a.border)}}(i,P.height,P.width),R=function(e,t){var r=e.title,i=e.titleOrientation,n=e.centerTitle,o=e.borderPadding,a=t.height,s=t.width,l=function(e){var t=e.titleOrientation,r=e.centerTitle,i=e.titleComponent,n=e.style&&e.style.title||{},o=i.props&&i.props.style||{},a=function(e,t){var r={textAnchor:"right"===e?"end":"start",verticalAnchor:"bottom"===e?"end":"start"};if(t){var i="top"===e||"bottom"===e;return{textAnchor:i?"middle":r.textAnchor,verticalAnchor:i?r.verticalAnchor:"middle"}}return r}(t,r);return Array.isArray(o)?o.map((function(e){return g()({},e,n,a)})):g()({},o,n,a)}(e),d=Array.isArray(l)?l[0].padding:l.padding,c="top"===i||"bottom"===i,p="right"===i?"right":"left",u={x:n?s/2:o["bottom"===i?"bottom":"top"]+(d||0),y:n?a/2:o[p]+(d||0)},h=function(){return o[i]+(d||0)},m=c?u.x:h(),f=c?h():u.y;return{x:"right"===i?e.x+s-m:e.x+m,y:"bottom"===i?e.y+a-f:e.y+f,style:l,text:r}}(i,M),D={parent:{data:n,standalone:o,theme:a,padding:s,name:f,height:i.height,width:i.width,style:l.parent},all:{border:M,title:R}};return A.reduce((function(e,t,r){var i=d[r%d.length],o=g()({},t.symbol,l.data,{fill:i}),a=qc()(t.eventKey)?r:t.eventKey,s=function(e,t,r){var i=e.column,n=e.row;return{x:Of()(i).reduce((function(e,t){return e+r[t]}),0),y:Of()(n).reduce((function(e,r){return e+t[r]}),0)}}(t,k,C),c=w+u.top+t.symbolSpacer,p=y+u.left+t.symbolSpacer,h={index:r,data:n,datum:t,symbol:o.type||o.symbol||"circle",size:t.size,style:o,y:c+s.y+E+I,x:p+s.x+T+_},m={datum:t,data:n,text:t.name,style:x[r],y:h.y,x:h.x+t.symbolSpacer+t.size/2};return e[a]={data:h,labels:m},e}),D)};function $f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function eg(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,i=new Array(t);r=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,Mg)),s=function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,qg),l=function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,Fg)),o=function(e){for(var t=1;t1?t-1:0),i=1;i0)return r.reduce((function(e,t){return[e,Wg(t)].join(" ")}),Wg(e)).trim();if(null==e||"string"==typeof e)return e;var n=[];for(var o in e)if(e.hasOwnProperty(o)){var a=e[o];n.push("".concat(o,"(").concat(a,")"))}return n.join(" ").trim()};function Ug(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i,n,o=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(i=r.next()).done)&&(o.push(i.value),!t||o.length!==t);a=!0);}catch(e){s=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw n}}return o}}(e,t)||Gg(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gg(e,t){if(e){if("string"==typeof e)return Jg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Jg(e,t):void 0}}function Jg(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r2&&void 0!==arguments[2]&&arguments[2];return"undefined"==typeof window||void 0===window.document||void 0===window.document.createElement||r?function(e,t){var r=Array.isArray(t)?t[0]&&t[0].angle:t&&t.angle,i=function(e,t){return void 0===e||""===e||null===e?0:Xg(e).reduce((function(e,r,i){var n=tb(t,i),o=r.toString().match(/[(A-Z)(0-9)]/)?1.15*n.fontSize:n.fontSize;return e+n.lineHeight*o}),0)}(e,t),n=rb(e,t);return{width:r?$g(n,i,r):n,height:1.05*(r?$g(i,n,r):i)}}(e,t):ob(e,t)},sb=function(e,t){return ab(e,t)};function lb(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function db(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,i=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:0;return Array.isArray(e)?e[t]||e[0]:e},bb=function(e){var t=e.backgroundStyle,r=e.backgroundPadding;return Array.isArray(t)&&!m()(t)||Array.isArray(r)&&!m()(r)},yb=function(e,t,r){var i=e.polar,n=gb(e.style),o=i?function(e,t){var r=e.labelPlacement,i=e.datum;if(!r||"vertical"===r)return 0;var n=function(e,t){var r,i=fh(t).x;return("number"==typeof(r=e.scale.x(i))?r/(Math.PI/180):r)%360}(e,i),o=0;return 0===n||180===n?o=90:n>0&&n<180?o=90-n:n>180&&n<360&&(o=270-n),o+(n>90&&n<180||n>270?1:-1)*("perpendicular"===r?0:90)}(e):0,a=void 0===n.angle?bh(e.angle,e):n.angle,s=void 0===a?o:a,l=e.transform||n.transform,d=l&&bh(l,e);return d||s?Wg(d,s&&{rotate:[s,t,r]}):void 0},vb=function(e,t){var r=e.direction,i=e.textAnchor,n=e.x,o=e.dx;if("rtl"===r)return n-t;switch(i){case"middle":return Math.round(n-t/2);case"end":return Math.round(n-t);default:return n+(o||0)}},wb=function(e,t){var r=e.verticalAnchor,i=e.y,n=e.originalDy,o=i+(void 0===n?0:n);switch(r){case"start":return Math.floor(o);case"end":return Math.ceil(o-t);default:return Math.floor(o-t/2)}},Ab=function(e,t){return bb(e)?function(e,t){var r=e.dy,i=e.dx,n=e.transform,o=e.backgroundStyle,a=e.backgroundPadding,s=e.backgroundComponent,l=e.inline,c=e.y,p=t.map((function(e,n){var o=gb(t,n-1),s=e.textSize,d=e.fontSize*e.lineHeight,p=Math.ceil(d),u=gb(a,n),h=gb(a,n-1),m=l&&i||0,f=n&&!l?o.fontSize*o.lineHeight+h.top+h.bottom:r-.5*d-(e.fontSize-e.capHeight);return{textHeight:p,labelSize:s,heightWithPadding:p+u.top+u.bottom,widthWithPadding:s.width+u.left+u.right+m,y:c,fontSize:e.fontSize,dy:f}}));return p.map((function(t,r){var i=vb(e,t.labelSize.width),u=p.slice(0,r+1).reduce((function(e,t){return e+t.dy}),c),h=gb(a,r),m=t.heightWithPadding,f=l?function(e,t,r){var i=e.textAnchor,n=t.map((function(e){return e.widthWithPadding})),o=-n.reduce((function(e,t){return e+t}),0)/2;switch(i){case"start":return n.reduce((function(e,t,i){return ir?e-t:e}),0);default:return n.reduce((function(e,t,i){return i===r?e+t/2:e+(i{var{style:t,textAnchor:r}=e,i=(0,s.Tt)(e,["style","textAnchor"]);const n=e=>g()(Object.assign(Object.assign({},e),{textAnchor:r}),{fill:Tb.label.fill,fontFamily:Tb.label.fontFamily,fontSize:Tb.label.fontSize,letterSpacing:Tb.label.letterSpacing}),o=Array.isArray(t)?t.map(n):n(t);return l.createElement(xb,Object.assign({style:o,textAnchor:r},i))};Bb.displayName="ChartLabel",p()(Bb,xb);var Ob=["desc","id","tabIndex","origin"];function qb(){return qb=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,Ob)),s=function(e){for(var t=1;t`M ${e}, ${t}\n m ${-r}, 0\n a ${r}, ${r} 0 1,0 ${2*r},0\n a ${r}, ${r} 0 1,0 ${2*-r},0`,dash:(e,t,r)=>{const i=1.1*r,n=i-.3*i,o=e-i,a=t+n/2,s=.3*(e+i-o),l=s/3;return`M ${o}, ${a}\n h${s}\n v-${n}\n h-${s}\n z\n M ${o+s+l}, ${a}\n h${s}\n v-${n}\n h-${s}\n z\n M ${o+2*s+2*l}, ${a}\n h${s}\n v-${n}\n h-${s}\n z`},diamond:(e,t,r)=>{const i=.87*r,n=Math.sqrt(i*i*2);return`M ${e}, ${t+n}\n l ${n}, -${n}\n l -${n}, -${n}\n l -${n}, ${n}\n l ${n}, ${n}\n z`},eyeSlash:(e,t,r)=>`m${e-.87*r}, ${t-1.25*r} .013 .013 0 0 2.179 2.219c.7-.204 1.418-.307 2.152-.307 2.859 0 5.464 1.551 7.814 4.654.243 .321.268 .753.073 1.097l-.073.111-.236.305c-.632.801-1.282 1.491-1.951 2.071l1.773 1.806c.382.389 .382 1.012 0 1.401l-.058.059c-.387.394-1.02.4-1.414.013l-.013-.013-11.732-11.956c-.382-.389-.382-1.012 0-1.401l.058-.059c.387-.394 1.02-.4 1.414-.013zm-.674 3.71 1.407 1.436c-.329.604-.516 1.298-.516 2.038 0 2.323 1.848 4.206 4.127 4.206.726 0 1.408-.191 2-.526l.966.984c-.956.396-1.945.593-2.966.593-2.859 0-5.464-1.551-7.814-4.654-.243-.321-.268-.753-.073-1.097l.073-.111.236-.305c.823-1.042 1.676-1.897 2.56-2.565zm2.177 2.22 4.072 4.149c-.377.167-.793.259-1.23.259-1.71 0-3.096-1.412-3.096-3.155 0-.445.091-.869.254-1.253zm2.842-2.953c-.43 0-.845.067-1.234.191l.865.882c.121-.015.244-.022.369-.022 1.71 0 3.096 1.412 3.096 3.155 0 .127-.007.252-.022.375l.866.882c.122-.397.187-.819.187-1.257 0-2.323-1.848-4.206-4.127-4.206z`,minus:(e,t,r)=>{const i=1.1*r,n=i-.3*i,o=e-i,a=e+i-o;return`M ${o}, ${t+n/2}\n h${a}\n v-${n}\n h-${a}\n z`},plus:(e,t,r)=>{const i=1.1*r,n=i/1.5;return`\n M ${e-n/2}, ${t+i}\n v-${n}\n h-${n}\n v-${n}\n h${n}\n v-${n}\n h${n}\n v${n}\n h${n}\n v${n}\n h-${n}\n v${n}\n z`},star:(e,t,r)=>{const i=1.35*r,n=Math.PI/5;return`M ${[...Array(10).keys()].map((r=>{const o=r%2==0?i:i/2;return`${o*Math.sin(n*(r+1))+e},\n ${o*Math.cos(n*(r+1))+t}`})).join("L")} z`},square:(e,t,r)=>{const i=.87*r,n=e-i,o=e+i-n;return`M ${n}, ${t+i}\n h${o}\n v-${o}\n h-${o}\n z`},threshold:(e,t,r)=>{const i=1.1*r,n=i-.3*i,o=e-i,a=t+n/2,s=.5*(e+i-o);return`M ${o}, ${a}\n h${s}\n v-${n}\n h-${s}\n z\n M ${o+s+s/3}, ${a}\n h${s}\n v-${n}\n h-${s}\n z`},triangleDown:(e,t,r)=>{const i=t-r;return`M ${e-r}, ${i}\n L ${e+r}, ${i}\n L ${e}, ${t+r/2*Math.sqrt(3)}\n z`},triangleLeft:(e,t,r)=>{const i=e+r;return`M ${i}, ${t-r}\n L ${i}, ${t+r}\n L ${e-r/2*Math.sqrt(3)}, ${t}\n z`},triangleRight:(e,t,r)=>{const i=e-r;return`M ${i}, ${t-r}\n L ${i}, ${t+r}\n L ${e+r/2*Math.sqrt(3)}, ${t}\n z`},triangleUp:(e,t,r)=>{const i=t+r;return`M ${e-r}, ${i}\n L ${e+r}, ${i}\n L ${e}, ${t-r/2*Math.sqrt(3)}\n z`}},Hb=e=>{const{x:t,y:r}=e,i=bh(e.size,e);if(e.getPath)return e.getPath(t,r,i);const n={circle:Fb.circle,square:Fb.square,diamond:Fb.diamond,eyeSlash:Fb.eyeSlash,triangleDown:Fb.triangleDown,triangleLeft:Fb.triangleLeft,triangleRight:Fb.triangleRight,triangleUp:Fb.triangleUp,plus:Fb.plus,minus:Fb.minus,star:Fb.star,dash:Fb.dash,threshold:Fb.threshold},o=bh(e.symbol,e);return("function"==typeof n[o]?n[o]:n.square)(t,r,i)},Vb=e=>{var{active:t,className:r,clipPath:i,datum:n,desc:o,events:a,pathComponent:d=l.createElement(jb,null),role:c="presentation",shapeRendering:p="auto",tabIndex:u,transform:h}=e,m=(0,s.Tt)(e,["active","className","clipPath","datum","desc","events","pathComponent","role","shapeRendering","tabIndex","transform"]);const f=Object.assign({active:t,className:r,clipPath:i,datum:n,desc:o,events:a,role:c,shapeRendering:p,tabIndex:u,transform:h},m);return l.cloneElement(d,Object.assign(Object.assign({className:r,clipPath:i,d:Hb(f),desc:bh(o,f)},a),{role:c,shapeRendering:p,style:yh(m.style,f),tabIndex:bh(u,f),transform:h}))};var zb,Wb,Ub;Vb.displayName="ChartPoint",function(e){e.horizontal="horizontal",e.vertical="vertical"}(zb||(zb={})),function(e){e.bottom="bottom",e.bottomLeft="bottom-left",e.right="right"}(Wb||(Wb={})),function(e){e.bottom="bottom",e.top="top"}(Ub||(Ub={}));const Gb=e=>{var{colorScale:t,containerComponent:r=l.createElement(Df,null),dataComponent:i=l.createElement(Vb,null),labelComponent:n=l.createElement(Bb,null),name:o,patternScale:a,responsive:d=!0,style:c,themeColor:p,themeVariant:u,titleComponent:h=l.createElement(Bb,null),theme:m=If(p)}=e,f=(0,s.Tt)(e,["colorScale","containerComponent","dataComponent","labelComponent","name","patternScale","responsive","style","themeColor","themeVariant","titleComponent","theme"]);const g=l.cloneElement(r,Object.assign({responsive:d,theme:m},r.props));return l.createElement(Tg,Object.assign({colorScale:t,containerComponent:g,dataComponent:i,labelComponent:l.cloneElement(n,Object.assign(Object.assign({},o&&{id:e=>`${o}-${n.type.displayName}-${e.index}`}),n.props)),name:o,style:(()=>{if(!a)return c;const e=c?Object.assign({},c):{};return e.data=Object.assign({fill:({index:e})=>{const r=m&&m.legend&&m.legend.colorScale?m.legend.colorScale[e%m.legend.colorScale.length]:void 0,i=t?t[e%t.length]:r;return a[e%a.length]||i}},e.data),e})(),theme:m,titleComponent:l.cloneElement(h,Object.assign(Object.assign({},o&&{id:()=>`${o}-${h.type.displayName}`}),h.props))},f))};Gb.displayName="ChartLegend",p()(Gb,Tg,{getBaseProps:!0}),Gb.getBaseProps=e=>{const t=If(null);return Tg.getBaseProps(Object.assign({titleComponent:l.createElement(Bb,null)},e),{height:t.chart.height,orientation:t.legend.orientation,titleOrientation:t.legend.titleOrientation,x:0,y:0,width:t.chart.width})};const Jb=(e,t,r)=>"number"==typeof t?t:"object"==typeof t&&Object.keys(t).length>0?t[e]||0:Jb(e,r,0),Kb=[{d:"M 0 0 L 5 5 M 4.5 -0.5 L 5.5 0.5 M -0.5 4.5 L 0.5 5.5",height:5,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",patternTransform:"scale(1.4 1.4)",strokeWidth:2,width:5,x:0,y:0},{d:"M 0 5 L 5 0 M -0.5 0.5 L 0.5 -0.5 M 4.5 5.5 L 5.5 4.5",height:5,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",patternTransform:"scale(1.4 1.4)",strokeWidth:2,width:5,x:0,y:0},{d:"M 2 0 L 2 5 M 4 0 L 4 5",height:5,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",patternTransform:"scale(1.4 1.4)",strokeWidth:2,width:5,x:0,y:0},{d:"M 0 2 L 5 2 M 0 4 L 5 4",height:5,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",patternTransform:"scale(1.4 1.4)",strokeWidth:2,width:5,x:0,y:0},{d:"M 0 1.5 L 2.5 1.5 L 2.5 0 M 2.5 5 L 2.5 3.5 L 5 3.5",height:5,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",patternTransform:"scale(1.4 1.4)",strokeWidth:2,width:5,x:0,y:0},{d:"M 0 0 L 5 10 L 10 0",height:10,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",strokeWidth:2,width:10,x:0,y:0},{d:"M 3 3 L 8 3 L 8 8 L 3 8 Z",height:10,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",strokeWidth:2,width:10,x:0,y:0},{d:"M 5 5 m -4 0 a 4 4 0 1 1 8 0 a 4 4 0 1 1 -8 0",height:10,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",strokeWidth:2,width:10,x:0,y:0},{d:"M 0 0 L 10 10 M 9 -1 L 11 1 M -1 9 L 1 11",height:10,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",strokeWidth:2,width:10,x:0,y:0},{d:"M 0 10 L 10 0 M -1 1 L 1 -1 M 9 11 L 11 9",height:10,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",strokeWidth:2,width:10,x:0,y:0},{d:"M 2 5 L 5 2 L 8 5 L 5 8 Z",height:10,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",strokeWidth:2,width:10,x:0,y:0},{d:"M 3 0 L 3 10 M 8 0 L 8 10",height:5,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",patternTransform:"scale(1.4 1.4)",strokeWidth:2,width:5,x:0,y:0},{d:"M 10 3 L 5 3 L 5 0 M 5 10 L 5 7 L 0 7",height:10,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",strokeWidth:2,width:10,x:0,y:0},{d:"M 0 3 L 10 3 M 0 8 L 10 8",height:5,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",patternTransform:"scale(1.4 1.4)",strokeWidth:2,width:5,x:0,y:0},{d:"M 0 3 L 5 3 L 5 0 M 5 10 L 5 7 L 10 7",height:10,fill:"none",patternContentUnits:"userSpaceOnUse",patternUnits:"userSpaceOnUse",strokeWidth:2,width:10,x:0,y:0}],Qb=()=>le()("pf-pattern"),Yb=(e,t)=>`${e}:${t}`,Zb=({colorScale:e,offset:t=0,patternId:r,patternUnshiftIndex:i=0})=>{const n=[...Kb];i>0&&i{const o=n[(i+t)%n.length],{d:a,fill:d,stroke:c=e,strokeWidth:p}=o,u=(0,s.Tt)(o,["d","fill","stroke","strokeWidth"]),h=Yb(r,i);return l.createElement("pattern",Object.assign({id:h,key:h},u),l.createElement("path",{d:a,stroke:c,strokeWidth:p,fill:d}))}))));return o},Xb=(e,t)=>e.map(((e,r)=>`url(#${Yb(t,r)})`)),$b=(e,t)=>{const r=[];return(e||t).forEach((e=>r.push(e))),r},ey=(e,t)=>t?e.map(((e,r)=>{const i=t[r%t.length];return Object.assign(Object.assign({},i&&{_fill:i}),e)})):e,ty=({colorScale:e,patternId:t,patternScale:r})=>{if(r)return r;const i=Xb(e,t);return i&&i.length>0?i:void 0},ry=({colorScale:e,hasPatterns:t,patternScale:r,themeColorScale:i})=>{const n=$b(e,i);let o=r,a=!r&&void 0!==t;const s=l.useMemo((()=>a?Qb():void 0),[a]);if(a&&(o=ty({colorScale:n,patternId:s,patternScale:r})),Array.isArray(t))for(let e=0;el.Children.toArray(e).map(((e,r)=>{if(l.isValidElement(e)){const i=(0,s.Tt)(e.props,[]),n=i.style?Object.assign({},i.style):{};if(t){const e=t[r%t.length];n.data=Object.assign(Object.assign({},e&&{fill:e}),n.data)}return l.cloneElement(e,Object.assign(Object.assign(Object.assign({},t&&{patternScale:t}),i),{style:n}))}return e})),ny=({height:e,padding:t,width:r})=>{const{top:i,bottom:n,left:o,right:a}=gh({padding:t}),s=vh({height:e,width:r,padding:t});return{x:s+o+(r-2*s-o-a)/2,y:s+i+(e-2*s-i-n)/2}},oy=({chartWidth:e,dx:t=0,labelPosition:r})=>"top"===r&&e?Math.round(e/2):t,ay=({chartHeight:e,dy:t=0,labelPosition:r})=>{switch(r){case"bottom":return e+Tb.label.margin+t;case"left":return e?Math.round(e/2)+t:t;default:return t}},sy=({dx:e=0,height:t,labelPosition:r,legendPosition:i,padding:n,width:o})=>{const a=ny({height:t,padding:n,width:o}),s=vh({height:t,width:o,padding:n});switch(r){case"bottom":case"center":return a.x+e;case"right":switch(i){case"bottom":return a.x+Tb.label.margin+e+s;case"right":return a.x+Tb.label.margin+e;default:return e}default:return e}},ly=({dy:e=0,height:t,labelPosition:r,padding:i,width:n})=>{const o=ny({height:t,padding:i,width:n}),a=vh({height:t,width:n,padding:i});switch(r){case"center":case"right":return o.y+e;case"bottom":return o.y+a+2*Tb.label.margin+e;default:return e}},dy=({text:e,theme:t})=>{const r=t.legend.style.labels;return sb(e,Object.assign({},r))},cy=({allowWrap:e=!0,chartType:t="chart",colorScale:r,dx:i=0,dy:n=0,height:o,legendComponent:a,padding:s,patternScale:d,position:c=Tb.legend.position,theme:p,width:u,orientation:h=p.legend.orientation})=>{const m=a.props?a.props:{},f=e?hy({chartType:t,dx:i,height:o,legendData:m.data,legendOrientation:m.legendOrientation?m.legendOrientation:h,legendPosition:c,legendProps:m,padding:s,theme:p,width:u}):void 0,b=g()({},a.props,{itemsPerRow:f}),y=my({chartType:t,dx:i,height:o,legendData:b.data,legendOrientation:b.legendOrientation?b.legendOrientation:h,legendPosition:c,legendProps:b,padding:s,theme:p,width:u}),v=fy({chartType:t,dy:n,height:o,legendData:b.data,legendOrientation:b.legendOrientation?b.legendOrientation:h,legendProps:b,legendPosition:c,padding:s,theme:p,width:u}),w=g()({},a.props,{colorScale:r,itemsPerRow:f,orientation:h,patternScale:d,standalone:!1,theme:p,x:y>0?y:0,y:v>0?v:0});return l.cloneElement(a,w)},py=({legendData:e,legendOrientation:t,legendProps:r,theme:i})=>e||r.data?Tg.getDimensions(Object.assign({data:e,orientation:t,theme:i},r)):{},uy=({dx:e=0,height:t,legendPosition:r,legendData:i,legendOrientation:n,legendProps:o,padding:a,theme:s,width:l})=>{const{left:d,right:c}=gh({padding:a}),p=l-d-c,u=py({legendData:i,legendOrientation:n,legendProps:o,theme:s});let h=0;switch(r){case"bottom-left":h=d+e;break;case"right":h=p+Tb.legend.margin+d+e;break;default:h=e}return l-h>u.width},hy=({dx:e,height:t,legendPosition:r,legendData:i,legendOrientation:n,legendProps:o,padding:a,theme:s,width:l})=>{let d=i?i.length:0;for(let c=d;c>0;c--)if(uy({dx:e,height:t,legendPosition:r,legendData:i,legendOrientation:n,legendProps:Object.assign(Object.assign({},o),{itemsPerRow:c}),padding:a,theme:s,width:l})){d=c;break}return d},my=e=>{var{chartType:t}=e,r=(0,s.Tt)(e,["chartType"]);return"pie"===t?vy(r):by(r)},fy=e=>{var{chartType:t}=e,r=(0,s.Tt)(e,["chartType"]);switch(t){case"pie":return wy(r);case"bullet":return gy(r);default:return yy(r)}},gy=({dy:e=0,height:t,legendPosition:r,legendData:i,legendOrientation:n,legendProps:o,padding:a,theme:s,width:l})=>{const{left:d,right:c}=gh({padding:a}),p=t;switch(r){case"bottom":case"bottom-left":return p+Tb.legend.margin+e;case"right":{const e=e=>e&&e.length>0?17:0;return(p-py({legendData:i,legendOrientation:n,legendProps:o,theme:s}).height)/2+e(i)}default:return e}},by=({dx:e=0,height:t,legendData:r,legendOrientation:i,legendPosition:n,legendProps:o,padding:a,theme:s,width:l})=>{const{top:d,bottom:c,left:p,right:u}=gh({padding:a}),h=(Math.abs(t-(c+d)),Math.abs(l-(p+u))),m=py({legendData:r,legendOrientation:i,legendProps:o,theme:s});switch(n){case"bottom":return l>m.width?Math.round((l-m.width)/2)+e:e;case"bottom-left":return p+e;case"right":return h+Tb.legend.margin+p+e;default:return e}},yy=({dy:e=0,height:t,legendPosition:r,legendData:i,legendOrientation:n,legendProps:o,padding:a,theme:s,width:l})=>{const{top:d,bottom:c,left:p,right:u}=gh({padding:a}),h=Math.abs(t-(c+d));switch(Math.abs(l-(p+u)),r){case"bottom":case"bottom-left":return h+2*Tb.legend.margin+d+e;case"right":{const e=e=>e&&e.length>0?2:0;return h/2+d-py({legendData:i,legendOrientation:n,legendProps:o,theme:s}).height/2+e(i)}default:return e}},vy=({dx:e=0,height:t,legendData:r,legendOrientation:i,legendPosition:n,legendProps:o,padding:a,theme:s,width:l})=>{const d=ny({height:t,padding:a,width:l}),c=vh({height:t,width:l,padding:a}),p=py({legendData:r,legendOrientation:i,legendProps:o,theme:s});switch(n){case"bottom":return l>p.width?Math.round((l-p.width)/2)+e:e;case"right":return d.x+Tb.label.margin+e+c;default:return e}},wy=({dy:e=0,height:t,legendPosition:r,legendData:i,legendOrientation:n,legendProps:o,padding:a,theme:s,width:l})=>{const d=ny({height:t,padding:a,width:l}),c=vh({height:t,width:l,padding:a});switch(r){case"bottom":return d.y+Tb.legend.margin+c+e;case"right":{const e=py({legendData:i,legendOrientation:n,legendProps:o,theme:s}),t=e=>e&&e.length>0?2:0;return d.y-e.height/2+t(i)}default:return e}},Ay=({legendData:e,theme:t})=>{const r=t&&t.legend&&t.legend.style?t.legend.style.labels:void 0;if(!e||!e.length)return 0;let i="";return e.forEach((e=>{e.name&&e.name.length>i.length&&(i=e.name)})),sb(i,Object.assign({},r)).width},Cy=e=>{var{ariaDesc:t,ariaTitle:r,children:i,colorScale:n,hasPatterns:o,legendAllowWrap:a=!1,legendComponent:d=l.createElement(Gb,null),legendData:c,legendPosition:p=Tb.legend.position,name:h,padding:m,patternScale:f,showAxis:g=!0,themeColor:b,themeVariant:y,theme:v=kf(b,g),containerComponent:w=l.createElement(Df,null),legendOrientation:A=v.legend.orientation,height:C=v.chart.height,width:k=v.chart.width}=e,x=(0,s.Tt)(e,["ariaDesc","ariaTitle","children","colorScale","hasPatterns","legendAllowWrap","legendComponent","legendData","legendPosition","name","padding","patternScale","showAxis","themeColor","themeVariant","theme","containerComponent","legendOrientation","height","width"]);const S={bottom:Jb("bottom",m,v.chart.padding),left:Jb("left",m,v.chart.padding),right:Jb("right",m,v.chart.padding),top:Jb("top",m,v.chart.padding)},{defaultColorScale:T,defaultPatternScale:E,isPatternDefs:_,patternId:I}=ry({colorScale:n,patternScale:f,hasPatterns:o,themeColorScale:v.chart.colorScale});let P;w.props.labelComponent&&"ChartLegendTooltip"===w.props.labelComponent.type.displayName&&(P=l.cloneElement(w.props.labelComponent,Object.assign(Object.assign({theme:v},E&&{patternScale:E}),w.props.labelComponent.props)));const M=l.cloneElement(w,Object.assign(Object.assign(Object.assign({desc:t,title:r,theme:v},w.props),{className:Rf({className:w.props.className})}),P&&{labelComponent:P})),R=l.cloneElement(d,Object.assign(Object.assign(Object.assign({data:c},h&&{name:`${h}-${d.type.displayName}`}),{orientation:A,theme:v}),d.props));return l.createElement(sh,Object.assign({colorScale:n,containerComponent:M,height:C,name:h,padding:S,theme:v,width:k},x),l.Children.toArray(i).map(((e,t)=>{if(l.isValidElement(e)){const r=(0,s.Tt)(e.props,[]);return l.cloneElement(e,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({colorScale:n},E&&{patternScale:E}),h&&void 0!==typeof e.name&&{name:`${h}-${e.type.displayName}-${t}`}),{theme:v}),r),"ChartPie"===e.type.displayName&&{data:ey(r.data,E)}))}return e})),(()=>{if(!R.props.data)return null;let e=0,t=0,r=0,o=R.props.title?10:0;return l.Children.toArray(i).map((e=>{"axis"===e.type.role&&e.props.label&&!e.props.dependentAxis&&(r=dy({text:e.props.label,theme:v}).height+10,o=0)})),p===Wb.bottom?t+=r+o:p===Wb.bottomLeft&&(t+=r+o,e=-10),g||(t-=u),cy(Object.assign({allowWrap:a,chartType:"chart",colorScale:n,dx:e,dy:t,height:C,legendComponent:R,padding:S,position:p,theme:v,width:k},E&&{patternScale:E}))})(),_&&Zb({patternId:I,colorScale:T}))};Cy.displayName="Chart",p()(Cy,sh);var ky=Array.prototype.slice;function xy(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function Sy(e){return function(){return e}}function Ty(e){this._context=e}function Ey(e){return new Ty(e)}Ty.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};const _y=Math.PI,Iy=2*_y,Py=1e-6,My=Iy-Py;function Ry(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Ry;const r=10**t;return function(e){this._+=e[0];for(let t=1,i=e.length;tPy)if(Math.abs(c*s-l*d)>Py&&n){let u=r-o,h=i-a,m=s*s+l*l,f=u*u+h*h,g=Math.sqrt(m),b=Math.sqrt(p),y=n*Math.tan((_y-Math.acos((m+p-f)/(2*g*b)))/2),v=y/b,w=y/g;Math.abs(v-1)>Py&&this._append`L${e+v*d},${t+v*c}`,this._append`A${n},${n},0,0,${+(c*u>d*h)},${this._x1=e+w*s},${this._y1=t+w*l}`}else this._append`L${this._x1=e},${this._y1=t}`}arc(e,t,r,i,n,o){if(e=+e,t=+t,o=!!o,(r=+r)<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(i),s=r*Math.sin(i),l=e+a,d=t+s,c=1^o,p=o?i-n:n-i;null===this._x1?this._append`M${l},${d}`:(Math.abs(this._x1-l)>Py||Math.abs(this._y1-d)>Py)&&this._append`L${l},${d}`,r&&(p<0&&(p=p%Iy+Iy),p>My?this._append`A${r},${r},0,1,${c},${e-a},${t-s}A${r},${r},0,1,${c},${this._x1=l},${this._y1=d}`:p>Py&&this._append`A${r},${r},0,${+(p>=_y)},${c},${this._x1=e+r*Math.cos(n)},${this._y1=t+r*Math.sin(n)}`)}rect(e,t,r,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function By(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(null==r)t=null;else{const e=Math.floor(r);if(!(e>=0))throw new RangeError(`invalid digits: ${r}`);t=e}return e},()=>new Dy(t)}function Oy(e){return e[0]}function qy(e){return e[1]}function Ny(e,t){var r=Sy(!0),i=null,n=Ey,o=null,a=By(s);function s(s){var l,d,c,p=(s=xy(s)).length,u=!1;for(null==i&&(o=n(c=a())),l=0;l<=p;++l)!(l=p;--u)s.point(b[u],y[u]);s.lineEnd(),s.areaEnd()}g&&(b[c]=+e(h,c,d),y[c]=+t(h,c,d),s.point(i?+i(h,c,d):b[c],r?+r(h,c,d):y[c]))}if(m)return s=null,m+""||null}function c(){return Ny().defined(n).curve(a).context(o)}return e="function"==typeof e?e:void 0===e?Oy:Sy(+e),t="function"==typeof t?t:Sy(void 0===t?0:+t),r="function"==typeof r?r:void 0===r?qy:Sy(+r),d.x=function(t){return arguments.length?(e="function"==typeof t?t:Sy(+t),i=null,d):e},d.x0=function(t){return arguments.length?(e="function"==typeof t?t:Sy(+t),d):e},d.x1=function(e){return arguments.length?(i=null==e?null:"function"==typeof e?e:Sy(+e),d):i},d.y=function(e){return arguments.length?(t="function"==typeof e?e:Sy(+e),r=null,d):t},d.y0=function(e){return arguments.length?(t="function"==typeof e?e:Sy(+e),d):t},d.y1=function(e){return arguments.length?(r=null==e?null:"function"==typeof e?e:Sy(+e),d):r},d.lineX0=d.lineY0=function(){return c().x(e).y(t)},d.lineY1=function(){return c().x(e).y(r)},d.lineX1=function(){return c().x(i).y(t)},d.defined=function(e){return arguments.length?(n="function"==typeof e?e:Sy(!!e),d):n},d.curve=function(e){return arguments.length?(a=e,null!=o&&(s=a(o)),d):a},d.context=function(e){return arguments.length?(null==e?o=s=null:s=a(o=e),d):o},d}Dy.prototype;var jy=Hy(Ey);function Fy(e){this._curve=e}function Hy(e){function t(t){return new Fy(e(t))}return t._curve=e,t}function Vy(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(e){return arguments.length?t(Hy(e)):t()._curve},e}function zy(){return Vy(Ny().curve(jy))}function Wy(){var e=Ly().curve(jy),t=e.curve,r=e.lineX0,i=e.lineX1,n=e.lineY0,o=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return Vy(r())},delete e.lineX0,e.lineEndAngle=function(){return Vy(i())},delete e.lineX1,e.lineInnerRadius=function(){return Vy(n())},delete e.lineY0,e.lineOuterRadius=function(){return Vy(o())},delete e.lineY1,e.curve=function(e){return arguments.length?t(Hy(e)):t()._curve},e}Fy.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};const Uy=Math.abs,Gy=Math.atan2,Jy=Math.cos,Ky=Math.max,Qy=Math.min,Yy=Math.sin,Zy=Math.sqrt,Xy=1e-12,$y=Math.PI,ev=$y/2,tv=2*$y;function rv(e){return e>=1?ev:e<=-1?-ev:Math.asin(e)}function iv(e){return e.innerRadius}function nv(e){return e.outerRadius}function ov(e){return e.startAngle}function av(e){return e.endAngle}function sv(e){return e&&e.padAngle}function lv(e,t,r,i,n,o,a){var s=e-r,l=t-i,d=(a?o:-o)/Zy(s*s+l*l),c=d*l,p=-d*s,u=e+c,h=t+p,m=r+c,f=i+p,g=(u+m)/2,b=(h+f)/2,y=m-u,v=f-h,w=y*y+v*v,A=n-o,C=u*f-m*h,k=(v<0?-1:1)*Zy(Ky(0,A*A*w-C*C)),x=(C*v-y*k)/w,S=(-C*y-v*k)/w,T=(C*v+y*k)/w,E=(-C*y+v*k)/w,_=x-g,I=S-b,P=T-g,M=E-b;return _*_+I*I>P*P+M*M&&(x=T,S=E),{cx:x,cy:S,x01:-c,y01:-p,x11:x*(n/A-1),y11:S*(n/A-1)}}function dv(){var e=iv,t=nv,r=Sy(0),i=null,n=ov,o=av,a=sv,s=null,l=By(d);function d(){var d,c,p,u=+e.apply(this,arguments),h=+t.apply(this,arguments),m=n.apply(this,arguments)-ev,f=o.apply(this,arguments)-ev,g=Uy(f-m),b=f>m;if(s||(s=d=l()),hXy)if(g>tv-Xy)s.moveTo(h*Jy(m),h*Yy(m)),s.arc(0,0,h,m,f,!b),u>Xy&&(s.moveTo(u*Jy(f),u*Yy(f)),s.arc(0,0,u,f,m,b));else{var y,v,w=m,A=f,C=m,k=f,x=g,S=g,T=a.apply(this,arguments)/2,E=T>Xy&&(i?+i.apply(this,arguments):Zy(u*u+h*h)),_=Qy(Uy(h-u)/2,+r.apply(this,arguments)),I=_,P=_;if(E>Xy){var M=rv(E/u*Yy(T)),R=rv(E/h*Yy(T));(x-=2*M)>Xy?(C+=M*=b?1:-1,k-=M):(x=0,C=k=(m+f)/2),(S-=2*R)>Xy?(w+=R*=b?1:-1,A-=R):(S=0,w=A=(m+f)/2)}var D=h*Jy(w),B=h*Yy(w),O=u*Jy(k),q=u*Yy(k);if(_>Xy){var N,L=h*Jy(A),j=h*Yy(A),F=u*Jy(C),H=u*Yy(C);if(g<$y)if(N=function(e,t,r,i,n,o,a,s){var l=r-e,d=i-t,c=a-n,p=s-o,u=p*l-c*d;if(!(u*u1?0:p<-1?$y:Math.acos(p))/2),J=Zy(N[0]*N[0]+N[1]*N[1]);I=Qy(_,(u-J)/(G-1)),P=Qy(_,(h-J)/(G+1))}else I=P=0}S>Xy?P>Xy?(y=lv(F,H,D,B,h,P,b),v=lv(L,j,O,q,h,P,b),s.moveTo(y.cx+y.x01,y.cy+y.y01),P<_?s.arc(y.cx,y.cy,P,Gy(y.y01,y.x01),Gy(v.y01,v.x01),!b):(s.arc(y.cx,y.cy,P,Gy(y.y01,y.x01),Gy(y.y11,y.x11),!b),s.arc(0,0,h,Gy(y.cy+y.y11,y.cx+y.x11),Gy(v.cy+v.y11,v.cx+v.x11),!b),s.arc(v.cx,v.cy,P,Gy(v.y11,v.x11),Gy(v.y01,v.x01),!b))):(s.moveTo(D,B),s.arc(0,0,h,w,A,!b)):s.moveTo(D,B),u>Xy&&x>Xy?I>Xy?(y=lv(O,q,L,j,u,-I,b),v=lv(D,B,F,H,u,-I,b),s.lineTo(y.cx+y.x01,y.cy+y.y01),I<_?s.arc(y.cx,y.cy,I,Gy(y.y01,y.x01),Gy(v.y01,v.x01),!b):(s.arc(y.cx,y.cy,I,Gy(y.y01,y.x01),Gy(y.y11,y.x11),!b),s.arc(0,0,u,Gy(y.cy+y.y11,y.cx+y.x11),Gy(v.cy+v.y11,v.cx+v.x11),b),s.arc(v.cx,v.cy,I,Gy(v.y11,v.x11),Gy(v.y01,v.x01),!b))):s.arc(0,0,u,k,C,b):s.lineTo(O,q)}else s.moveTo(0,0);if(s.closePath(),d)return s=null,d+""||null}return d.centroid=function(){var r=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,i=(+n.apply(this,arguments)+ +o.apply(this,arguments))/2-$y/2;return[Jy(i)*r,Yy(i)*r]},d.innerRadius=function(t){return arguments.length?(e="function"==typeof t?t:Sy(+t),d):e},d.outerRadius=function(e){return arguments.length?(t="function"==typeof e?e:Sy(+e),d):t},d.cornerRadius=function(e){return arguments.length?(r="function"==typeof e?e:Sy(+e),d):r},d.padRadius=function(e){return arguments.length?(i=null==e?null:"function"==typeof e?e:Sy(+e),d):i},d.startAngle=function(e){return arguments.length?(n="function"==typeof e?e:Sy(+e),d):n},d.endAngle=function(e){return arguments.length?(o="function"==typeof e?e:Sy(+e),d):o},d.padAngle=function(e){return arguments.length?(a="function"==typeof e?e:Sy(+e),d):a},d.context=function(e){return arguments.length?(s=null==e?null:e,d):s},d}function cv(e,t){return te?1:t>=e?0:NaN}function pv(e){return e}function uv(){var e=pv,t=cv,r=null,i=Sy(0),n=Sy(tv),o=Sy(0);function a(a){var s,l,d,c,p,u=(a=xy(a)).length,h=0,m=new Array(u),f=new Array(u),g=+i.apply(this,arguments),b=Math.min(tv,Math.max(-tv,n.apply(this,arguments)-g)),y=Math.min(Math.abs(b)/u,o.apply(this,arguments)),v=y*(b<0?-1:1);for(s=0;s0&&(h+=p);for(null!=t?m.sort((function(e,r){return t(f[e],f[r])})):null!=r&&m.sort((function(e,t){return r(a[e],a[t])})),s=0,d=h?(b-u*v)/h:0;s0?p*d:0)+v,f[l]={data:a[l],index:s,value:p,startAngle:g,endAngle:c,padAngle:y};return f}return a.value=function(t){return arguments.length?(e="function"==typeof t?t:Sy(+t),a):e},a.sortValues=function(e){return arguments.length?(t=e,r=null,a):t},a.sort=function(e){return arguments.length?(r=e,t=null,a):r},a.startAngle=function(e){return arguments.length?(i="function"==typeof e?e:Sy(+e),a):i},a.endAngle=function(e){return arguments.length?(n="function"==typeof e?e:Sy(+e),a):n},a.padAngle=function(e){return arguments.length?(o="function"==typeof e?e:Sy(+e),a):o},a}function hv(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}class mv{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}}class fv{constructor(e){this._context=e}lineStart(){this._point=0}lineEnd(){}point(e,t){if(e=+e,t=+t,0===this._point)this._point=1;else{const r=hv(this._x0,this._y0),i=hv(this._x0,this._y0=(this._y0+t)/2),n=hv(e,this._y0),o=hv(e,t);this._context.moveTo(...r),this._context.bezierCurveTo(...i,...n,...o)}this._x0=e,this._y0=t}}function gv(e){return new mv(e,!0)}function bv(e){return new mv(e,!1)}function yv(e){return new fv(e)}function vv(e){return e.source}function wv(e){return e.target}function Av(e){let t=vv,r=wv,i=Oy,n=qy,o=null,a=null,s=By(l);function l(){let l;const d=ky.call(arguments),c=t.apply(this,d),p=r.apply(this,d);if(null==o&&(a=e(l=s())),a.lineStart(),d[0]=c,a.point(+i.apply(this,d),+n.apply(this,d)),d[0]=p,a.point(+i.apply(this,d),+n.apply(this,d)),a.lineEnd(),l)return a=null,l+""||null}return l.source=function(e){return arguments.length?(t=e,l):t},l.target=function(e){return arguments.length?(r=e,l):r},l.x=function(e){return arguments.length?(i="function"==typeof e?e:Sy(+e),l):i},l.y=function(e){return arguments.length?(n="function"==typeof e?e:Sy(+e),l):n},l.context=function(t){return arguments.length?(null==t?o=a=null:a=e(o=t),l):o},l}function Cv(){return Av(gv)}function kv(){return Av(bv)}function xv(){const e=Av(yv);return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e}const Sv=Zy(3),Tv={draw(e,t){const r=.59436*Zy(t+Qy(t/28,.75)),i=r/2,n=i*Sv;e.moveTo(0,r),e.lineTo(0,-r),e.moveTo(-n,-i),e.lineTo(n,i),e.moveTo(-n,i),e.lineTo(n,-i)}},Ev={draw(e,t){const r=Zy(t/$y);e.moveTo(r,0),e.arc(0,0,r,0,tv)}},_v={draw(e,t){const r=Zy(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},Iv=Zy(1/3),Pv=2*Iv,Mv={draw(e,t){const r=Zy(t/Pv),i=r*Iv;e.moveTo(0,-r),e.lineTo(i,0),e.lineTo(0,r),e.lineTo(-i,0),e.closePath()}},Rv={draw(e,t){const r=.62625*Zy(t);e.moveTo(0,-r),e.lineTo(r,0),e.lineTo(0,r),e.lineTo(-r,0),e.closePath()}},Dv={draw(e,t){const r=.87559*Zy(t-Qy(t/7,2));e.moveTo(-r,0),e.lineTo(r,0),e.moveTo(0,r),e.lineTo(0,-r)}},Bv={draw(e,t){const r=Zy(t),i=-r/2;e.rect(i,i,r,r)}},Ov={draw(e,t){const r=.4431*Zy(t);e.moveTo(r,r),e.lineTo(r,-r),e.lineTo(-r,-r),e.lineTo(-r,r),e.closePath()}},qv=Yy($y/10)/Yy(7*$y/10),Nv=Yy(tv/10)*qv,Lv=-Jy(tv/10)*qv,jv={draw(e,t){const r=Zy(.8908130915292852*t),i=Nv*r,n=Lv*r;e.moveTo(0,-r),e.lineTo(i,n);for(let t=1;t<5;++t){const o=tv*t/5,a=Jy(o),s=Yy(o);e.lineTo(s*r,-a*r),e.lineTo(a*i-s*n,s*i+a*n)}e.closePath()}},Fv=Zy(3),Hv={draw(e,t){const r=-Zy(t/(3*Fv));e.moveTo(0,2*r),e.lineTo(-Fv*r,-r),e.lineTo(Fv*r,-r),e.closePath()}},Vv=Zy(3),zv={draw(e,t){const r=.6824*Zy(t),i=r/2,n=r*Vv/2;e.moveTo(0,-r),e.lineTo(n,i),e.lineTo(-n,i),e.closePath()}},Wv=-.5,Uv=Zy(3)/2,Gv=1/Zy(12),Jv=3*(Gv/2+1),Kv={draw(e,t){const r=Zy(t/Jv),i=r/2,n=r*Gv,o=i,a=r*Gv+r,s=-o,l=a;e.moveTo(i,n),e.lineTo(o,a),e.lineTo(s,l),e.lineTo(Wv*i-Uv*n,Uv*i+Wv*n),e.lineTo(Wv*o-Uv*a,Uv*o+Wv*a),e.lineTo(Wv*s-Uv*l,Uv*s+Wv*l),e.lineTo(Wv*i+Uv*n,Wv*n-Uv*i),e.lineTo(Wv*o+Uv*a,Wv*a-Uv*o),e.lineTo(Wv*s+Uv*l,Wv*l-Uv*s),e.closePath()}},Qv={draw(e,t){const r=.6189*Zy(t-Qy(t/6,1.7));e.moveTo(-r,-r),e.lineTo(r,r),e.moveTo(-r,r),e.lineTo(r,-r)}},Yv=[Ev,_v,Mv,Bv,jv,Hv,Kv],Zv=[Ev,Dv,Qv,zv,Tv,Ov,Rv];function Xv(e,t){let r=null,i=By(n);function n(){let n;if(r||(r=n=i()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),n)return r=null,n+""||null}return e="function"==typeof e?e:Sy(e||Ev),t="function"==typeof t?t:Sy(void 0===t?64:+t),n.type=function(t){return arguments.length?(e="function"==typeof t?t:Sy(t),n):e},n.size=function(e){return arguments.length?(t="function"==typeof e?e:Sy(+e),n):t},n.context=function(e){return arguments.length?(r=null==e?null:e,n):r},n}function $v(){}function ew(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function tw(e){this._context=e}function rw(e){return new tw(e)}function iw(e){this._context=e}function nw(e){return new iw(e)}function ow(e){this._context=e}function aw(e){return new ow(e)}function sw(e,t){this._basis=new tw(e),this._beta=t}tw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ew(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ew(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},iw.prototype={areaStart:$v,areaEnd:$v,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:ew(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},ow.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,i=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,i):this._context.moveTo(r,i);break;case 3:this._point=4;default:ew(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},sw.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,r=e.length-1;if(r>0)for(var i,n=e[0],o=t[0],a=e[r]-n,s=t[r]-o,l=-1;++l<=r;)i=l/r,this._basis.point(this._beta*e[l]+(1-this._beta)*(n+i*a),this._beta*t[l]+(1-this._beta)*(o+i*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const lw=function e(t){function r(e){return 1===t?new tw(e):new sw(e,t)}return r.beta=function(t){return e(+t)},r}(.85);function dw(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function cw(e,t){this._context=e,this._k=(1-t)/6}cw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:dw(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:dw(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const pw=function e(t){function r(e){return new cw(e,t)}return r.tension=function(t){return e(+t)},r}(0);function uw(e,t){this._context=e,this._k=(1-t)/6}uw.prototype={areaStart:$v,areaEnd:$v,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:dw(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const hw=function e(t){function r(e){return new uw(e,t)}return r.tension=function(t){return e(+t)},r}(0);function mw(e,t){this._context=e,this._k=(1-t)/6}mw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:dw(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const fw=function e(t){function r(e){return new mw(e,t)}return r.tension=function(t){return e(+t)},r}(0);function gw(e,t,r){var i=e._x1,n=e._y1,o=e._x2,a=e._y2;if(e._l01_a>Xy){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);i=(i*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,n=(n*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>Xy){var d=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,c=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*d+e._x1*e._l23_2a-t*e._l12_2a)/c,a=(a*d+e._y1*e._l23_2a-r*e._l12_2a)/c}e._context.bezierCurveTo(i,n,o,a,e._x2,e._y2)}function bw(e,t){this._context=e,this._alpha=t}bw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:gw(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const yw=function e(t){function r(e){return t?new bw(e,t):new cw(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function vw(e,t){this._context=e,this._alpha=t}vw.prototype={areaStart:$v,areaEnd:$v,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:gw(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const ww=function e(t){function r(e){return t?new vw(e,t):new uw(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function Aw(e,t){this._context=e,this._alpha=t}Aw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,i=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gw(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const Cw=function e(t){function r(e){return t?new Aw(e,t):new mw(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function kw(e){this._context=e}function xw(e){return new kw(e)}function Sw(e){return e<0?-1:1}function Tw(e,t,r){var i=e._x1-e._x0,n=t-e._x1,o=(e._y1-e._y0)/(i||n<0&&-0),a=(r-e._y1)/(n||i<0&&-0),s=(o*n+a*i)/(i+n);return(Sw(o)+Sw(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function Ew(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function _w(e,t,r){var i=e._x0,n=e._y0,o=e._x1,a=e._y1,s=(o-i)/3;e._context.bezierCurveTo(i+s,n+s*t,o-s,a-s*r,o,a)}function Iw(e){this._context=e}function Pw(e){this._context=new Mw(e)}function Mw(e){this._context=e}function Rw(e){return new Iw(e)}function Dw(e){return new Pw(e)}function Bw(e){this._context=e}function Ow(e){var t,r,i=e.length-1,n=new Array(i),o=new Array(i),a=new Array(i);for(n[0]=0,o[0]=2,a[0]=e[0]+2*e[1],t=1;t=0;--t)n[t]=(a[t]-n[t+1])/o[t];for(o[i-1]=(e[i]+n[i-1])/2,t=0;t1)for(var r,i,n,o=1,a=e[t[0]],s=a.length;o=0;)r[t]=t;return r}function zw(e,t){return e[t]}function Ww(e){const t=[];return t.key=e,t}function Uw(){var e=Sy([]),t=Vw,r=Hw,i=zw;function n(n){var o,a,s=Array.from(e.apply(this,arguments),Ww),l=s.length,d=-1;for(const e of n)for(o=0,++d;o0){for(var r,i,n,o=0,a=e[0].length;o0)for(var r,i,n,o,a,s,l=0,d=e[t[0]].length;l0?(i[0]=o,i[1]=o+=n):n<0?(i[1]=a,i[0]=a+=n):(i[0]=0,i[1]=n)}function Kw(e,t){if((r=e.length)>0){for(var r,i=0,n=e[t[0]],o=n.length;i0&&(i=(r=e[t[0]]).length)>0){for(var r,i,n,o=0,a=1;ao&&(o=t,i=r);return i}function Xw(e){var t=e.map($w);return Vw(e).sort((function(e,r){return t[e]-t[r]}))}function $w(e){for(var t,r=0,i=-1,n=e.length;++i=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}}this._x=e,this._y=t}};var iA=function(e){return null!=(void 0!==e._y1?e._y1:e._y)&&null!==e._y0},nA=function(e){return function(t){return e.x(void 0!==t._x1?t._x1:t._x)}},oA=function(e){return function(t){return e.y(void 0!==t._y1?t._y1:t._y)}},aA=function(e){return"curve".concat(function(e){return e&&e[0].toUpperCase()+e.slice(1)}(e))},sA=function(e){var t=e.interpolation;if("function"==typeof t)return t;if("string"==typeof t){var r=e.polar,i=e.openCurve,n=(void 0===i?!r:i)?aA(t):function(e){return"".concat(aA(e),"Closed")}(t);return a[n]}return Ey},lA=function(e){var t=e.polar,r=e.scale,i=e.horizontal;return t?zy().defined(iA).curve(sA(e)).angle(function(e){return function(t){return-1*e.x(void 0!==t._x1?t._x1:t._x)+Math.PI/2}}(r)).radius(oA(r)):Ny().defined(iA).curve(sA(e)).x(i?oA(r):nA(r)).y(i?nA(r):oA(r))};function dA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function cA(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,i=new Array(t);r=0&&o>0&&(a=n),Ct(i)?new Date(a):a};return r.map((function(e){var t=void 0!==e._y1?e._y1:e._y,r=void 0!==e._y0?e._y0:i("y"),n=void 0!==e._x1?e._x1:e._x,o=void 0!==e._x0?e._x0:i("x");return Object.assign({},e,{_y0:r,_y1:t,_x0:o,_x1:n})}))}(e,a);return{style:i,data:l,scale:a,domain:o,origin:s}}(r)),n=i.data,o=i.domain,a=i.events,s=i.groupComponent,l=i.height,d=i.horizontal,c=i.interpolation,p=i.origin,u=i.padding,h=i.polar,m=i.scale,f=i.sharedEvents,g=i.standalone,b=i.style,y=i.theme,v=i.width,w=i.labels,A=i.name,C=i.disableInlineStyles,k={parent:{style:b.parent,width:v,height:l,scale:m,data:n,domain:o,standalone:g,theme:y,polar:h,origin:p,padding:u,name:A,horizontal:d},all:{data:{horizontal:d,polar:h,origin:p,scale:m,data:n,interpolation:c,groupComponent:s,style:C?{}:b.data,disableInlineStyles:C}}};return n.reduce((function(e,t,r){return(null!=hc(i,t,r)||w&&(a||f))&&(e[qc()(t.eventKey)?r:t.eventKey]={labels:yc(i,r)}),e}),k)}(e,MA)},RA.expectedComponents=["dataComponent","labelComponent","groupComponent","containerComponent"];var DA,BA=Kp(RA,{components:[{name:"parent",index:"parent"},{name:"data",index:"all"},{name:"labels"}]});!function(e){e.ascending="ascending",e.descending="descending"}(DA||(DA={}));const OA=e=>{var{containerComponent:t=l.createElement(Df,null),themeColor:r,themeVariant:i,theme:n=If(r)}=e,o=(0,s.Tt)(e,["containerComponent","themeColor","themeVariant","theme"]);const a=l.cloneElement(t,Object.assign({theme:n},t.props));return l.createElement(BA,Object.assign({containerComponent:a,theme:n},o))};OA.displayName="ChartArea",p()(OA,BA);const qA=e=>{var{axisLabelComponent:t=l.createElement(Bb,null),containerComponent:r=l.createElement(Df,null),name:i,showGrid:n=!1,themeColor:o,themeVariant:a,tickLabelComponent:d=l.createElement(Bb,null),theme:c=If(o)}=e,p=(0,s.Tt)(e,["axisLabelComponent","containerComponent","name","showGrid","themeColor","themeVariant","tickLabelComponent","theme"]);const u=l.cloneElement(r,Object.assign({theme:c},r.props));return l.createElement(yu,Object.assign({axisLabelComponent:l.cloneElement(t,Object.assign(Object.assign({},i&&{id:()=>`${i}-${t.type.displayName}`}),t.props)),containerComponent:u,name:i,theme:n?hf(o):c,tickLabelComponent:l.cloneElement(d,Object.assign(Object.assign({},i&&{id:e=>`${i}-${d.type.displayName}-${e.index}`}),d.props))},p))};qA.displayName="ChartAxis",p()(qA,yu);var NA=function(e,t){return{x:e,y:t,distance:function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))},add:function(e){return NA(this.x+e.x,this.y+e.y)},subtract:function(e){return NA(this.x-e.x,this.y-e.y)},scalarMult:function(e){return NA(this.x*e,this.y*e)},scalarDivide:function(e){if(0===e)throw new Error("Division by 0 error");return NA(this.x/e,this.y/e)},equals:function(e){return this.x===e.x&&this.y===e.y}}},LA=function(e,t){return{center:e,radius:t,hasIntersection:function(e){var t=this.center,r=e.center,i=this.radius,n=e.radius,o=t.distance(r);return!(o>i+n||oe.length)&&(t=e.length);for(var r=0,i=new Array(t);r0?r.topLeft:r.bottomLeft,bottomRight:n>0?r.topRight:r.bottomRight,bottomLeft:n>0?r.bottomRight:r.topRight,topLeft:n>0?r.bottomLeft:r.topLeft},a=function(e,t,r){var i=e.y0,n=e.y1,o=e.x0u.x){var m=NA(o+r["".concat(e,"Left")],d-l*r["".concat(e,"Left")]),f=LA(m,r["".concat(e,"Left")]),g=NA(a-r["".concat(e,"Right")],d-l*r["".concat(e,"Right")]),b=LA(g,r["".concat(e,"Right")]),y=f.intersection(b);if(y.length>0){var v=y[t>0?1:0];p={x:v.x,y:v.y},u={x:v.x,y:v.y}}else if(r["".concat(e,"Right")]>r["".concat(e,"Left")]){var w=b.solveY(o)[s?0:1];c={x:o,y:w},p={x:o,y:w},u={x:o,y:w}}else{var A=f.solveY(a)[s?0:1];h={x:a,y:A},u={x:a,y:A},p={x:a,y:A}}}return[c,p,u,h]},l=s("top"),d=s("bottom");return[d[1],d[0]].concat(VA(l),[d[3],d[2]])}(i,n,o);return JA(a,o,"0 0 1")}(e,t,r):function(e,t,r){var i=WA(e,t),n=i.y0>i.y1?1:-1,o=n>0?"0 0 1":"0 0 0",a=function(e,t,r){var i=e.x0,n=e.x1,o=e.y0,a=e.y1,s=function(e){var s="Left"===e,l=s?1:-1,d=s?i:n,c={x:d+l*r["bottom".concat(e)],y:o},p={x:d,y:o-t*r["bottom".concat(e)]},u={x:d,y:a+t*r["top".concat(e)]},h={x:d+l*r["top".concat(e)],y:a};if(1===t?o-r["bottom".concat(e)]a-r["top".concat(e)]){var m=NA(d+l*r["top".concat(e)],a+t*r["top".concat(e)]),f=LA(m,r["top".concat(e)]),g=NA(d+l*r["bottom".concat(e)],o-t*r["bottom".concat(e)]),b=LA(g,r["bottom".concat(e)]),y=f.intersection(b);if(y.length>0){var v=y[s?0:1];p={x:v.x,y:v.y},u={x:v.x,y:v.y}}else if(r["top".concat(e)]>r["bottom".concat(e)]){var w=f.solveX(o)[s?0:1];c={x:w,y:o},p={x:w,y:o},u={x:w,y:o}}else{var A=b.solveX(a)[s?0:1];p={x:A,y:a},u={x:A,y:a},h={x:A,y:a}}}var C=[c,p,u,h];return s?C:C.reverse()};return s("Left").concat(s("Right"))}(i,n,r);return JA(a,r,o)}(e,t,r)};function QA(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function YA(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(t.disableInlineStyles)return{};var r={fill:"black",stroke:e.fill||"black"};return D(Object.assign(r,e),t)}(e.style,e),r=function(e,t){var r=t.scale,i=t.data,n=t.style;if(e)return R(e,t);if(n.width)return n.width;var o=r.x.range(),a=Math.abs(o[1]-o[0]),s=i.length+2,l=(t.barRatio||.5)*(i.length<2?8:a/s);return Math.max(1,l)}(e.barWidth,Object.assign({},e,{style:t})),i=function(e,t){var r={topLeft:0,topRight:0,bottomLeft:0,bottomRight:0};return e?function(e){return Vt()(e)}(e)?function(e,t){var r={topLeft:0,topRight:0,bottomLeft:0,bottomRight:0},i=function(i,n){qc()(e[i])?qc()(e[n])||(r[i]=R(e[n],t)):r[i]=R(e[i],t)};return i("topLeft","top"),i("topRight","top"),i("bottomLeft","bottom"),i("bottomRight","bottom"),r}(e,t):(r.topLeft=R(e,t),r.topRight=R(e,t),r):r}(e.cornerRadius,Object.assign({},e,{style:t,barWidth:r})),n=R(e.ariaLabel,e),o=R(e.desc,e),a=R(e.id,e),s=R(e.tabIndex,e);return Object.assign({},e,{ariaLabel:n,style:t,barWidth:r,cornerRadius:i,desc:o,id:a,tabIndex:s})},$A={pathComponent:d().createElement(ku,null),role:"presentation",shapeRendering:"auto"},eC=(0,l.forwardRef)((function(e,t){var r=XA(YA(YA({},$A),e)),i=r.polar,n=r.origin,o=r.style,a=r.barWidth,s=r.cornerRadius,l=i?function(e,t){return function(e,t){var r,i,n=e.datum,o=e.scale,a=e.index,s=e.alignment,l=e.style,d=o.y(n._y0||0),c=o.y(void 0!==n._y1?n._y1:n._y),p=o.x(void 0!==n._x1?n._x1:n._x);if(l.width){var u=function(e,t){var r=e.scale,i=r.y.range(),n=Math.max.apply(Math,VA(i)),o=Math.abs(r.x.range()[1]-r.x.range()[0]);return t/(2*Math.PI*n)*o}(e,l.width),h="middle"===s?u/2:u;r="start"===s?p:p-h,i="end"===s?p:p+h}else r=function(e,t){var r=e.data,i=e.scale,n=e.alignment,o=UA(e,t),a=Math.abs(i.x.range()[1]-i.x.range()[0]),s=0===t?UA(e,r.length-1)-2*Math.PI:UA(e,t-1);return 0===t&&a<2*Math.PI?i.x.range()[0]:"start"===n||"end"===n?"start"===n?s:o:(o+s)/2}(e,Number(a)),i=function(e,t){var r=e.data,i=e.scale,n=e.alignment,o=UA(e,t),a=Math.abs(i.x.range()[1]-i.x.range()[0]),s=i.x.range()[1]===2*Math.PI?UA(e,0)+2*Math.PI:i.x.range()[1],l=t===r.length-1?UA(e,0)+2*Math.PI:UA(e,t+1);return t===r.length-1&&a<2*Math.PI?s:"start"===n||"end"===n?"start"===n?o:l:(o+l)/2}(e,Number(a));var m=function(e){return dv().innerRadius(d).outerRadius(c).startAngle(GA(r)).endAngle(GA(i)).cornerRadius(t[e])()},f=function(e){var t=m("".concat(e,"Right")),r=t.match(/[A-Z]/g)||[],i=t.split(/[A-Z]/).slice(1),n=r.indexOf("L"),o=m("".concat(e,"Left")),a=o.match(/[A-Z]/g)||[],s=o.split(/[A-Z]/).slice(1),l=a.indexOf("L");return{rightMoves:r,rightCoords:i,rightMiddle:n,leftMoves:a,leftCoords:s,leftMiddle:l}},g=function(){var e,n,o=t.topRight,a=t.topLeft,s=c*Math.abs(i-r),l=f("top"),d=l.rightMoves,p=l.rightCoords,u=l.rightMiddle,h=l.leftMoves,m=l.leftCoords,g=l.leftMiddle;if(o===a||s<2*o+2*a)e=o>a?d:h,n=o>a?p:m;else{var b,y=function(e){return e<3},v=a>o&&y(u)?1:2;if(o>a){var w=y(u)?g:g-2;b=y(g)?g-1:w}else{var A=y(g)?1:2;b=y(u)?A:g-2}e=[].concat(VA(d.slice(0,v)),VA(h.slice(b))),n=[].concat(VA(p.slice(0,v)),VA(m.slice(b)))}var C=e.indexOf("L"),k=e.slice(0,C),x=n.slice(0,C);return k.map((function(e,t){return{command:e,coords:x[t].split(",")}}))}(),b=function(){var e,n,o=t.bottomRight,a=t.bottomLeft,s=d*Math.abs(i-r),l=f("bottom"),c=l.rightMoves,p=l.rightCoords,u=l.rightMiddle,h=l.leftMoves,m=l.leftCoords,g=l.leftMiddle;if(o===a||s<2*o+2*a)e=o>a?c:h,n=o>a?p:m;else{var b=function(e,t){return e.length-t<4},y=(o>a?b(c,u):b(h,g))?-1:-3;e=[].concat(VA(h.slice(0,g+2)),VA(c.slice(y))),n=[].concat(VA(m.slice(0,g+2)),VA(p.slice(y)))}var v=e.indexOf("L"),w=e.slice(v,-1),A=n.slice(v,-1);return w.map((function(e,t){return{command:e,coords:A[t].split(",")}}))}(),y=[].concat(VA(g),VA(b)).reduce((function(e,t){return"".concat(e).concat(t.command," ").concat(t.coords.join())}),"");return"".concat(y," z")}(e,t)}(r,s):KA(r,a,s),c=i&&n?"translate(".concat(n.x,", ").concat(n.y,")"):void 0;return r.pathComponent?d().cloneElement(r.pathComponent,YA(YA({},r.events),{},{"aria-label":r.ariaLabel,style:o,d:l,className:r.className,clipPath:r.clipPath,desc:r.desc,index:r.index,role:r.role,shapeRendering:r.shapeRendering,transform:r.transform||c,tabIndex:r.tabIndex,ref:t})):null}));function tC(e,t){for(var r=0;r=0&&o>0&&(i=n),t["_".concat(r)]instanceof Date?new Date(i):i},i=void 0!==t._y0?t._y0:r("y"),n=void 0!==t._x0?t._x0:r("x");return E(e,Object.assign({},t,{_y0:i,_x0:n}))}(i,t),y=m.x,w=m.y,k=m.y0,T=m.x0,_={alignment:n,barRatio:o,barWidth:x,cornerRadius:a,data:s,datum:t,disableInlineStyles:l,getPath:S,horizontal:u,index:r,polar:f,origin:h,scale:g,style:v.data,width:A,height:p,x:y,y:w,y0:k,x0:T};return e[d]={data:_},(null!=hc(i,t,r)||C&&(c||b))&&(e[d].labels=yc(i,r)),e}),T)}(e,nC)},oC.expectedComponents=["dataComponent","labelComponent","groupComponent","containerComponent"];var aC=Kp(oC);const sC=e=>{var{containerComponent:t=l.createElement(Df,null),themeColor:r,themeVariant:i,theme:n=If(r)}=e,o=(0,s.Tt)(e,["containerComponent","themeColor","themeVariant","theme"]);const a=l.cloneElement(t,Object.assign({theme:n},t.props));return l.createElement(aC,Object.assign({containerComponent:a,theme:n},o))};sC.displayName="ChartBar",p()(sC,aC);const lC=({defaultSize:e,height:t,horizontal:r=!0,scale:i=1,value:n,width:o})=>r&&t>e?n+(t-e)*i:r?n-(e-t)*i:o>e?n+(o-e)*i:n-(e-o)*i,dC=e=>Math.max(lC(e),0),cC=({height:e,horizontal:t,themeColor:r,width:i,theme:n=ff(r)})=>dC({defaultSize:n.bar.height,height:e,horizontal:t,value:Eb.comparativeMeasureErrorWidth,width:i}),pC=({height:e,horizontal:t,themeColor:r,width:i,theme:n=gf(r)})=>dC({defaultSize:n.bar.height,height:e,horizontal:t,value:Eb.comparativeMeasureWidth,width:i}),uC=({height:e,horizontal:t,themeColor:r,width:i,theme:n=bf(r)})=>dC({defaultSize:n.bar.height,height:e,horizontal:t,value:Eb.comparativeMeasureWarningWidth,width:i}),hC=({height:e,horizontal:t,themeColor:r,width:i,theme:n=vf(r)})=>(e=>{var{value:t}=e,r=(0,s.Tt)(e,["value"]);return Math.round(lC(Object.assign({scale:1/t,value:t},r)))})({defaultSize:n.group.height,height:e,horizontal:t,value:Eb.primaryDotMeasureSize,width:i}),mC=({height:e,horizontal:t,themeColor:r,width:i,theme:n=Af(r)})=>dC({defaultSize:n.group.height,height:e,horizontal:t,scale:.3,value:Eb.primarySegmentedMeasureWidth,width:i}),fC=({height:e,horizontal:t,themeColor:r,width:i,theme:n=Cf(r)})=>dC({defaultSize:n.group.height,height:e,horizontal:t,value:Eb.qualitativeRangeWidth,width:i});var gC="@@__IMMUTABLE_ITERABLE__@@",bC="@@__IMMUTABLE_RECORD__@@",yC="@@__IMMUTABLE_LIST__@@";function vC(e){return!(!e||!e[gC])}function wC(e,t){return vC(e)?e.reduce((function(e,r,i){var n=r;return t&&t[i]&&(n=wC(r)),e[i]=n,e}),function(e){return!(!e||!e[yC])}(e)?[]:{}):e}function AC(e){return function(e){if(Array.isArray(e))return CC(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return CC(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?CC(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function CC(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r2&&void 0!==arguments[2]?arguments[2]:"ascending";if(!t)return e;var i=t;"x"!==t&&"y"!==t||(i="_".concat(t));var n="ascending"===r?"asc":"desc";return nr()(e,i,n)}function SC(e,t){var r=function(e,t){var r=e.tickValues,i=e.tickFormat;return(r&&(Array.isArray(r)||r[t])?r[t]||r:i&&Array.isArray(i)?i:[]).filter((function(e){return"string"==typeof e}))}(e,t),i=function(e,t){if(!e.categories)return[];var r=function(e,t){return e.categories&&!Array.isArray(e.categories)?e.categories[t]:e.categories}(e,t),i=r&&r.filter((function(e){return"string"==typeof e}));return i?i.filter((function(e){return void 0!==e})):[]}(e,t),n=function(e,t){if(!(Array.isArray(e.data)||vC(e.data)))return[];var r=wh(void 0===e[t]?t:e[t]);return xC(e.data.reduce((function(e,t){return e.push(kC(t)),e}),[]),e.sortKey,e.sortOrder).reduce((function(e,t){var i=kC(t);return e.push(r(i)),e}),[]).filter((function(e){return"string"==typeof e})).reduce((function(e,t){return null!=t&&-1===e.indexOf(t)&&e.push(t),e}),[])}(e,t),o=Yt()([].concat(AC(r),AC(i),AC(n)));return 0===o.length?null:o.reduce((function(e,t,r){return e[t]=r+1,e}),{})}function TC(e,t,r){if(!Array.isArray(e)&&!vC(e)||function(e){return vC(e)?e.size:e.length}(e)<1)return[];var i,n=["x","y","y0"],o=(r=Array.isArray(r)?r:n).reduce((function(e,r){var i;return e[r]=wh(void 0!==t[i=r]?t[i]:i),e}),{}),a=gr()(r,n)&&"_x"===t.x&&"_y"===t.y&&"_y0"===t.y0;!1===a&&(i={x:-1!==r.indexOf("x")?SC(t,"x"):void 0,y:-1!==r.indexOf("y")?SC(t,"y"):void 0,y0:-1!==r.indexOf("y0")?SC(t,"y"):void 0});var s=a?e:e.reduce((function(e,t,n){var a=kC(t),s={x:n,y:a},l=r.reduce((function(e,t){var r=o[t](a),n=void 0!==r?r:s[t];return void 0!==n&&("string"==typeof n&&i[t]?(e["".concat(t,"Name")]=n,e["_".concat(t)]=i[t][n]):e["_".concat(t)]=n),e}),{}),d=Object.assign({},l,a);return m()(d)||e.push(d),e}),[]),l=function(e,t){var r=1/Number.MAX_SAFE_INTEGER,i={x:kh(t,"x"),y:kh(t,"y")};if("log"!==i.x&&"log"!==i.y)return e;var n=function(e,t){return"log"!==i[t]||0!==e["_".concat(t)]};return e.map((function(e){return n(e,"x")&&n(e,"y")&&n(e,"y0")?e:function(e){var t=n(e,"x")?e._x:r,i=n(e,"y")?e._y:r,o=n(e,"y0")?e._y0:r;return Object.assign({},e,{_x:t,_y:i,_y0:o})}(e)}))}(xC(s,t.sortKey,t.sortOrder),t);return function(e,t){var r,i=!!e.eventKey,n=(r=e.eventKey,x()(r)?r:null==r?function(){}:C()(r));return t.map((function(e,t){if(void 0!==e.eventKey)return e;if(i){var r=n(e,t);return void 0!==r?Object.assign({eventKey:r},e):e}return e}))}(t,l)}const EC=({data:e,maxDomain:t,minDomain:r,x:i,y:n})=>{let o=0,a=0,s=!0,l=!0;void 0!==r&&void 0!==r.x?(o=r.x,s=!1):void 0!==r&&void 0===r.y&&(o=r,s=!1),void 0!==t&&void 0!==t.x?(a=t.x,l=!1):void 0!==t&&void 0===t.y&&(a=t,l=!1);let d=0,c=0,p=!0,u=!0;return void 0!==r&&void 0!==r.y?(d=r.y,p=!1):void 0!==r&&void 0===r.x&&(d=r,p=!1),void 0!==t&&void 0!==t.y?(c=t.y,u=!1):void 0!==t&&void 0===t.x&&(c=t,u=!1),TC(e,{x:i,y:n},["x","y"]).forEach((e=>{s&&e._xa&&(a=e._x),p&&e._yc&&(c=e._y)})),{x:[o,a],y:[d,c]}},_C=({maxDomain:e,minDomain:t,sources:r})=>{const i=[];r.forEach((r=>{const{data:n=r.data}=r.component?r.component.props:void 0,o=EC({data:n,maxDomain:e,minDomain:t,x:r.component?r.component.props.x:void 0,y:r.component?r.component.props.y:void 0});i.push(o)}));const n=[],o=[];return i.forEach((e=>{n.push(...e.x),o.push(...e.y)})),{x:[Math.min(...n),Math.max(...n)],y:[Math.min(...o),Math.max(...o)]}},IC=({comparativeErrorMeasureComponent:e,comparativeErrorMeasureData:t,comparativeWarningMeasureComponent:r,comparativeWarningMeasureData:i,primaryDotMeasureComponent:n,primaryDotMeasureData:o,primarySegmentedMeasureComponent:a,primarySegmentedMeasureData:s,maxDomain:l,minDomain:d,qualitativeRangeComponent:c,qualitativeRangeData:p})=>{const u=_C({maxDomain:l,minDomain:d,sources:[{component:e,data:t},{component:r,data:i},{component:n,data:o},{component:a,data:s},{component:c,data:p}]});return u.x=[0,2],u},PC=({data:e,themeColor:t,theme:r=gf(t),y:i})=>{const n=[];return TC(e,{y:i},["y"]).forEach(((e,t)=>{n.push(Object.assign(Object.assign({},e),{_index:t}))})),n.map((e=>Object.assign(Object.assign({},e),{x:1,_x:1,y0:e._y,_y0:e._y,_color:r.bar.style.data.fill})))},MC=({data:e,invert:t,themeColor:r,theme:i=vf(r),y:n,y0:o})=>PC({data:e,invert:t,theme:i,themeColor:r,y:n,y0:o}),RC=({data:e,invert:t,themeColor:r,theme:i=Af(r),negativeMeasureTheme:n=wf(r),y:o,y0:a})=>{const s=[],l=[];TC(e,{y:o,y0:a},["y","y0"]).forEach(((e,t)=>{e._y<0?s.push(Object.assign(Object.assign({},e),{_index:t})):l.push(Object.assign(Object.assign({},e),{_index:t}))}));const d=s.sort(((e,t)=>t._y-e._y)).map(((e,r)=>Object.assign(Object.assign({},e),{x:1,_x:1,_color:t?i.group.colorScale[r%i.group.colorScale.length]:n.group.colorScale[r%i.group.colorScale.length]}))).reverse(),c=l.sort(((e,t)=>e._y-t._y)).map(((e,r)=>Object.assign(Object.assign({},e),{x:1,_x:1,_color:t?n.group.colorScale[r%i.group.colorScale.length]:i.group.colorScale[r%i.group.colorScale.length]}))).reverse();return[...d,...c]},DC=({data:e,invert:t,themeColor:r,theme:i=Cf(r),y:n,y0:o})=>{const a=[];TC(e,{y:n,y0:o},["y","y0"]).forEach(((e,t)=>{a.push(Object.assign(Object.assign({},e),{_index:t}))}));const s=a.sort(((e,r)=>t?r._y-e._y:e._y-r._y)).map(((e,t)=>Object.assign(Object.assign({},e),{x:1,_x:1,_color:i.group.colorScale[t%i.group.colorScale.length]}))).reverse();return s},BC=(e,t)=>{const r=[];return t.forEach(((t,i)=>{for(const t of e)i===t._index&&r.push(t._color)})),r},OC=({comparativeErrorMeasureData:e,comparativeErrorMeasureLegendData:t,comparativeWarningMeasureData:r,comparativeWarningMeasureLegendData:i,invert:n,primaryDotMeasureData:o,primaryDotMeasureLegendData:a,primarySegmentedMeasureData:s,primarySegmentedMeasureLegendData:l,qualitativeRangeData:d,qualitativeRangeLegendData:c,themeColor:p})=>{const u=(({comparativeErrorMeasureData:e,comparativeErrorMeasureLegendData:t,comparativeWarningMeasureData:r,comparativeWarningMeasureLegendData:i,invert:n,primaryDotMeasureData:o,primaryDotMeasureLegendData:a,primarySegmentedMeasureData:s,primarySegmentedMeasureLegendData:l,qualitativeRangeData:d,qualitativeRangeLegendData:c,themeColor:p})=>{const u=[];if(a&&a.length){const e=MC({data:o,invert:n});u.push(...BC(e,a))}if(l&&l.length){const e=RC({data:s,invert:n,themeColor:p});u.push(...BC(e,l))}if(i&&i.length){const e=(({data:e,themeColor:t,theme:r=bf(t),y:i})=>PC({data:e,theme:r,themeColor:t,y:i}))({data:r,invert:n,themeColor:p});u.push(...BC(e,i))}if(t&&t.length){const r=(({data:e,themeColor:t,theme:r=ff(t),y:i})=>PC({data:e,theme:r,themeColor:t,y:i}))({data:e,invert:n,themeColor:p});u.push(...BC(r,t))}if(c&&c.length){const e=DC({data:d,invert:n});u.push(...BC(e,c))}return u})({comparativeErrorMeasureData:e,comparativeErrorMeasureLegendData:t,comparativeWarningMeasureData:r,comparativeWarningMeasureLegendData:i,invert:n,primaryDotMeasureData:o,primaryDotMeasureLegendData:a,primarySegmentedMeasureData:s,primarySegmentedMeasureLegendData:l,qualitativeRangeData:d,qualitativeRangeLegendData:c,themeColor:p}),h=mf(p);return h.legend.colorScale=[...u],h};function qC(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function NC(e){for(var t=1;t0?0:e.pointerLength,b="left"===i?"0 0 0":"0 0 1",y="".concat(r," ").concat(r," ").concat(b);return"M ".concat(u,", ").concat(p-t/2,"\n L ").concat(g?l:u,", ").concat(g?d:p+t/2,"\n L ").concat(u,", ").concat(p+t/2,"\n L ").concat(u,", ").concat(m-r,"\n A ").concat(y," ").concat(u+s*r,", ").concat(m,"\n L ").concat(h-s*r,", ").concat(m,"\n A ").concat(y," ").concat(h,", ").concat(m-r,"\n L ").concat(h,", ").concat(f+r,"\n A ").concat(y," ").concat(h-s*r,", ").concat(f,"\n L ").concat(u+s*r,", ").concat(f,"\n A ").concat(y," ").concat(u,", ").concat(f+r,"\n z")}(e):function(e){var t=e.pointerWidth,r=e.cornerRadius,i=e.orientation,n=e.width,o=e.height,a=e.center,s="bottom"===i?1:-1,l=e.x+(e.dx||0),d=e.y+(e.dy||0),c=a.x,p=a.y,u=p+s*(o/2),h=p-s*(o/2),m=c+n/2,f=c-n/2,g=s*(d-u)<0?0:e.pointerLength,b="bottom"===i?"0 0 0":"0 0 1",y="".concat(r," ").concat(r," ").concat(b);return"M ".concat(c-t/2,", ").concat(u,"\n L ").concat(g?l:c+t/2,", ").concat(g?d:u,"\n L ").concat(c+t/2,", ").concat(u,"\n L ").concat(m-r,", ").concat(u,"\n A ").concat(y," ").concat(m,", ").concat(u-s*r,"\n L ").concat(m,", ").concat(h+s*r,"\n A ").concat(y," ").concat(m-r,", ").concat(h,"\n L ").concat(f+r,", ").concat(h,"\n A ").concat(y," ").concat(f,", ").concat(h+s*r,"\n L ").concat(f,", ").concat(u-s*r,"\n A ").concat(y," ").concat(f+r,", ").concat(u,"\n z")}(e)},FC={pathComponent:d().createElement(ku,null),role:"presentation",shapeRendering:"auto"},HC=function(e){var t=function(e){var t=R(e.id,e),r=D(e.style,e);return NC(NC({},e),{},{id:t,style:r})}(NC(NC({},FC),e)),r=Ve(t);He(t.height,"Flyout props[height] is undefined"),He(t.width,"Flyout props[width] is undefined"),He(t.x,"Flyout props[x] is undefined"),He(t.y,"Flyout props[y] is undefined");var i={center:t.center||{x:0,y:0},cornerRadius:t.cornerRadius||0,dx:t.dx,dy:t.dy,height:t.height,orientation:t.orientation||"top",pointerLength:t.pointerLength||0,pointerWidth:t.pointerWidth||0,width:t.width,x:t.x,y:t.y};return d().cloneElement(t.pathComponent,NC(NC(NC({},t.events),r),{},{style:t.style,d:jC(i),className:t.className,shapeRendering:t.shapeRendering,role:t.role,transform:t.transform,clipPath:t.clipPath}))};function VC(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r270?"right":"left":t>180?"bottom":"top"}},{key:"getVerticalOrientations",value:function(e){return e<45||e>315?"right":e>=45&&e<=135?"top":e>135&&e<225?"left":"bottom"}},{key:"getStyles",value:function(e){var t=e.theme||ft.grayscale,r=t&&t.tooltip&&t.tooltip.style?t.tooltip.style:{},i=Array.isArray(e.style)?e.style.map((function(e){return g()({},e,r)})):g()({},e.style,r),n=t&&t.tooltip&&t.tooltip.flyoutStyle?t.tooltip.flyoutStyle:{},o=e.flyoutStyle?g()({},e.flyoutStyle,n):n,a=Array.isArray(i)?i.map((function(t){return D(t,e)})):D(i,e);return{style:a,flyoutStyle:D(o,Object.assign({},e,{style:a}))}}},{key:"getEvaluatedProps",value:function(e){var t=e.cornerRadius,r=e.centerOffset,i=e.dx,n=e.dy,o=R(e.active,e),a=R(e.text,Object.assign({},e,{active:o}));null==a&&(a=""),"number"==typeof a&&(a=a.toString());var s=this.getStyles(Object.assign({},e,{active:o,text:a})),l=s.style,d=s.flyoutStyle,c=R(e.orientation,Object.assign({},e,{active:o,text:a,style:l,flyoutStyle:d}))||this.getDefaultOrientation(e),p=_({padding:R(e.flyoutPadding,Object.assign({},e,{active:o,text:a,style:l,flyoutStyle:d,orientation:c}))||this.getLabelPadding(l)}),u=R(e.pointerWidth,Object.assign({},e,{active:o,text:a,style:l,flyoutStyle:d,orientation:c})),h=R(e.pointerLength,Object.assign({},e,{active:o,text:a,style:l,flyoutStyle:d,orientation:c})),m=zd(a,l),f=this.getDimensions(Object.assign({},e,{style:l,flyoutStyle:d,active:o,text:a,orientation:c,flyoutPadding:p,pointerWidth:u,pointerLength:h}),m),g=f.flyoutHeight,b=f.flyoutWidth,y=Object.assign({},e,{active:o,text:a,style:l,flyoutStyle:d,orientation:c,flyoutHeight:g,flyoutWidth:b,flyoutPadding:p,pointerWidth:u,pointerLength:h}),v=Vt()(r)&&void 0!==(null==r?void 0:r.x)?R(r.x,y):0,w=Vt()(r)&&void 0!==(null==r?void 0:r.y)?R(r.y,y):0;return WC(WC({},y),{},{centerOffset:{x:v,y:w},dx:void 0!==i?R(i,y):0,dy:void 0!==n?R(n,y):0,cornerRadius:R(t,y)})}},{key:"getCalculatedValues",value:function(e){var t=e.style,r=e.text,i=e.flyoutStyle,n={height:e.flyoutHeight,width:e.flyoutWidth};return{style:t,flyoutStyle:i,labelSize:zd(r,t),flyoutDimensions:n,flyoutCenter:this.getFlyoutCenter(e,n),transform:this.getTransform(e)}}},{key:"getTransform",value:function(e){var t=e.x,r=e.y,i=(e.style||{}).angle||e.angle||this.getDefaultAngle(e);return i?"rotate(".concat(i," ").concat(t," ").concat(r,")"):void 0}},{key:"getDefaultAngle",value:function(e){var t=e.polar,r=e.labelPlacement,i=e.orientation,n=e.datum;if(!t||!r||"vertical"===r)return 0;var o=bc(e,n),a=0;return 0===o||180===o?a="top"===i&&180===o?270:90:o>0&&o<180?a=90-o:o>180&&o<360&&(a=270-o),a+(o>90&&o<180||o>270?1:-1)*("perpendicular"===r?0:90)}},{key:"constrainTooltip",value:function(e,t,r){var i=e.x,n=e.y,o=r.width,a=r.height,s=[0,t.width],l=[0,t.height],d=[i-o/2,i+o/2],c=[n-a/2,n+a/2],p=[d[0]s[1]?d[1]-s[1]:0],u=[c[0]l[1]?c[1]-l[1]:0];return{x:Math.round(i+p[0]-p[1]),y:Math.round(n+u[0]-u[1])}}},{key:"getFlyoutCenter",value:function(e,t){var r=e.x,i=e.y,n=e.dx,o=e.dy,a=e.pointerLength,s=e.orientation,l=e.constrainToVisibleArea,d=e.centerOffset,c=t.height,p=t.width,u="left"===s?-1:1,h="bottom"===s?-1:1,m={x:"left"===s||"right"===s?r+u*(a+p/2+u*n):r+n,y:"top"===s||"bottom"===s?i-h*(a+c/2-h*o):i+o},f=Vt()(e.center)&&void 0!==e.center.x?e.center.x:m.x,g=Vt()(e.center)&&void 0!==e.center.y?e.center.y:m.y,b={x:f+d.x,y:g+d.y};return l?this.constrainTooltip(b,e,t):b}},{key:"getLabelPadding",value:function(e){if(!e)return 0;var t,r=Array.isArray(e)?e.map((function(e){return e.padding})):[e.padding];return Math.max.apply(Math,(t=r,function(e){if(Array.isArray(e))return VC(e)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return VC(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?VC(e,t):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([0]))}},{key:"getDimensions",value:function(e,t){var r,i,n,o,a=e.orientation,s=e.pointerLength,l=e.pointerWidth,d=e.flyoutHeight,c=e.flyoutWidth,p=e.flyoutPadding,u=R(e.cornerRadius,e);return{flyoutHeight:d?R(d,e):(n=t.height+p.top+p.bottom,o="top"===a||"bottom"===a?2*u:2*u+l,Math.max(o,n)),flyoutWidth:c?R(c,e):(r=t.width+p.left+p.right,i="left"===a||"right"===a?2*u+s:2*u,Math.max(i,r))}}},{key:"getLabelProps",value:function(e,t){var r=t.flyoutCenter,i=t.style,n=t.labelSize,o=t.dy,a=void 0===o?0:o,s=t.dx,l=void 0===s?0:s,d=e.text,c=e.datum,p=e.activePoints,u=e.labelComponent,h=e.index,m=e.flyoutPadding,f=(Array.isArray(i)&&i.length?i[0].textAnchor:i.textAnchor)||"middle";return g()({},u.props,{key:"".concat(this.id,"-label-").concat(h),text:d,datum:c,activePoints:p,textAnchor:f,dy:a,dx:l,style:i,x:function(){if(!f||"middle"===f)return r.x;var e="end"===f?-1:1;return r.x-e*(n.width/2)}()+(m.left-m.right)/2,y:r.y+(m.top-m.bottom)/2,verticalAnchor:"middle",angle:i.angle})}},{key:"getPointerOrientation",value:function(e,t,r){var i=t.y+r.height/2,n=t.y-r.height/2,o=t.x-r.width/2,a=t.x+r.width/2,s=[{side:"top",val:n>e.y?n-e.y:-1},{side:"bottom",val:ie.x?o-e.x:-1}];return nr()(s,"val","desc")[0].side}},{key:"getFlyoutProps",value:function(e,t){var r=t.flyoutDimensions,i=t.flyoutStyle,n=t.flyoutCenter,o=e.x,a=e.y,s=e.dx,l=e.dy,d=e.datum,c=e.activePoints,p=e.index,u=e.pointerLength,h=e.pointerWidth,m=e.cornerRadius,f=e.events,b=e.flyoutComponent,y=R(e.pointerOrientation,e);return g()({},b.props,{x:o,y:a,dx:s,dy:l,datum:d,activePoints:c,index:p,pointerLength:u,pointerWidth:h,cornerRadius:m,events:f,orientation:y||this.getPointerOrientation({x:o,y:a},n,r),key:"".concat(this.id,"-tooltip-").concat(p),width:r.width,height:r.height,style:i,center:n})}},{key:"renderTooltip",value:function(e){var t=R(e.active,e),r=e.renderInPortal;if(!t)return r?d().createElement(ic,null):null;var i=this.getEvaluatedProps(e),n=i.flyoutComponent,o=i.labelComponent,a=i.groupComponent,s=this.getCalculatedValues(i),l=[d().cloneElement(n,this.getFlyoutProps(i,s)),d().cloneElement(o,this.getLabelProps(i,s))],c=d().cloneElement(a,{role:"presentation",transform:s.transform},l);return r?d().createElement(ic,null,c):c}},{key:"render",value:function(){var e=F(this.props,QC,"tooltip");return this.renderTooltip(e)}}],r&&GC(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(d().Component);YC.displayName="VictoryTooltip",YC.role="tooltip",YC.defaultProps={active:!1,renderInPortal:!0,labelComponent:d().createElement(Bc,null),flyoutComponent:d().createElement(HC,null),groupComponent:d().createElement("g",null)},YC.defaultEvents=function(e){var t=e.activateData?[{target:"labels",mutation:function(){return{active:!0}}},{target:"data",mutation:function(){return{active:!0}}}]:[{target:"labels",mutation:function(){return{active:!0}}}],r=e.activateData?[{target:"labels",mutation:function(){return{active:void 0}}},{target:"data",mutation:function(){return{active:void 0}}}]:[{target:"labels",mutation:function(){return{active:void 0}}}];return[{target:"data",eventHandlers:{onMouseOver:function(){return t},onFocus:function(){return t},onTouchStart:function(){return t},onMouseOut:function(){return r},onBlur:function(){return r},onTouchEnd:function(){return r}}}]};const ZC=e=>{var{constrainToVisibleArea:t=!1,labelComponent:r=l.createElement(Bb,null),labelTextAnchor:i,themeColor:n,themeVariant:o,theme:a=If(n)}=e,d=(0,s.Tt)(e,["constrainToVisibleArea","labelComponent","labelTextAnchor","themeColor","themeVariant","theme"]);const c=l.cloneElement(r,Object.assign({textAnchor:i,theme:a},r.props));return l.createElement(YC,Object.assign({constrainToVisibleArea:t,labelComponent:c,theme:a},d))};ZC.displayName="ChartTooltip",p()(ZC,YC);const XC=({allowTooltip:e=!0,ariaDesc:t,ariaTitle:r,barWidth:i=Eb.comparativeMeasureWidth,constrainToVisibleArea:n=!1,data:o,domain:a,horizontal:s=!0,labels:d,measureComponent:c=l.createElement(sC,null),padding:p,standalone:u=!0,themeColor:h,themeVariant:m,y:f,theme:g=gf(h),height:b=g.bar.height,width:y=g.bar.width,labelComponent:v=l.createElement(ZC,null)})=>{const w=PC({data:o,theme:g,y:f}),A=l.cloneElement(v,Object.assign({constrainToVisibleArea:n,dx:()=>s?0:("function"==typeof i?i(o):i)/2,dy:()=>s?-("function"==typeof i?i(o):i)/2:0,orientation:"top"},v.props)),C=w.map(((t,r)=>l.cloneElement(c,Object.assign({barWidth:i,data:[Object.assign({},t)],domain:a,height:b,horizontal:s,labelComponent:e?A:void 0,labels:d,key:`pf-chart-bullet-comparative-measure-${r}`,padding:p,standalone:!1,theme:g,width:y},c.props))));return u?l.createElement(Df,{desc:t,height:b,title:r,width:y},C):l.createElement(l.Fragment,null,C)};XC.displayName="ChartBulletComparativeMeasure",p()(XC,aC);const $C=({allowTooltip:e=!0,ariaDesc:t,ariaTitle:r,barWidth:i,constrainToVisibleArea:n=!1,data:o,domain:a,horizontal:s=!0,labelComponent:d,labels:c,measureComponent:p=l.createElement(XC,null),padding:u,standalone:h=!0,themeColor:m,themeVariant:f,y:g,theme:b=ff(m),height:y=b.bar.height,width:v=b.bar.width})=>{const w=l.cloneElement(p,Object.assign({allowTooltip:e,ariaDesc:t,ariaTitle:r,barWidth:i,constrainToVisibleArea:n,data:o,domain:a,height:y,horizontal:s,labelComponent:d,labels:c,padding:u,standalone:!1,theme:b,width:v,y:g},p.props));return h?l.createElement(Df,{desc:t,height:y,title:r,width:v},w):l.createElement(l.Fragment,null,w)};$C.displayName="ChartBulletComparativeErrorMeasure",p()($C,aC);const ek=({allowTooltip:e=!0,ariaDesc:t,ariaTitle:r,barWidth:i,constrainToVisibleArea:n=!1,data:o,domain:a,horizontal:s=!0,labelComponent:d,labels:c,measureComponent:p=l.createElement(XC,null),padding:u,standalone:h=!0,themeColor:m,themeVariant:f,y:g,theme:b=bf(m),height:y=b.bar.height,width:v=b.bar.width})=>{const w=l.cloneElement(p,Object.assign({allowTooltip:e,ariaDesc:t,ariaTitle:r,barWidth:i,constrainToVisibleArea:n,data:o,domain:a,height:y,horizontal:s,labelComponent:d,labels:c,padding:u,standalone:!1,theme:b,width:v,y:g},p.props));return h?l.createElement(Df,{desc:t,height:y,title:r,width:v},w):l.createElement(l.Fragment,null,w)};ek.displayName="ChartBulletComparativeWarningMeasure",p()(ek,aC);var tk=["desc","id","tabIndex","origin"];function rk(){return rk=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,tk)),s=function(e){for(var t=1;t{const g={bottom:Jb("bottom",o,h.chart.padding),left:Jb("left",o,h.chart.padding),right:Jb("right",o,h.chart.padding),top:Jb("top",o,h.chart.padding)},b=Jb("bottom",o,Number(h.legend.style.labels.padding)),y=(Jb("left",o,Number(h.legend.style.labels.padding)),Jb("right",o,Number(h.legend.style.labels.padding)),Jb("top",o,Number(h.legend.style.labels.padding))),v=Boolean(p)&&l.createElement(l.Fragment,null,(()=>{const e=u?u.props:{},t=p&&s;return l.cloneElement(u,Object.assign(Object.assign(Object.assign(Object.assign({},t&&{capHeight:r}),n&&{id:()=>`${n}-${u.type.displayName}`}),{style:[Eb.label.groupTitle,Eb.label.subTitle],text:t?[p,s]:p,textAnchor:"middle",verticalAnchor:"middle",x:oy({chartWidth:f,labelPosition:"top"}),y:ay({chartHeight:m,dy:g.top,labelPosition:"top"})}),e))})(),(()=>{const e=dy({text:p,theme:h}),t=dy({text:s,theme:h}),r=p&&s?e.height+t.height+y+b:e.height+y+b;return l.cloneElement(i,Object.assign({x1:g.left,x2:f-g.right,y1:g.top+r,y2:g.top+r,style:h.line.style.data},i.props))})());return a?l.createElement(Df,{desc:e,height:m,title:t,width:f},v):l.createElement(l.Fragment,null,v)};function sk(e){return function(e){if(Array.isArray(e))return lk(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return lk(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lk(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lk(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r{var{containerComponent:t=l.createElement(Df,null),themeColor:r,themeVariant:i,theme:n=If(r),size:o=(({active:e})=>e?Mb.activeSize:Mb.size)}=e,a=(0,s.Tt)(e,["containerComponent","themeColor","themeVariant","theme","size"]);const d=l.cloneElement(t,Object.assign({theme:n},t.props));return l.createElement(bk,Object.assign({containerComponent:d,size:o,theme:n},a))};yk.displayName="ChartScatter",p()(yk,bk);const vk=({allowTooltip:e=!0,ariaDesc:t,ariaTitle:r,constrainToVisibleArea:i=!1,data:n,domain:o,horizontal:a=!0,invert:s=!1,labels:d,measureComponent:c=l.createElement(yk,null),padding:p,size:u=Eb.primaryDotMeasureSize,standalone:h=!0,themeColor:m,themeVariant:f,y:g,y0:b,theme:y=vf(m),labelComponent:v=l.createElement(ZC,null),height:w=y.group.height,width:A=y.group.width})=>{const C=MC({data:n,invert:s,theme:y,y:g,y0:b}),k=l.cloneElement(v,Object.assign({constrainToVisibleArea:i,dx:0,dy:a?-u:0,orientation:"top"},v.props)),x=C.map(((t,r)=>l.cloneElement(c,Object.assign({data:[Object.assign({},t)],domain:o,height:w,horizontal:a,key:`pf-chart-bullet-primary-dot-measure-${r}`,labelComponent:e?k:void 0,labels:d,padding:p,size:u,standalone:!1,style:{data:{fill:t._color}},theme:y,width:A},c.props))));return h?l.createElement(Df,{desc:t,height:w,title:r,width:A},x):l.createElement(l.Fragment,null,x)};vk.displayName="ChartBulletPrimaryDotMeasure",p()(vk,bk);const wk=({allowTooltip:e=!0,ariaDesc:t,ariaTitle:r,barWidth:i=Eb.primarySegmentedMeasureWidth,constrainToVisibleArea:n=!1,data:o,domain:a,horizontal:s=!0,invert:d=!1,labels:c,measureComponent:p=l.createElement(sC,null),padding:u,standalone:h=!0,themeColor:m,themeVariant:f,y:g,y0:b,theme:y=Af(m),negativeMeasureTheme:v=wf(m),height:w=y.group.height,width:A=y.group.width,labelComponent:C=l.createElement(ZC,null)})=>{const k=RC({data:o,invert:d,negativeMeasureTheme:v,theme:y,y:g,y0:b}),x=l.cloneElement(C,Object.assign({constrainToVisibleArea:n,dx:()=>s?0:("function"==typeof i?i(o):i)/2,dy:()=>s?-("function"==typeof i?i(o):i)/2:0,orientation:"top"},C.props)),S=k.map(((t,r)=>l.cloneElement(p,Object.assign({barWidth:i,data:[Object.assign({},t)],domain:a,height:w,horizontal:s,key:`pf-chart-bullet-primary-segmented-measure-${r}`,labelComponent:e?x:void 0,labels:c,padding:u,standalone:!1,style:{data:{fill:t._color}},theme:y,width:A},p.props))));return h?l.createElement(Df,{desc:t,height:w,title:r,width:A},S):l.createElement(l.Fragment,null,S)};wk.displayName="ChartBulletPrimarySegmentedMeasure",p()(wk,aC);const Ak=({allowTooltip:e=!0,ariaDesc:t,ariaTitle:r,barWidth:i=Eb.qualitativeRangeWidth,constrainToVisibleArea:n=!1,data:o,domain:a,horizontal:s=!0,invert:d=!1,labels:c,measureComponent:p=l.createElement(sC,null),padding:u,standalone:h=!0,themeColor:m,themeVariant:f,y:g,y0:b,theme:y=Cf(m),height:v=y.group.height,width:w=y.group.width,labelComponent:A=l.createElement(ZC,null)})=>{const C=DC({data:o,invert:d,theme:y,y:g,y0:b}),k=l.cloneElement(A,Object.assign({constrainToVisibleArea:n,dx:()=>s?0:("function"==typeof i?i(o):i)/2,dy:()=>s?-("function"==typeof i?i(o):i)/2:0,orientation:"top"},A.props)),x=C.map(((t,r)=>l.cloneElement(p,Object.assign({barWidth:i,data:[Object.assign({},t)],domain:a,height:v,horizontal:s,key:`pf-chart-bullet-qualitative-range-${r}`,labelComponent:e?k:void 0,labels:c,padding:u,standalone:!1,style:{data:{fill:t._color}},theme:y,width:w},p.props))));return h?l.createElement(Df,{desc:t,height:v,title:r,width:w},x):l.createElement(l.Fragment,null,x)};Ak.displayName="ChartBulletQualitativeRange",p()(Ak,aC);const Ck=({ariaDesc:e,ariaTitle:t,capHeight:r=1.1,horizontal:i=!0,legendPosition:n="bottom",name:o,padding:a,standalone:s=!0,subTitle:d,themeColor:c,themeVariant:p,title:u,titleComponent:h=l.createElement(Bb,null),titlePosition:m,theme:f=mf(c),height:g=(i?f.chart.height:f.chart.width),width:b=(i?f.chart.width:f.chart.height)})=>{const y={height:i?f.chart.height:g,width:i?b:f.chart.height},v={bottom:Jb("bottom",a,f.chart.padding),left:Jb("left",a,f.chart.padding),right:Jb("right",a,f.chart.padding),top:Jb("top",a,f.chart.padding)},w=()=>{const e=u&&d;let t=i?"left":"bottom";m&&m.includes("left")&&i&&(t=m);let a="middle";"top-left"===t?a="start":i&&(a="end");let s=2*Tb.legend.margin-v.bottom;if("top-left"===t){const t=e?0:1;s=.5*v.top+(.5*v.bottom-v.bottom)+58-Tb.legend.margin+t}else i&&(s=.5*v.top+(.5*v.bottom-v.bottom));return l.cloneElement(h,Object.assign(Object.assign(Object.assign(Object.assign({},e&&{capHeight:r}),o&&{id:()=>`${o}-${h.type.displayName}`}),{style:[Eb.label.title,Eb.label.subTitle],text:e?[u,d]:u,textAnchor:a,verticalAnchor:"top-left"===t?"end":"middle",x:i?oy({chartWidth:y.width,dx:"top-left"===t?v.left:v.left-1.75*Tb.label.margin,labelPosition:"left",legendPosition:n,svgWidth:b}):.5*v.left+(.5*v.right-(v.right-50))+Eb.qualitativeRangeWidth/2,y:ay({chartHeight:y.height,dy:s,labelPosition:t})}),h.props))};return s?l.createElement(Df,{desc:e,height:g,title:t,width:b},w()):l.createElement(l.Fragment,null,w())};Ck.displayName="ChartBulletTitle";const kk=({allowTooltip:e=!0,ariaDesc:t,ariaTitle:r,axisComponent:i=l.createElement(qA,null),comparativeErrorMeasureComponent:n=l.createElement($C,null),comparativeErrorMeasureData:o,comparativeErrorMeasureDataY:a,comparativeErrorMeasureLegendData:s,comparativeWarningMeasureComponent:d=l.createElement(ek,null),comparativeWarningMeasureData:c,comparativeWarningMeasureDataY:p,comparativeWarningMeasureLegendData:u,comparativeZeroMeasureComponent:h=l.createElement(XC,null),constrainToVisibleArea:m=!1,groupTitleComponent:f=l.createElement(ak,null),groupSubTitle:g,groupTitle:b,horizontal:y=!0,invert:v=!1,labels:w,legendAllowWrap:A=!1,legendComponent:C=l.createElement(Gb,null),legendItemsPerRow:k,legendPosition:x="bottom",maxDomain:S,minDomain:T,name:E,padding:_,primaryDotMeasureComponent:I=l.createElement(vk,null),primaryDotMeasureData:P,primaryDotMeasureDataY:M,primaryDotMeasureLegendData:R,primarySegmentedMeasureComponent:D=l.createElement(wk,null),primarySegmentedMeasureData:B,primarySegmentedMeasureDataY:O,primarySegmentedMeasureLegendData:q,qualitativeRangeComponent:N=l.createElement(Ak,null),qualitativeRangeData:L,qualitativeRangeDataY:j,qualitativeRangeDataY0:F,qualitativeRangeLegendData:H,standalone:V=!0,subTitle:z,themeColor:W,themeVariant:U,title:G,titleComponent:J=l.createElement(Ck,null),titlePosition:K,theme:Q=OC({comparativeErrorMeasureData:o,comparativeErrorMeasureLegendData:s,comparativeWarningMeasureData:c,comparativeWarningMeasureLegendData:u,invert:v,primaryDotMeasureData:P,primaryDotMeasureLegendData:R,primarySegmentedMeasureData:B,primarySegmentedMeasureLegendData:q,qualitativeRangeData:L,qualitativeRangeLegendData:H,themeColor:W}),domain:Y=IC({comparativeErrorMeasureComponent:n,comparativeErrorMeasureData:o,comparativeWarningMeasureComponent:d,comparativeWarningMeasureData:c,maxDomain:S,minDomain:T,primaryDotMeasureComponent:I,primaryDotMeasureData:P,primarySegmentedMeasureComponent:D,primarySegmentedMeasureData:B,qualitativeRangeComponent:N,qualitativeRangeData:L}),legendOrientation:Z=Q.legend.orientation,height:X=(y?Q.chart.height:Q.chart.width),width:$=(y?Q.chart.width:Q.chart.height),bulletSize:ee=Q.chart.height})=>{const te={height:y?ee:X,width:y?$:ee},re={bottom:Jb("bottom",_,Q.chart.padding),left:Jb("left",_,Q.chart.padding),right:Jb("right",_,Q.chart.padding),top:Jb("top",_,Q.chart.padding)},ie=l.cloneElement(f,Object.assign(Object.assign(Object.assign({height:X},E&&{name:`${E}-${f.type.displayName}`}),{standalone:!1,subTitle:g,title:b,width:$}),f.props)),ne=l.cloneElement(J,Object.assign(Object.assign(Object.assign({height:X,horizontal:y,legendPosition:x},E&&{name:`${E}-${J.type.displayName}`}),{padding:_,standalone:!1,subTitle:z,theme:Q,title:G,titlePosition:K,width:$}),J.props)),oe=l.cloneElement(n,Object.assign({allowTooltip:e,barWidth:cC({height:te.height,horizontal:y,width:te.width}),constrainToVisibleArea:m,data:o,domain:Y,height:te.height,horizontal:y,labelComponent:e?l.createElement(ZC,{height:X,theme:Q,width:$}):void 0,labels:w,padding:_,standalone:!1,width:te.width,y:a},n.props)),ae=l.cloneElement(d,Object.assign({allowTooltip:e,barWidth:uC({height:te.height,horizontal:y,width:te.width}),constrainToVisibleArea:m,data:c,domain:Y,height:te.height,horizontal:y,labelComponent:e?l.createElement(ZC,{height:X,theme:Q,width:$}):void 0,labels:w,padding:_,standalone:!1,width:te.width,y:p},d.props)),se=l.cloneElement(h,Object.assign({barWidth:pC({height:te.height,horizontal:y,width:te.width}),data:[{y:0}],domain:Y,height:te.height,horizontal:y,padding:_,standalone:!1,width:te.width},h.props)),le=l.cloneElement(C,Object.assign(Object.assign(Object.assign({data:[...R||[],...q||[],...u||[],...s||[],...H||[]]},E&&{name:`${E}-${C.type.displayName}`}),{itemsPerRow:k,orientation:Z,position:x,theme:Q}),C.props)),de=l.cloneElement(I,Object.assign({allowTooltip:e,constrainToVisibleArea:m,data:P,domain:Y,height:te.height,horizontal:y,invert:v,labelComponent:e?l.createElement(ZC,{height:X,theme:Q,width:$}):void 0,labels:w,padding:_,size:hC({height:te.height,horizontal:y,width:te.width}),standalone:!1,themeColor:W,width:te.width,y:M},I.props)),ce=l.cloneElement(D,Object.assign({allowTooltip:e,constrainToVisibleArea:m,barWidth:mC({height:te.height,horizontal:y,width:te.width}),data:B,domain:Y,height:te.height,horizontal:y,invert:v,labelComponent:e?l.createElement(ZC,{height:X,theme:Q,width:$}):void 0,labels:w,padding:_,standalone:!1,themeColor:W,width:te.width,y:O},D.props)),pe=l.cloneElement(N,Object.assign({allowTooltip:e,constrainToVisibleArea:m,barWidth:fC({height:te.height,horizontal:y,width:te.width}),data:L,domain:Y,height:te.height,horizontal:y,invert:v,labelComponent:e?l.createElement(ZC,{height:X,theme:Q,width:$}):void 0,labels:w,padding:_,standalone:!1,width:te.width,y:j,y0:F},N.props)),ue=l.cloneElement(i,Object.assign(Object.assign(Object.assign({dependentAxis:!y,domain:y?{x:Y.y,y:Y.x}:Y,height:te.height},E&&{name:`${E}-${i.type.displayName}`}),{offsetX:y?0:.5*re.left+(.5*re.right-(re.right-55)),offsetY:y?80-.5*re.top+(.5*re.bottom-25):0,padding:_,standalone:!1,tickCount:Eb.axisTickCount,tickValues:((e,t)=>{const r=[e,t];let i=0;i=e<0&&t<0?Math.abs(e-t):e<0?Math.abs(e)+t:t-e;const n=i/(Eb.axisTickCount-1);for(let i=e;i{const e=Y;let t=0;Array.isArray(e)?t=e[0]:e.y&&Array.isArray(e.y)&&(t=e.y[0]);let r=0;return Array.isArray(e)?r=e[e.length-1]:e.y&&Array.isArray(e.y)&&(r=e.y[e.y.length-1]),t<0&&r>0?se:null})(),(()=>{if(!le.props.data)return null;let e=0,t=0;return x===Wb.bottom?t=y?.5*re.top+(.5*re.bottom-re.bottom)-25:G?60-re.bottom:-re.bottom:x===Wb.bottomLeft&&(t=y?.5*re.top+(.5*re.bottom-re.bottom)-25:G?60-re.bottom:-re.bottom,e=-10),cy({allowWrap:A,chartType:"bullet",dx:e,dy:t,height:te.height,legendComponent:le,padding:re,position:x,theme:Q,width:te.width})})());return V?l.createElement(Df,{desc:t,height:X,title:r,theme:Q,width:$},he):l.createElement(l.Fragment,null,he)};kk.displayName="ChartBullet",p()(kk,sh);var xk={dataProps:{categories:dh().oneOfType([dh().arrayOf(dh().string),dh().shape({x:dh().arrayOf(dh().string),y:dh().arrayOf(dh().string)})]),data:dh().oneOfType([dh().array,dh().object]),dataComponent:dh().element,disableInlineStyles:dh().bool,labelComponent:dh().element,labels:dh().oneOfType([dh().func,dh().array]),samples:Mh,sortKey:dh().oneOfType([dh().func,Ph([Rh,Mh]),dh().string,dh().arrayOf(dh().string.isRequired)]),sortOrder:dh().oneOf(["ascending","descending"]),style:dh().shape({parent:dh().object,data:dh().object,labels:dh().object}),x:dh().oneOfType([dh().func,Ph([Rh,Mh]),dh().string,dh().arrayOf(dh().string.isRequired)]),y:dh().oneOfType([dh().func,Ph([Rh,Mh]),dh().string,dh().arrayOf(dh().string.isRequired)]),y0:dh().oneOfType([dh().func,Ph([Rh,Mh]),dh().string,dh().arrayOf(dh().string.isRequired)])},baseProps:{animate:dh().oneOfType([dh().bool,dh().object]),containerComponent:dh().element,domain:dh().oneOfType([Dh,dh().shape({x:Dh,y:Dh})]),maxDomain:dh().oneOfType([dh().number,dh().instanceOf(Date),dh().shape({x:dh().oneOfType([dh().number,dh().instanceOf(Date)]),y:dh().oneOfType([dh().number,dh().instanceOf(Date)])})]),minDomain:dh().oneOfType([dh().number,dh().instanceOf(Date),dh().shape({x:dh().oneOfType([dh().number,dh().instanceOf(Date)]),y:dh().oneOfType([dh().number,dh().instanceOf(Date)])})]),domainPadding:dh().oneOfType([dh().shape({x:dh().oneOfType([dh().number,dh().arrayOf(dh().number)]),y:dh().oneOfType([dh().number,dh().arrayOf(dh().number)])}),dh().number,dh().arrayOf(dh().number)]),eventKey:dh().oneOfType([dh().func,Ph([Rh,Mh]),dh().string]),events:dh().arrayOf(dh().shape({target:dh().oneOf(["data","labels","parent"]),eventKey:dh().oneOfType([dh().array,Ph([Rh,Mh]),dh().string]),eventHandlers:dh().object})),externalEventMutations:dh().arrayOf(dh().shape({callback:dh().func,childName:dh().oneOfType([dh().string,dh().array]),eventKey:dh().oneOfType([dh().array,Ph([Rh,Mh]),dh().string]),mutation:dh().func,target:dh().oneOfType([dh().string,dh().array])})),groupComponent:dh().element,height:Mh,name:dh().string,origin:dh().shape({x:dh().number,y:dh().number}),padding:dh().oneOfType([dh().number,dh().shape({top:dh().number,bottom:dh().number,left:dh().number,right:dh().number})]),polar:dh().bool,range:dh().oneOfType([Dh,dh().shape({x:Dh.isRequired,y:Dh.isRequired})]),scale:dh().oneOfType([Bh,dh().shape({x:Bh.isRequired,y:Bh.isRequired})]),sharedEvents:dh().shape({events:dh().array,getEventState:dh().func}),singleQuadrantDomainPadding:dh().oneOfType([dh().bool,dh().shape({x:dh().oneOfType([dh().bool]),y:dh().oneOfType([dh().bool])})]),standalone:dh().bool,theme:dh().object,width:Mh},primitiveProps:{active:dh().bool,ariaLabel:dh().oneOfType([dh().string,dh().func]),className:dh().string,clipPath:dh().string,data:dh().oneOfType([dh().array,dh().object]),desc:dh().oneOfType([dh().string,dh().func]),disableInlineStyles:dh().bool,events:dh().object,id:dh().oneOfType([dh().number,dh().string,dh().func]),index:dh().oneOfType([dh().number,dh().string]),origin:dh().shape({x:dh().number,y:dh().number}),polar:dh().bool,role:dh().string,scale:dh().oneOfType([Bh,dh().shape({x:Bh,y:Bh})]),shapeRendering:dh().string,style:dh().object,tabIndex:dh().oneOfType([dh().number,dh().func]),transform:dh().string}};function Sk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function Tk(e){for(var t=1;t0}(e)?e.changedTouches[0]:e,i=function(e){return e.getScreenCTM().inverse()}(t||qk(r));return{x:Bk(r.clientX,i,"x"),y:Bk(r.clientY,i,"y")}}function Lk(e,t){var r=e.horizontal,i=e.scale,n=t||{x:i.x.domain(),y:i.y.domain()};return{x:r?[i.y(n.y[0]),i.y(n.y[1])]:[i.x(n.x[0]),i.x(n.x[1])],y:r?[i.x(n.x[0]),i.x(n.x[1])]:[i.y(n.y[0]),i.y(n.y[1])]}}function jk(e,t,r,i){var n=e.polar,o=e.horizontal;if(!n)return{x:o?t.x.invert(i):t.x.invert(r),y:o?t.y.invert(r):t.y.invert(i)};var a=e.origin||{x:0,y:0},s=r-a.x,l=i-a.y,d=Math.abs(s*Math.sqrt(1+Math.pow(-l/s,2))),c=(-Math.atan2(l,s)+2*Math.PI)%(2*Math.PI);return{x:t.x.invert(c),y:t.y.invert(d)}}function Fk(e){var t=e.x1,r=e.x2,i=e.y1,n=e.y2,o=e.scale,a=jk(e,o,t,i),s=jk(e,o,r,n),l=function(e,t){return[Tt([e,t]),St([e,t])]};return{x:l(a.x,s.x),y:l(a.y,s.y)}}function Hk(e,t){for(var r=0;r=Math.min(i,n)&&l<=Math.max(i,n)&&d>=Math.min(o,a)&&d<=Math.max(o,a)}}],r&&Hk(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e}(),zk=new Vk;function Wk(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function Uk(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,i=new Array(t);r{var{className:t,cursorComponent:r=l.createElement(Ik,null),themeColor:i,themeVariant:n,theme:o=If(i),cursorLabelComponent:a=l.createElement(Bb,null)}=e,d=(0,s.Tt)(e,["className","cursorComponent","themeColor","themeVariant","theme","cursorLabelComponent"]);const c=Rf({className:t}),p=l.cloneElement(a,Object.assign({theme:o},a.props)),u=l.cloneElement(r,Object.assign({style:{strokeColor:Pm}},r.props));return l.createElement($k,Object.assign({className:c,cursorComponent:u,cursorLabelComponent:p,theme:o},d))};ex.displayName="ChartCursorContainer",ex.defaultProps=$k.defaultProps,p()(ex,$k);const tx=e=>{const t=e.orientation||"top";return"left"===t||"right"===t?(e=>{const{pointerWidth:t,cornerRadius:r,orientation:i,width:n,height:o,center:a}=e,s="left"===i?1:-1,l=Vt()(a)&&a.x,d=Vt()(a)&&a.y,c=l-s*(n/2),p=l+s*(n/2),u=d+o/2,h=d-o/2,m="left"===i?c-e.pointerLength+(e.dx||0):c+e.pointerLength+(e.dx||0),f=a.y+(e.dy||0),g=s*(m-c)>0?0:e.pointerLength,b=`${r} ${r} ${"left"===i?"0 0 0":"0 0 1"}`;return`M ${c}, ${d-t/2}\n L ${g?m:c}, ${g?f:d+t/2}\n L ${c}, ${d+t/2}\n L ${c}, ${u-r}\n A ${b} ${c+s*r}, ${u}\n L ${p-s*r}, ${u}\n A ${b} ${p}, ${u-r}\n L ${p}, ${h+r}\n A ${b} ${p-s*r}, ${h}\n L ${c+s*r}, ${h}\n A ${b} ${c}, ${h+r}\n z`})(e):(e=>{const{pointerWidth:t,cornerRadius:r,orientation:i,width:n,height:o,center:a}=e,s="bottom"===i?1:-1,l=Vt()(a)&&a.x,d=Vt()(a)&&a.y,c=d+s*(o/2),p=d-s*(o/2),u=l+n/2,h=l-n/2,m=a.x+(e.dx||0),f="bottom"===i?c+e.pointerLength+(e.dy||0):c-e.pointerLength+(e.dy||0),g=s*(f-c)<0?0:e.pointerLength,b=`${r} ${r} ${"bottom"===i?"0 0 0":"0 0 1"}`;return`M ${l-t/2}, ${c}\n L ${g?m:l+t/2}, ${g?f:c}\n L ${l+t/2}, ${c}\n L ${u-r}, ${c}\n A ${b} ${u}, ${c-s*r}\n L ${u}, ${p+s*r}\n A ${b} ${u-r}, ${p}\n L ${h+r}, ${p}\n A ${b} ${h}, ${p+s*r}\n L ${h}, ${c-s*r}\n A ${b} ${h+r}, ${c}\n z`})(e)},rx=e=>(e=(e=>{const t=bh(e.id,e),r=yh(e.style,e);return Object.assign({},e,{id:t,style:r})})(e),l.cloneElement(e.pathComponent,Object.assign(Object.assign({},e.events),{style:e.style,d:tx(e),className:e.className,shapeRendering:e.shapeRendering,role:e.role,transform:e.transform,clipPath:e.clipPath})));rx.propTypes=Object.assign(Object.assign({},xk.primitiveProps),{center:dh().shape({x:dh().number,y:dh().number}),cornerRadius:dh().number,datum:dh().object,dx:dh().number,dy:dh().number,height:dh().number,orientation:dh().oneOf(["top","bottom","left","right"]),pathComponent:dh().element,pointerLength:dh().number,pointerWidth:dh().number,width:dh().number,x:dh().number,y:dh().number}),rx.defaultProps={pathComponent:l.createElement(jb,null),role:"presentation",shapeRendering:"auto"};const ix="var(--pf-chart-color-black-500, #6a6e73)",nx=({offsetCursorDimensionX:e=!1,offsetCursorDimensionY:t=!1,theme:r})=>{const i=r&&r.tooltip?bh(r.tooltip.pointerLength):10;return{x:e?({center:e,flyoutWidth:t,width:r})=>{const n=t/2+i;return r>e.x+t+i?n:-n}:0,y:t?({center:e,flyoutHeight:t,width:r})=>{const n=t/2+i;return r>e.y+t+i?-n:n}:0}},ox=({horizontal:e=!0,theme:t})=>{const r=t&&t.tooltip?bh(t.tooltip.pointerLength):10;return e?({center:e,flyoutWidth:t,width:i})=>i>e.x+t+r?"left":"right":({center:e,flyoutHeight:t,height:i})=>i>e.y+t+r?"top":"bottom"},ax=e=>sm()({borderPadding:0,gutter:0,orientation:"vertical",padding:0,rowGutter:0,style:{labels:{fill:Pb.label.fill,lineHeight:.275,padding:0},title:{fill:Pb.label.fill,padding:0}}},Object.assign({},e)),sx=({legendData:e,legendOrientation:t="vertical",legendProps:r,text:i="",theme:n})=>{const o=bh(i),a=Array.isArray(o)?o:[o];let s=0,l=0;a.map(((t,r)=>{t&&(t.length>l&&(l=t.length),e&&e[r]&&e[r].name&&e[r].name.length>s&&(s=e[r].name.length))}));let d=s+l;s<20&&(d+=2);const c=a.map(((t,r)=>{const i=e&&e[r]&&e[r].name,n=i?((e,t)=>{let r="";if(0===d)return r;const i=(e?e.length:0)+(t?t.length:0);for(;r.length({name:e.name.replace(/ /g,"x")}))),p=py({legendData:c,legendOrientation:t,legendProps:r,theme:n});return{height:py({legendData:a.map((e=>({name:e}))),legendOrientation:t,legendProps:r,theme:n}).height,width:p.width>0?p.width:0}},lx=({activePoints:e,colorScale:t,legendData:r,patternScale:i,text:n,textAsLegendData:o=!1,theme:a})=>{const s=bh(n),l=Array.isArray(s)?s:[s],d=[];if(r){let n=-1;for(let s=0;se.childName===c.childName))&&(!c.symbol||"eyeSlash"!==c.symbol.type||c.symbol.fill!==ix)&&n++{const i=bh(r),n=Array.isArray(i)?i:[i],o=[];if(t){let r=-1;for(const i of t)!e||!e.find((e=>e.childName===i.childName))||i.symbol&&"eyeSlash"===i.symbol.type&&i.symbol.fill===ix||r++{var{constrainToVisibleArea:t=!0,flyoutComponent:r=l.createElement(rx,null),labelTextAnchor:i="start",showPointer:n=!0,style:o,themeColor:a,themeVariant:d,theme:c=If(a),centerOffset:p=nx({offsetCursorDimensionX:!0,theme:c}),pointerOrientation:u=ox({horizontal:!0,theme:c}),pointerLength:h=(n&&c&&c.tooltip?c.tooltip.pointerLength:0),pointerWidth:m=c.tooltip.pointerWidth}=e,f=(0,s.Tt)(e,["constrainToVisibleArea","flyoutComponent","labelTextAnchor","showPointer","style","themeColor","themeVariant","theme","centerOffset","pointerOrientation","pointerLength","pointerWidth"]);const g=e=>Object.assign(Object.assign({},e),{textAnchor:i}),b=Array.isArray(o)?o.map(g):g(o);return l.createElement(ZC,Object.assign({centerOffset:p,constrainToVisibleArea:t,flyoutComponent:(()=>{let e=bh(h);return n&&0===e&&(e=c&&c.tooltip?bh(c.tooltip.pointerLength):10),l.cloneElement(r,Object.assign({pointerLength:e,pointerWidth:m},r.props))})(),labelTextAnchor:i,pointerOrientation:u,style:b,theme:c},f))};cx.displayName="ChartCursorTooltip",p()(cx,YC);var px=function(e,t){var r=t.style,i=function(e,t,r){return e&&e.data&&e.data.fill?e.data.fill:t&&t[r%t.length]}(r,t.colors,e);return Object.assign({fill:i},r.data)},ux=function(e,t){return e*function(e){return Math.cos(e-B(90))}(t)},hx=function(e,t){return e*function(e){return Math.sin(e-B(90))}(t)},mx=function(e){return e.reduce((function(e,t){return e+t}),0)/e.length},fx=function(e,t){var r=F(e,t,"pie"),i=function(e){var t=e.colorScale,r=P(e,"pie"),i=M(e.style,r),n=Array.isArray(t)?t:Il(t),o=_(e),a=function(e,t){return"number"==typeof e.radius?e.radius:Math.min(e.width-t.left-t.right,e.height-t.top-t.bottom)/2}(e,o),s=function(e,t){var r=e.width,i=e.height,n=Vt()(e.origin)?e.origin:{};return{x:void 0!==n.x?n.x:(t.left-t.right+r)/2,y:void 0!==n.y?n.y:(t.top-t.bottom+i)/2}}(e,o),l=Gs(e),d=function(e,t){var r=x()(e.padAngle)?0:e.padAngle;return uv().sort(null).startAngle(B(e.startAngle)).endAngle(B(e.endAngle)).padAngle(B(r)).value((function(e){return e._y}))(t)}(e,l);return Object.assign({},e,{style:i,colors:n,padding:o,defaultRadius:a,data:l,slices:d,origin:s})}(r),n=i.slices,o=i.style,a=i.data,s=i.origin,l=i.defaultRadius,d=i.labels,c=i.events,p=i.sharedEvents,u=i.height,h=i.width,m=i.standalone,f=i.name,b=i.innerRadius,y=i.cornerRadius,v=i.padAngle,w=i.disableInlineStyles,A=i.labelIndicator,C=r.radius||l,k={parent:{standalone:m,height:u,width:h,slices:n,name:f,style:o.parent}};return n.reduce((function(e,t,n){var o=g()({},a[n],{startAngle:O(t.startAngle),endAngle:O(t.endAngle),padAngle:O(t.padAngle)}),l=qc()(o.eventKey)?n:o.eventKey,u={index:n,slice:t,datum:o,data:a,origin:s,innerRadius:b,radius:C,cornerRadius:y,padAngle:v,style:w?{}:px(n,i),disableInlineStyles:w};e[l]={data:u};var h=function(e,t,r){return null==(i=t.label?t.label:Array.isArray(e.labels)?e.labels[r]:x()(e.labels)?e.labels:t.xName||t._x)||x()(i)?i:"".concat(i);var i}(r,o,n);if(null!=h||d&&(c||p)){var m=R(h,u);if(e[l].labels=function(e,t,r){var i=t.index,n=t.datum,o=t.data,a=t.slice,s=t.labelComponent,l=t.theme,d=r.style,c=r.defaultRadius,p=r.origin,u=r.width,h=r.height,m=R(r.labelRadius,Object.assign({text:e},t)),f=R(r.labelPosition,Object.assign({text:e},t))||"centroid",b=R(r.labelPlacement,Object.assign({text:e},t))||"vertical",y=Object.assign({padding:0},d.labels),v=function(e,t,r){var i=r&&r.padding||0;return t||e+i}(c,m,D(y,Object.assign({labelRadius:m,text:e},t))),w=function(e,t,r){var i={startAngle:"startAngle"===r?t.startAngle:t.endAngle,endAngle:"endAngle"===r?t.endAngle:t.startAngle},n=Object.assign({},t,i);return e.centroid(n)}(function(e){return dv().outerRadius(e).innerRadius(e)}(v),a,f),A=function(e,t,r){var i;return((i=void 0!==t.angle?r.angle:O("centroid"===t?(e.startAngle+e.endAngle)/2:"startAngle"===t?e.startAngle:e.endAngle))<0?360-i:i)%360}(a,f,y),C=function(e,t){return"vertical"===t?0:"parallel"===t?e>180&&e<360?e+90:e-90:e>90&&e<270?e-180:e}(A,b),k=function(e,t){return"perpendicular"===t?e>90&&e<270?"bottom":"top":"parallel"===t?e>=0&&e<=180?"right":"left":e<45||e>315?"top":e>=45&&e<135?"right":e>=135&&e<225?"bottom":"left"}(A,b),x=y.textAnchor||function(e){return"top"===e||"bottom"===e?"middle":"right"===e?"start":"end"}(k),T=y.verticalAnchor||function(e){return"left"===e||"right"===e?"middle":"bottom"===e?"start":"end"}(k),E={width:u,height:h,index:i,datum:n,data:o,slice:a,orientation:k,text:e,style:y,x:Math.round(w[0])+p.x,y:Math.round(w[1])+p.y,textAnchor:x,verticalAnchor:T,angle:C,calculatedLabelRadius:v};if(!I(s))return E;var _=l&&l.tooltip||{};return g()({},E,S(_,["style"]))}(m,Object.assign({},r,u),i),A){var f=e[l].labels;f.calculatedLabelRadius>C&&(e[l].labelIndicators=function(e,t,r){var i=e.innerRadius,n=e.radius,o=e.slice,a=o.startAngle,s=o.endAngle,l=e.labelIndicatorInnerOffset,d=e.labelIndicatorOuterOffset,c=e.index,p=t.height,u=t.width,h=r.calculatedLabelRadius,m=mx([i,n]),f=mx([s,a]),b=u/2,y=p/2,v=m+l,w=h-d,A={x1:b+ux(v,f),y1:y+hx(v,f),x2:b+ux(w,f),y2:y+hx(w,f),index:c};return g()({},A)}(Object.assign({},r,u),i,f))}}return e}),k)};function gx(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function bx(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,i=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:_x,i=e.dataComponent,n=e.labelComponent,o=e.groupComponent,a=e.labelIndicator,s=e.labelPosition;if(!o)throw new Error("VictoryPie expects a groupComponent prop");var l=a&&"centroid"===s,c=[];if(i){var p=this.dataKeys.reduce((function(e,n,o){var a=t.getComponentProps(i,"data",o);return r(a.datum)&&e.push(d().cloneElement(i,a)),e}),[]);c.push.apply(c,Cx(p))}if(n){var u=this.dataKeys.map((function(e,r){var i=t.getComponentProps(n,"labels",r);if(void 0!==i.text&&null!==i.text)return d().cloneElement(n,i)})).filter((function(e){return void 0!==e}));c.push.apply(c,Cx(u))}if(l&&a){var h=d().createElement($d,null);"object"==typeof a&&(h=a);var m=this.dataKeys.map((function(e,r){var i=t.getComponentProps(h,"labelIndicators",r);return d().cloneElement(h,i)}));c.push.apply(c,Cx(m))}return this.renderContainer(o,c)}},{key:"render",value:function(){var e=Dx.animationWhitelist,t=Dx.role,r=F(this.props,Ex,t);if(this.shouldAnimate())return this.animateComponent(r,e);var i=this.renderComponents(r),n=r.standalone?this.renderContainer(r.containerComponent,i):i;return ze(n,r)}}],r&&xx(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(d().Component);Ix.animationWhitelist=["data","endAngle","height","innerRadius","cornerRadius","padAngle","padding","colorScale","startAngle","style","width"],Ix.displayName="VictoryPie",Ix.role="pie",Ix.defaultTransitions={onExit:{duration:500,before:function(){return{_y:0,label:" "}}},onEnter:{duration:500,before:function(){return{_y:0,label:" "}},after:function(e){return{y_:e._y,label:e.label}}}},Ix.defaultProps={data:[{x:"A",y:1},{x:"B",y:2},{x:"C",y:3},{x:"D",y:1},{x:"E",y:2}],standalone:!0,dataComponent:d().createElement(Ax,null),labelComponent:d().createElement(Bc,null),containerComponent:d().createElement(Ze,null),groupComponent:d().createElement("g",null),sortOrder:"ascending",theme:ft.grayscale},Ix.getBaseProps=function(e){return fx(e,Ex)},Ix.getData=Gs,Ix.expectedComponents=["dataComponent","labelComponent","groupComponent","containerComponent","labelIndicatorComponent"];var Px,Mx,Rx,Dx=Kp(Ix);!function(e){e.centroid="centroid",e.endAngle="endAngle",e.startAngle="startAngle"}(Px||(Px={})),function(e){e.bottom="bottom",e.right="right"}(Mx||(Mx={})),function(e){e.ascending="ascending",e.descending="descending"}(Rx||(Rx={}));const Bx=e=>{var{allowTooltip:t=!0,ariaDesc:r,ariaTitle:i,colorScale:n,constrainToVisibleArea:o=!1,containerComponent:a=l.createElement(Df,null),hasPatterns:d,legendAllowWrap:c=!1,legendComponent:p=l.createElement(Gb,null),legendData:u,legendPosition:h=Tb.legend.position,name:m,patternScale:f,patternUnshiftIndex:g,padding:b,radius:y,standalone:v=!0,style:w,themeColor:A,themeVariant:C,theme:k=If(A),labelComponent:x=(t?l.createElement(ZC,{constrainToVisibleArea:o,theme:k}):void 0),legendOrientation:S=k.legend.orientation,height:T=k.pie.height,width:E=k.pie.width}=e,_=(0,s.Tt)(e,["allowTooltip","ariaDesc","ariaTitle","colorScale","constrainToVisibleArea","containerComponent","hasPatterns","legendAllowWrap","legendComponent","legendData","legendPosition","name","patternScale","patternUnshiftIndex","padding","radius","standalone","style","themeColor","themeVariant","theme","labelComponent","legendOrientation","height","width"]);const I={bottom:Jb("bottom",b,k.pie.padding),left:Jb("left",b,k.pie.padding),right:Jb("right",b,k.pie.padding),top:Jb("top",b,k.pie.padding)},{defaultColorScale:P,defaultPatternScale:M,isPatternDefs:R,patternId:D}=ry({colorScale:n,hasPatterns:d,patternScale:f,themeColorScale:k.pie.colorScale}),B=y||(()=>{const e=vh({height:T,width:E,padding:I});return e>-1?e:void 0})(),O=l.createElement(Dx,Object.assign({colorScale:n,height:T,key:"pf-chart-pie",labelComponent:x,name:m,padding:b,radius:B,standalone:!1,style:(()=>{if(!M)return w;const e=w?Object.assign({},w):{};return e.data=Object.assign({fill:({slice:e})=>M[e.index%M.length]||P[e.index%P.length]},e.data),e})(),theme:k,width:E},_)),q=l.cloneElement(p,Object.assign(Object.assign(Object.assign({colorScale:n,data:u},m&&{name:`${m}-${p.type.displayName}`}),{key:"pf-chart-pie-legend",orientation:S,theme:k}),p.props)),N=()=>q.props.data?cy(Object.assign({allowWrap:c,chartType:"pie",height:T,legendComponent:q,padding:I,position:h,theme:k,width:E},M&&{patternScale:M})):null,L=v?l.cloneElement(a,Object.assign({desc:r,height:T,title:i,width:E,theme:k},a.props),[O,N(),R&&Zb({patternId:D,colorScale:P,patternUnshiftIndex:g})]):null;return v?l.createElement(l.Fragment,null,L):l.createElement(l.Fragment,null,O,N(),R&&Zb({patternId:D,colorScale:P,patternUnshiftIndex:g}))};var Ox,qx,Nx;Bx.displayName="ChartPie",p()(Bx,Dx),function(e){e.centroid="centroid",e.endAngle="endAngle",e.startAngle="startAngle"}(Ox||(Ox={})),function(e){e.ascending="ascending",e.descending="descending"}(qx||(qx={})),function(e){e.bottom="bottom",e.center="center",e.right="right"}(Nx||(Nx={}));const Lx=e=>{var{allowTooltip:t=!0,ariaDesc:r,ariaTitle:i,capHeight:n=1.1,containerComponent:o=l.createElement(Df,null),innerRadius:a,legendAllowWrap:d,legendPosition:c=Tb.legend.position,name:p,padAngle:u,padding:h,radius:m,standalone:f=!0,subTitle:g,subTitleComponent:b,subTitlePosition:y=_b.label.subTitlePosition,themeColor:v,themeVariant:w,title:A,titleComponent:C=l.createElement(Bb,null),theme:k=xf(v),height:x=k.pie.height,width:S=k.pie.width}=e,T=(0,s.Tt)(e,["allowTooltip","ariaDesc","ariaTitle","capHeight","containerComponent","innerRadius","legendAllowWrap","legendPosition","name","padAngle","padding","radius","standalone","subTitle","subTitleComponent","subTitlePosition","themeColor","themeVariant","title","titleComponent","theme","height","width"]);const E={bottom:Jb("bottom",h,k.pie.padding),left:Jb("left",h,k.pie.padding),right:Jb("right",h,k.pie.padding),top:Jb("top",h,k.pie.padding)},_=m||vh({height:x,width:S,padding:E}),I=a||_-9,P=g&&y===Nx.center,M=()=>!b&&P?D({styles:[_b.label.title,_b.label.subTitle],titles:[A,g]}):l.createElement(l.Fragment,{key:"pf-chart-donut-titles"},D({titles:A,dy:P?-8:0}),R({textComponent:b,dy:P?15:0})),R=({dy:e=0,textComponent:t=l.createElement(Bb,null)})=>{if(!g)return null;const r=t.props?t.props:{};return l.cloneElement(t,Object.assign(Object.assign(Object.assign({},p&&{id:`${p}-${t.type.displayName}-subTitle`}),{key:"pf-chart-donut-subtitle",style:_b.label.subTitle,text:g,textAnchor:"right"===y?"start":"middle",verticalAnchor:"middle",x:sy({height:x,labelPosition:y,legendPosition:c,padding:E,width:S}),y:ly({dy:e,height:x,labelPosition:y,padding:E,width:S})}),r))},D=({dy:e=0,styles:t=_b.label.title,titles:r=A})=>{if(!r)return null;const i=C?C.props:{};return l.cloneElement(C,Object.assign(Object.assign(Object.assign(Object.assign({},Array.isArray(r)&&{capHeight:n}),p&&{id:`${p}-${C.type.displayName}-title`}),{key:"pf-chart-donut-title",style:t,text:r,textAnchor:"middle",verticalAnchor:"middle",x:sy({height:x,labelPosition:"center",legendPosition:c,padding:E,width:S}),y:ly({dy:e,height:x,labelPosition:"center",padding:E,width:S})}),i))},B=l.createElement(Bx,Object.assign({allowTooltip:t,height:x,innerRadius:I>0?I:0,key:"pf-chart-donut-pie",legendAllowWrap:d,legendPosition:c,name:p,padAngle:void 0!==u?u:({datum:e})=>e._y>0?k.pie.padAngle:0,padding:h,radius:_>0?_:0,standalone:!1,theme:k,width:S},T)),O=l.cloneElement(o,Object.assign({desc:r,height:x,title:i,width:S,theme:k},o.props),[B,M()]);return f?l.createElement(l.Fragment,null,O):l.createElement(l.Fragment,null,B,M())};var jx,Fx,Hx,Vx,zx;Lx.displayName="ChartDonut",p()(Lx,Dx),function(e){e.left="left",e.right="right",e.top="top"}(jx||(jx={})),function(e){e.horizontal="horizontal",e.vertical="vertical"}(Fx||(Fx={})),function(e){e.centroid="centroid",e.endAngle="endAngle",e.startAngle="startAngle"}(Hx||(Hx={})),function(e){e.ascending="ascending",e.descending="descending"}(Vx||(Vx={})),function(e){e.bottom="bottom",e.center="center",e.right="right"}(zx||(zx={}));const Wx=e=>{var{allowTooltip:t=!0,ariaDesc:r,ariaTitle:i,children:n,colorScale:o,constrainToVisibleArea:a=!1,containerComponent:d=l.createElement(Df,null),data:c=[],hasPatterns:p,invert:u=!1,labels:h=[],name:m,padding:f,radius:g,standalone:b=!0,subTitlePosition:y=_b.label.subTitlePosition,themeColor:v,themeVariant:w,x:A,y:C,theme:k=Tf(v,u),height:x=k.pie.height,width:S=k.pie.width}=e,T=(0,s.Tt)(e,["allowTooltip","ariaDesc","ariaTitle","children","colorScale","constrainToVisibleArea","containerComponent","data","hasPatterns","invert","labels","name","padding","radius","standalone","subTitlePosition","themeColor","themeVariant","x","y","theme","height","width"]);const E={bottom:Jb("bottom",f,k.pie.padding),left:Jb("left",f,k.pie.padding),right:Jb("right",f,k.pie.padding),top:Jb("top",f,k.pie.padding)},_=g||vh({height:x,width:S,padding:E}),I=(()=>{const e=TC(c,Object.assign({x:A,y:C},T),["x","y"]).sort(((e,t)=>e._y-t._y)),[t,r]=e.reduce(((e,t)=>[t._y,[...e[1],{x:t._x,y:t._y-e[0]}]]),[0,[]]);return[...r,{y:t?100-t:0}]})(),P=()=>l.Children.toArray(n).map(((e,t)=>{if(l.isValidElement(e)){const r=e.props,{data:i}=r,n=(0,s.Tt)(r,["data"]),o=TC([i],n,["x","y"]),d=n.theme||Sf(n.themeColor||v);return l.cloneElement(e,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},p&&{hasPatterns:!0}),{constrainToVisibleArea:a,data:i,endAngle:360*(o[0]._y?o[0]._y/100:0),height:x}),m&&void 0!==typeof e.name&&{name:`${m}-${e.type.displayName}-${t}`}),{invert:u,isStatic:!1,key:`pf-chart-donut-threshold-child-${t}`,padding:E,patternUnshiftIndex:I.length,radius:_-14,standalone:!1,subTitlePosition:n.subTitlePosition||y,theme:d,width:S}),n))}return e})),M=l.createElement(Lx,Object.assign({allowTooltip:t,colorScale:o,constrainToVisibleArea:a,data:I,height:x,hasPatterns:p,key:"pf-chart-donut-threshold",labels:h,name:m,padding:E,standalone:!1,theme:k,width:S},T)),R=l.cloneElement(d,Object.assign({desc:r,height:x,title:i,width:S,theme:k},d.props),[M,P()]);return b?l.createElement(l.Fragment,null,R):l.createElement(l.Fragment,null,M,P())};var Ux,Gx,Jx,Kx,Qx;Wx.displayName="ChartDonutThreshold",p()(Wx,Dx),function(e){e.centroid="centroid",e.endAngle="endAngle",e.startAngle="startAngle"}(Ux||(Ux={})),function(e){e.horizontal="horizontal",e.vertical="vertical"}(Gx||(Gx={})),function(e){e.bottom="bottom",e.right="right"}(Jx||(Jx={})),function(e){e.ascending="ascending",e.descending="descending"}(Kx||(Kx={})),function(e){e.bottom="bottom",e.center="center",e.right="right"}(Qx||(Qx={}));const Yx=e=>{var{allowTooltip:t=!0,ariaDesc:r,ariaTitle:i,colorScale:n,containerComponent:o=l.createElement(Df,null),data:a,invert:d=!1,isStatic:c=!0,legendPosition:p=Tb.legend.position,padding:u,standalone:h=!0,themeColor:m,themeVariant:f,thresholds:g,x:b,y,theme:v=Ef(m),height:w=v.pie.height,width:A=v.pie.width}=e,C=(0,s.Tt)(e,["allowTooltip","ariaDesc","ariaTitle","colorScale","containerComponent","data","invert","isStatic","legendPosition","padding","standalone","themeColor","themeVariant","thresholds","x","y","theme","height","width"]);const k=()=>TC([Object.assign({},a)],Object.assign({x:b,y},C),["x","y"]).sort(((e,t)=>e._y-t._y)),x=l.createElement(Lx,Object.assign({allowTooltip:t,colorScale:n,data:(()=>{const e=k(),t=[{x:e[0]._x,y:e[0]._y||0}];return c&&t.push({y:e[0]._x?Math.abs(100-e[0]._y):100}),t})(),height:w,key:"pf-chart-donut-utilization",legendPosition:p,padding:u,standalone:!1,theme:(()=>{const e=Object.assign({},v),t=k();if(t){const r=(()=>{const e=[];if(g){const t=nr()(g,"value",d?"desc":"asc"),r=Ib.thresholds.colorScale.length;for(let i=0;i{e.pie.colorScale instanceof Array?e.pie.colorScale[0]=r[t].color:e.pie.colorScale=r[t].color,e.legend.colorScale instanceof Array?e.legend.colorScale[0]=r[t].color:e.legend.colorScale=r[t].color};for(let e=0;e=r[e].value&&i(e)}return e})(),width:A},C)),S=l.cloneElement(o,Object.assign({desc:r,height:w,title:i,width:A,theme:v},o.props),[x]);return h?l.createElement(l.Fragment,null,S):l.createElement(l.Fragment,null,x)};function Zx(e){return function(e){if(Array.isArray(e))return $x(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Xx(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xx(e,t){if(e){if("string"==typeof e)return $x(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?$x(e,t):void 0}}function $x(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=e.data||e.y?Gs(e):t,n=r||0;return i.map((function(e){var t=e._x instanceof Date?new Date(e._x.getTime()+n):e._x+n;return Object.assign({},e,{_x1:t})}))}function lS(e,t,r){var i=F(e,iS,"stack"),n=t||d().Children.toArray(i.children),o=r||nS(i,n),a=o.datasets,s=i.labelComponent,l=i.polar,c=function(e,t){var r=t.categories,i=t.domain,n=t.range,o=t.scale,a=t.horizontal,s=t.origin,l=t.padding,d=e.width;return{height:e.height,width:d,theme:e.theme,polar:e.polar,origin:s,categories:r,domain:i,range:n,scale:o,horizontal:a,padding:l,standalone:!1}}(i,o),p=i.name||"group";return n.map((function(e,t){var r=e.type&&e.type.role,n=l?function(e,t,r,i){var n=(("stack"===i?t.datasets[0].length:t.datasets.length)-1)/2,o=function(e,t){var r=t.range,i=Math.abs(r.x[1]-r.x[0]),n=Math.max.apply(Math,Zx(r.y));return e.offset/(2*Math.PI*n)*i}(e,t);return(r-n)*o}(i,o,t,r):function(e,t,r,i){var n=(("stack"===i?t.datasets[0].length:t.datasets.length)-1)/2,o=function(e,t,r){if(!e.offset)return 0;var i=H("x",e.horizontal),n=r.domain.x,o=r.range[i];return(Math.max.apply(Math,Zx(n))-Math.min.apply(Math,Zx(n)))/(Math.max.apply(Math,Zx(o))-Math.min.apply(Math,Zx(o)))*e.offset}(e,0,t);return(r-n)*o}(i,o,t,r),u="voronoi"===r||"tooltip"===r||"label"===r?e.props.style:od(e,t,o),h=i.labels?function(e,t,r){if(e.labels)return Math.floor(t.length/2)===r?e.labels:void 0}(i,a,t):e.props.labels,m=e.props.name||"".concat(p,"-").concat(r,"-").concat(t);return d().cloneElement(e,Object.assign({labels:h,style:u,key:"".concat(m,"-key-").concat(t),name:m,data:sS(i,a[t],n),colorScale:aS(i,e),labelComponent:s||e.props.labelComponent,xOffset:n},c))}))}function dS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function cS(e){for(var t=1;t{var{ariaDesc:t,ariaTitle:r,children:i,colorScale:n,containerComponent:o=l.createElement(Df,null),hasPatterns:a,patternScale:d,themeColor:c,themeVariant:p,theme:u=If(c)}=e,h=(0,s.Tt)(e,["ariaDesc","ariaTitle","children","colorScale","containerComponent","hasPatterns","patternScale","themeColor","themeVariant","theme"]);const m=l.cloneElement(o,Object.assign(Object.assign({desc:t,title:r,theme:u},o.props),{className:Rf({className:o.props.className})})),{defaultColorScale:f,defaultPatternScale:g,isPatternDefs:b,patternId:y}=ry({colorScale:n,hasPatterns:a,patternScale:d,themeColorScale:u.group.colorScale});return l.createElement(bS,Object.assign({colorScale:n,containerComponent:m,theme:u},h),iy({children:i,patternScale:g}),b&&Zb({patternId:y,colorScale:f}))};yS.displayName="ChartGroup",p()(yS,bS);const vS=e=>{var{dx:t=0,index:r=0,legendData:i,legendLabelComponent:n=l.createElement(Bb,null),style:o,text:a,textAnchor:d="end",valueLabelComponent:c=l.createElement(Bb,null),x:p,y:u}=e,h=(0,s.Tt)(e,["dx","index","legendData","legendLabelComponent","style","text","textAnchor","valueLabelComponent","x","y"]);const m=e=>{const t=e=>g()(Object.assign({},e),{fill:Pb.label.fill});return Array.isArray(e)?e.map(t):t(e)},f=(()=>{const e=i&&i.length?i[r].name:void 0;return l.cloneElement(n,{style:m({}),text:e,textAnchor:"start",x:p,y:u})})(),b=(()=>{const e=p+bh(t);return l.cloneElement(c,Object.assign({style:m(o),text:a,textAnchor:d,x:e,y:u},h))})();return l.createElement(l.Fragment,null,f,b)};vS.displayName="ChartLegendTooltipLabel",p()(vS,xb);const wS=e=>{var{activePoints:t,center:r,datum:i,dx:n=0,dy:o=0,flyoutHeight:a,flyoutWidth:d,height:c,labelComponent:p=l.createElement(vS,null),legendComponent:u=l.createElement(Gb,null),legendData:h,patternScale:m,text:f,themeColor:g,themeVariant:b,title:y,titleComponent:v=l.createElement(Bb,null),width:w,theme:A=If(g)}=e,C=(0,s.Tt)(e,["activePoints","center","datum","dx","dy","flyoutHeight","flyoutWidth","height","labelComponent","legendComponent","legendData","patternScale","text","themeColor","themeVariant","title","titleComponent","width","theme"]);const k=A&&A.tooltip?bh(A.tooltip.pointerLength):10,x=ax(u.props),S=lx({activePoints:t,colorScale:x.colorScale,legendData:h,text:f,theme:A}),T=y?5:-10,E=()=>{if(!(r||d||w)){return C.x||void 0}const e=bh(d);return w>r.x+e+k?r.x+Pb.flyout.padding/2:r.x{if(!(r||a||c)){return C.y||void 0}const e=bh(a);return r.yc-e/2?c-e+Pb.flyout.padding/2:r.y-e/2+Pb.flyout.padding/2},I=sx({legendData:S,legendProps:x,text:dx({activePoints:t,legendData:h,text:f}),theme:A}),P=sx({legendData:[{name:""}],legendProps:x,theme:A});return l.createElement(l.Fragment,null,(()=>{const e=y instanceof Function?y(i):y;return l.cloneElement(v,Object.assign({style:{fill:Pb.label.fill,fontWeight:Pb.label.fontWeight},text:e,textAnchor:"start",x:E()+10+bh(n),y:_()+0+bh(o)},v.props))})(),l.cloneElement(u,Object.assign({data:lx({activePoints:t,colorScale:x.colorScale,legendData:h,patternScale:m,text:f,textAsLegendData:!0,theme:A}),labelComponent:l.cloneElement(p,Object.assign({dx:I.width-P.width,legendData:S},p.props)),patternScale:m,standalone:!1,theme:A,x:E()+0+bh(n),y:_()+T+bh(o)},x)))};wS.displayName="ChartLegendTooltipContent",p()(wS,Tg,{getBaseProps:!0});const AS=e=>{var{activePoints:t,datum:r,center:i={x:0,y:0},flyoutHeight:n,flyoutWidth:o,height:a,isCursorTooltip:d=!0,labelComponent:c=l.createElement(wS,null),legendData:p,patternScale:u,text:h,themeColor:m,themeVariant:f,title:g,width:b,theme:y=If(m)}=e,v=(0,s.Tt)(e,["activePoints","datum","center","flyoutHeight","flyoutWidth","height","isCursorTooltip","labelComponent","legendData","patternScale","text","themeColor","themeVariant","title","width","theme"]);const w=y&&y.tooltip?bh(y.tooltip.pointerLength):10,A=({height:e})=>{const t=e+Pb.flyout.padding;return g?t:t-10},C=({width:e})=>e+Pb.flyout.padding;return(()=>{const e=sx({legendData:lx({activePoints:t,legendData:p,text:h,theme:y}),legendProps:ax(c.props.legendComponent?c.props.legendComponent.props:void 0),text:dx({activePoints:t,legendData:p,text:h}),theme:y});if(0===e.height&&0===e.width)return null;const s=C(e),m=d?l.createElement(cx,null):l.createElement(ZC,null);return l.cloneElement(m,Object.assign(Object.assign(Object.assign({activePoints:t,center:i,datum:r,flyoutHeight:n||A(e),flyoutWidth:o||C(e),height:a,labelComponent:(f=e,l.cloneElement(c,Object.assign({center:i,flyoutHeight:n||A(f),flyoutWidth:o||C(f),height:a,legendData:p,patternScale:u,title:g,width:b},c.props)))},void 0===o&&{showPointer:b>s+i.x+w||i.x>s+w}),{text:h,theme:y,width:b}),v));var f})()};AS.displayName="ChartLegendTooltip",p()(AS,YC);function CS(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function kS(e){for(var t=1;t{var{containerComponent:t=l.createElement(Df,null),themeColor:r,themeVariant:i,theme:n=If(r)}=e,o=(0,s.Tt)(e,["containerComponent","themeColor","themeVariant","theme"]);const a=l.cloneElement(t,Object.assign({theme:n},t.props));return l.createElement(DS,Object.assign({containerComponent:a,theme:n},o))};function OS(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r=0&&t>=0?Number(t)+e:e}),o[n]||0);return a.some((function(e){return e instanceof Date}))?new Date(s):s}(e,r,t)||0;return Object.assign({},e,{_y0:e._y instanceof Date?n?new Date(n):e._y:n,_y1:null===e._y?null:e._y instanceof Date?new Date(Number(e._y)+Number(n)):e._y+n,_x1:null===e._x?null:e._x instanceof Date?new Date(Number(e._x)+Number(i)):e._x+i})}))}(e,i,r)}))}function HS(e,t){var r=t||d().Children.toArray(e.children),i="stack",n=F(e,jS,i),o=nd(n.theme,n.style,i),a=n.categories||ld(n,r),s=n.datasets||FS(n,r),l=r.map((function(e,t){return d().cloneElement(e,{data:s[t]})})),c={x:td(Object.assign({},n,{categories:a}),"x",l),y:td(Object.assign({},n,{categories:a}),"y",l)},p=n.range||{x:L(n,"x"),y:L(n,"y")},u={x:Es(n,"x")||rd(n,"x"),y:Es(n,"y")||rd(n,"y")},h={x:u.x.domain(c.x).range(n.horizontal?p.y:p.x),y:u.y.domain(c.y).range(n.horizontal?p.x:p.y)},m=n.colorScale,f=n.horizontal;return{datasets:s,categories:a,range:p,domain:c,horizontal:f,scale:h,style:o,colorScale:m,role:i}}function VS(e){var t,r,i=function(e){var t=e.children,r=d().Children.toArray(t).map((function(e){var t=e;return NS(NS({},t),{},{props:S(t.props,["sharedEvents"])})}));return e.children=r,e}(e),n=(t=d().useState(i),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i,n,o=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(i=r.next()).done)&&(o.push(i.value),!t||o.length!==t);a=!0);}catch(e){s=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw n}}return o}}(t,r)||function(e,t){if(e){if("string"==typeof e)return OS(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?OS(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=n[0],a=n[1];return d().useEffect((function(){fd()(i,o)||a(i)}),[o,a,i]),d().useMemo((function(){return HS(o,o.children)}),[o])}function zS(e,t){var r=t.type&&t.type.role,i=t.props.colorScale||e.colorScale;if("group"===r||"stack"===r)return e.theme?i||e.theme.props.colorScale:i}function WS(e,t,r){var i=F(e,jS,"stack"),n=t||d().Children.toArray(i.children),o=r||HS(i,n),a=o.datasets,s=function(e,t){var r=t.categories,i=t.domain,n=t.range,o=t.scale,a=t.horizontal;return{height:e.height,width:e.width,padding:_(e),standalone:!1,theme:e.theme,categories:r,domain:i,range:n,scale:o,horizontal:a}}(i,o),l=i.name||"stack";return n.map((function(e,t){var r=e.type&&e.type.role,n=a[t],c=od(e,t,o),p=i.labels?function(e,t,r){if(e.labels)return t.length===r+1?e.labels:void 0}(i,a,t):e.props.labels,u=e.props.name||"".concat(l,"-").concat(r,"-").concat(t);return d().cloneElement(e,Object.assign({key:"".concat(u,"-key-").concat(t),labels:p,name:u,domainPadding:e.props.domainPadding||i.domainPadding,theme:i.theme,labelComponent:i.labelComponent||e.props.labelComponent,style:c,colorScale:zS(i,e),data:n,polar:i.polar},s))}))}function US(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function GS(e){for(var t=1;t{var{ariaDesc:t,ariaTitle:r,children:i,colorScale:n,containerComponent:o=l.createElement(Df,null),hasPatterns:a,patternScale:d,themeColor:c,themeVariant:p,theme:u=If(c)}=e,h=(0,s.Tt)(e,["ariaDesc","ariaTitle","children","colorScale","containerComponent","hasPatterns","patternScale","themeColor","themeVariant","theme"]);const m=l.cloneElement(o,Object.assign(Object.assign({desc:t,title:r,theme:u},o.props),{className:Rf({className:o.props.className})})),{defaultPatternScale:f}=ry({colorScale:n,hasPatterns:a,patternScale:d,themeColorScale:u.stack.colorScale});return l.createElement(XS,Object.assign({colorScale:n,containerComponent:m,theme:u},h),iy({children:i,patternScale:f}))};$S.displayName="ChartStack",p()($S,XS);const eT=e=>{var{style:t={},themeColor:r,themeVariant:i,theme:n=Pf(r)}=e,o=(0,s.Tt)(e,["style","themeColor","themeVariant","theme"]);const a=()=>t&&t.data&&t.data.strokeDasharray?t.data.strokeDasharray:Pf(r).line.style.data.strokeDasharray,d=()=>t&&t.data&&t.data.strokeWidth?t.data.strokeWidth:Pf(r).line.style.data.strokeWidth,c=om()(t);return c.data?(c.data.strokeDasharray=a(),c.data.strokeWidth=d()):c.data={strokeDasharray:a(),strokeWidth:d()},l.createElement(BS,Object.assign({style:c,theme:n},o))};eT.displayName="ChartThreshold",p()(eT,DS);const tT="var(--pf-chart-container--cursor--line--Fill, #151515)";var rT=r(49870),iT=r.n(rT),nT=r(33215),oT=r.n(nT),aT=r(18938),sT=r.n(aT),lT=r(85015),dT=r.n(lT),cT=r(11044);function pT(e){return function(e){if(Array.isArray(e))return uT(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return uT(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?uT(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function uT(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r=s.left&&l<=r-s.right&&d>=s.top&&d<=i-s.bottom}},{key:"getDatasets",value:function(e){var t={x:Tt(e.domain.x),y:Tt(e.domain.y)},r=d().Children.toArray(e.children),i=function(r,i,n){var o=n&&n.type&&n.type.continuous,a=n?n.props&&n.props.style:e.style;return r.map((function(r,n){var s=T(r),l=s.x,d=s.y,c=s.y0,p=s.x0,u=(Number(l)+Number(p))/2,h=(Number(d)+Number(c))/2;return Object.assign({_voronoiX:"y"===e.voronoiDimension?t.x:u,_voronoiY:"x"===e.voronoiDimension?t.y:h,eventKey:n,childName:i,continuous:o,style:a},r)}))};if(e.data)return i(e.data);var n=function(e){var t=Gs(e);return Array.isArray(t)&&t.length>0?t:void 0};return z(r,(function(t,r){var o=(t.props||{}).name||r,a=e.voronoiBlacklist||[],s=a.filter(dT()),l=a.filter(ph()).some((function(e){return e.test(o)}));if(!Qs(t)||rr()(s,o)||l)return null;var d=(t.type&&x()(t.type.getData)?t.type.getData:n)(t.props);return d?i(d,o,t):null}),e)}},{key:"findPoints",value:function(e,t){return e.filter((function(e){return t._voronoiX===e._voronoiX&&t._voronoiY===e._voronoiY}))}},{key:"withinRadius",value:function(e,t,r){if(!e)return!1;if(!r)return!0;var i=t.x,n=t.y;return Math.pow(i-e[0],2)+Math.pow(n-e[1],2)e.length)&&(t=e.length);for(var r=0,i=new Array(t);r1,s=void 0!==o._y1?o._y1:o._y;return{orientation:n?void 0:i?s<0?"left":"right":s<0?"bottom":"top",pointerLength:a?0:void 0,constrainToVisibleArea:!(!a&&!n)||void 0}}},{key:"getLabelProps",value:function(e,t){var r=e.labels,i=e.scale,n=e.labelComponent,o=e.theme,a=e.width,s=e.height,l=n.props||{},d=t.reduce((function(e,t){var i=g()({},l,{datum:t,active:!0}),n=x()(r)?r(i):null;return null==n?e:e.concat("".concat(n).split("\n"))}),[]),c=t[0],p=c.childName,u=c.eventKey,h=(c.style,c.continuous,function(e,t){if(null==e)return{};var r,i,n=function(e,t){if(null==e)return{};var r,i,n={},o=Object.keys(e);for(i=0;i=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(c,gT)),m=e.name===p?p:"".concat(e.name,"-").concat(p),f=g()({key:"".concat(m,"-").concat(u,"-voronoi-tooltip"),id:"".concat(m,"-").concat(u,"-voronoi-tooltip"),active:!0,renderInPortal:!1,activePoints:t,datum:h,scale:i,theme:o},l,{text:d,width:a,height:s,style:this.getStyle(e,t,"labels"),flyoutStyle:this.getStyle(e,t,"flyout")[0]},this.getDefaultLabelProps(e,t)),b=this.getLabelPosition(e,f,t);return g()({},b,f)}},{key:"getTooltip",value:function(e){var t=e.labels,r=e.activePoints,i=e.labelComponent;if(!t)return null;if(Array.isArray(r)&&r.length){var n=this.getLabelProps(e,r),o=n.text;return(Array.isArray(o)?o.filter(Boolean).length:o)?d().cloneElement(i,n):null}return null}},{key:"getChildren",value:function(e){return[].concat(function(e){if(Array.isArray(e))return bT(e)}(t=d().Children.toArray(e.children))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return bT(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?bT(e,t):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[this.getTooltip(e)]);var t}}],r&&AT(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(e),t.displayName="VictoryVoronoiContainer",t.defaultProps=vT(vT({},Ze.defaultProps),{},{activateData:!0,activateLabels:!0,labelComponent:d().createElement(YC,null),voronoiPadding:5}),t.defaultEvents=function(e){return[{target:"parent",eventHandlers:{onMouseLeave:function(t,r){return e.disable?{}:fT.onMouseLeave(t,r)},onTouchCancel:function(t,r){return e.disable?{}:fT.onMouseLeave(t,r)},onMouseMove:function(t,r){return e.disable?{}:fT.onMouseMove(t,r)},onTouchMove:function(t,r){return e.disable?{}:fT.onMouseMove(t,r)}}},{target:"data",eventHandlers:e.disable?{}:{onMouseOver:function(){return null},onMouseOut:function(){return null},onMouseMove:function(){return null}}}]},t}var ST=xT(Ze),TT=r(60895),ET=r.n(TT);function _T(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i,n,o=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(i=r.next()).done)&&(o.push(i.value),!t||o.length!==t);a=!0);}catch(e){s=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw n}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return IT(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?IT(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function IT(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);rp&&bp?y:u],w=Math.abs(f[1]-f[0])>Math.abs(v[1]-v[0])?f:v;return Ct([p,u])?[new Date(w[0]),new Date(w[1])]:w},getScaledDomain:function(e,t,r){var i=_T(e,2),n=i[0],o=i[1],a=Math.abs(o-n),s=a-a*t,l=Number(n)+s*r,d=Number(o)-s*(1-r);return[Math.min(l,d),Math.max(l,d)]},getMinimumDomain:function(e,t,r){var i=t.minimumZoom,n=_T(this.getDomain(t)[r],2),o=n[0],a=n[1],s=Math.abs(o-a)/1e3,l=i&&i[r]||s,d=e-l/2,c=e+l/2;return[d>o&&do?c:Number(o)+l/2]},zoommingOut:function(e){return e.deltaY>0},getScaleFactor:function(e){var t=this.zoommingOut(e)?1:-1,r=Math.min(Math.abs(e.deltaY/300),.5);return Math.abs(1+t*r)},getScalePercent:function(e,t,r){var i=this.getDomain(t),n=_T(i[r],2),o=n[0],a=n[1];return(this.getPosition(e,t,i)[r]-o)/Math.abs(a-o)},getPosition:function(e,t,r){var i=Nk(e),n=i.x,o=i.y,a={x:t.scale.x.domain(r.x),y:t.scale.y.domain(r.y)};return jk(t,a,n,o)},pan:function(e,t,r){var i,n=_T(e.map((function(e){return Number(e)})),2),o=n[0],a=n[1],s=_T(t.map((function(e){return Number(e)})),2),l=s[0],d=s[1],c=o+r,p=a+r;return i=c>l&&pd?[d-(a-o),d]:e,Ct(e)||Ct(t)?i.map((function(e){return new Date(e)})):i},getDomainScale:function(e,t,r){var i=_T(Array.isArray(e)?e:e[r],2),n=i[0],o=i[1],a=t[r].range();return Math.abs(a[0]-a[1])/(o-n)},handleAnimation:function(e){var t=e.context.animationTimer,r=e.context.transitionTimer;return r.bypassAnimation(),t.bypassAnimation(),ET()((function(){t.resumeAnimation(),r.resumeAnimation()}),16)},getLastDomain:function(e,t){var r=e.zoomDomain,i=e.cachedZoomDomain,n=e.currentDomain,o=e.domain;return r&&!this.checkDomainEquality(r,i)?g()({},r,o):g()({},n||r||t,o)},getDomain:function(e){var t=e.originalDomain,r=e.domain,i=e.children,n=e.zoomDimension,o=l.Children.toArray(i),a={};return o.length&&(a=n?function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}({},n,ed(e,n,o)):{x:ed(e,"x",o),y:ed(e,"y",o)}),g()({},a,t,r)},onMouseDown:function(e,t){if(e.preventDefault(),t.allowPan){var r=t.parentSVG||qk(e),i=Nk(e,r),n=i.x,o=i.y;return[{target:"parent",mutation:function(){return{startX:n,startY:o,panning:!0,parentSVG:r,parentControlledProps:["domain"]}}}]}},onMouseUp:function(e,t){if(t.allowPan)return[{target:"parent",mutation:function(){return{panning:!1}}}]},onMouseLeave:function(e,t){if(t.allowPan)return[{target:"parent",mutation:function(){return{panning:!1}}}]},onMouseMove:function(e,t,r,i){if(t.panning&&t.allowPan){var n=t.scale,o=t.startX,a=t.startY,s=t.onZoomDomainChange,l=t.zoomDomain,d=t.zoomDimension,c=t.horizontal,p=t.parentSVG||qk(e),u=Nk(e,p),h=u.x,m=u.y,f=this.getDomain(t),b=this.getLastDomain(t,f),y=c?o-h:m-a,v=(c?m-a:o-h)/this.getDomainScale(b,n,"x"),w=y/this.getDomainScale(b,n,"y"),A={x:"y"===d?f.x:this.pan(b.x,f.x,v),y:"x"===d?f.y:this.pan(b.y,f.y,w)},C=this.handleAnimation(i),k={parentControlledProps:["domain"],startX:h,startY:m,parentSVG:p,currentDomain:A,originalDomain:f,cachedZoomDomain:l,zoomActive:!this.checkDomainEquality(f,b)};return x()(s)&&s(A,g()({},k,t)),[{target:"parent",callback:C,mutation:function(){return k}}]}},onWheel:function(e,t,r,i){if(t.allowZoom){var n=t.onZoomDomainChange,o=t.zoomDimension,a=t.zoomDomain,s=this.getDomain(t),l=this.getLastDomain(t,s),d=l.x,c=l.y,p={x:"y"===o?l.x:this.scale(d,e,t,"x"),y:"x"===o?l.y:this.scale(c,e,t,"y")},u=this.handleAnimation(i),h={currentDomain:p,originalDomain:s,cachedZoomDomain:a,parentControlledProps:["domain"],panning:!1,zoomActive:!this.zoommingOut(e)||t.zoomActive&&!this.checkDomainEquality(s,l)};return x()(n)&&n(p,g()({},h,t)),[{target:"parent",callback:u,mutation:function(){return h}}]}}},MT={checkDomainEquality:PT.checkDomainEquality.bind(PT),onMouseDown:PT.onMouseDown.bind(PT),onMouseUp:PT.onMouseUp.bind(PT),onMouseLeave:PT.onMouseLeave.bind(PT),onMouseMove:Dk()(PT.onMouseMove.bind(PT),16,{leading:!0,trailing:!1}),onWheel:Dk()(PT.onWheel.bind(PT),16,{leading:!0,trailing:!1})};function RT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function DT(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,i=new Array(t);r=r[a][0]})),l=n.findIndex((function(e){return e[a]>r[a][1]}));return 0!==s&&(s-=1),-1!==l&&(l+=1),function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=js(e);if(i>t){var n=Math.pow(2,Math.ceil(Math.log2(i/t)));return e.filter((function(e,t){return(t+r)%n==0}))}return e}(n.slice(s,l),o,s)}}},{key:"modifyChildren",value:function(e){var t=this;return d().Children.toArray(e.children).map((function(r){var i,n=r.type&&r.type.role,o=Qs(r),a=e.currentDomain,s=e.zoomActive,l=e.allowZoom,c=g()({},e.originalDomain,e.domain),p=g()({},e.zoomDomain,e.domain),u=g()({},e.cachedZoomDomain,e.domain);i=MT.checkDomainEquality(p,u)?l&&!s?r.props.domain:g()({},a,c):p;var h=e.polar?t.modifyPolarDomain(i,c):i;h&&e.zoomDimension&&(h=DT(DT({},p),{},BT({},e.zoomDimension,h[e.zoomDimension])));var m=o&&"stack"!==n?{domain:h,data:t.downsampleZoomData(e,r,h)}:{domain:h};return d().cloneElement(r,g()(m,r.props))}))}},{key:"getChildren",value:function(e){var t=this.modifyChildren(e);return this.clipDataComponents(t,e)}}],r&&NT(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),a}(e),t.displayName="VictoryZoomContainer",t.defaultProps=DT(DT({},Ze.defaultProps),{},{clipContainerComponent:d().createElement(EA,null),allowPan:!0,allowZoom:!0,zoomActive:!1}),t.defaultEvents=function(e){return[{target:"parent",eventHandlers:DT({onMouseDown:function(t,r){return e.disable?{}:MT.onMouseDown(t,r)},onTouchStart:function(t,r){return e.disable?{}:MT.onMouseDown(t,r)},onMouseUp:function(t,r){return e.disable?{}:MT.onMouseUp(t,r)},onTouchEnd:function(t,r){return e.disable?{}:MT.onMouseUp(t,r)},onMouseLeave:function(t,r){return e.disable?{}:MT.onMouseLeave(t,r)},onTouchCancel:function(t,r){return e.disable?{}:MT.onMouseLeave(t,r)},onMouseMove:function(t,r,i,n){return e.disable?{}:MT.onMouseMove(t,r,i,n)},onTouchMove:function(t,r,i,n){return e.disable?{}:(t.preventDefault(),MT.onMouseMove(t,r,i,n))}},e.disable||!e.allowZoom?{}:{onWheel:MT.onWheel})}]},t}function HT(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r0?s:void 0);return l?{childName:r,data:l}:null}),e)}},{key:"filterDatasets",value:function(e,t){var r=this,i=t.reduce((function(t,i){var n=r.getSelectedData(e,i.data);return n?t.concat({childName:i.childName,eventKey:n.eventKey,data:n.data}):t}),[]);return i.length?i:null}},{key:"getSelectedData",value:function(e,t){for(var r,i=e.x1,n=e.y1,o=e.x2,a=e.y2,s=[],l=[],d=0,c=0,p=t.length;c=Math.min(i,o)&&r.x<=Math.max(i,o)&&r.y>=Math.min(n,a)&&r.y<=Math.max(n,a)&&(l[d]=u,s[d]=void 0===u.eventKey?c:u.eventKey,d++)}return d>0?{eventKey:s,data:l}:null}}])&&VT(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),e}());function WT(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function UT(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,i=new Array(t);re.length)&&(t=e.length);for(var r=0,i=new Array(t);r=Math.min(n,o)&&d-p<=Math.max(n,o)&&c+p>=Math.min(a,s)&&c-p<=Math.max(a,s)},getDomainBox:function(e,t,r){var i=this.getDimension(e),n=g()({},t,e.domain),o=g()({},r,n),a=Lk(e,n),s=Lk(e,o);return{x1:"y"!==i?Math.min.apply(Math,tE(s.x)):Math.min.apply(Math,tE(a.x)),x2:"y"!==i?Math.max.apply(Math,tE(s.x)):Math.max.apply(Math,tE(a.x)),y1:"x"!==i?Math.min.apply(Math,tE(s.y)):Math.min.apply(Math,tE(a.y)),y2:"x"!==i?Math.max.apply(Math,tE(s.y)):Math.max.apply(Math,tE(a.y))}},getHandles:function(e,t){var r=this.getDimension(e),i=t.x1,n=t.x2,o=t.y1,a=t.y2,s=Math.min(i,n),l=Math.max(i,n),d=Math.min(o,a),c=Math.max(o,a),p=e.handleWidth/2;return{left:"y"!==r&&{x1:s-p,x2:s+p,y1:o,y2:a},right:"y"!==r&&{x1:l-p,x2:l+p,y1:o,y2:a},top:"x"!==r&&{x1:i,x2:n,y1:d-p,y2:d+p},bottom:"x"!==r&&{x1:i,x2:n,y1:c-p,y2:c+p}}},getActiveHandles:function(e,t,r){var i=this,n=this.getHandles(t,r),o=["top","bottom","left","right"].reduce((function(t,r){return n[r]&&i.withinBounds(e,n[r])?t.concat(r):t}),[]);return o.length&&o},getResizeMutation:function(e,t){var r=e.x1,i=e.y1,n=e.x2,o=e.y2,a={left:{x1:Math.max(r,n),x2:Math.min(r,n),y1:i,y2:o},right:{x1:Math.min(r,n),x2:Math.max(r,n),y1:i,y2:o},top:{y1:Math.max(i,o),y2:Math.min(i,o),x1:r,x2:n},bottom:{y1:Math.min(i,o),y2:Math.max(i,o),x1:r,x2:n}};return t.reduce((function(e,t){return Object.assign(e,a[t])}),{})},getMinimumDomain:function(){return{x:[0,1/Number.MAX_SAFE_INTEGER],y:[0,1/Number.MAX_SAFE_INTEGER]}},getDefaultBrushArea:function(e,t,r){var i=e.domain,n=e.fullDomain,o=e.scale,a=e.horizontal,s=e.allowResize||e.defaultBrushArea?e.defaultBrushArea:"move";if("none"===s)return this.getMinimumDomain();if("disable"===s)return t;if("move"===s){var l=this.getDomainBox(e,n,t),d=e.parentSVG||qk(r),c=this.panBox($T($T($T({},e),l),{},{brushDomain:t,startX:(l.x1+l.x2)/2,startY:(l.y1+l.y2)/2}),Nk(r,d)),p=e.fullDomainBox||this.getDomainBox(e,n);return Fk($T($T({},this.constrainBox(c,p)),{},{scale:o,horizontal:a}))}return i},getSelectionMutation:function(e,t,r){var i=e.x,n=e.y,o=t.x1,a=t.x2,s=t.y1,l=t.y2;return{x1:"y"!==r?i:o,y1:"x"!==r?n:s,x2:"y"!==r?i:a,y2:"x"!==r?n:l}},panBox:function(e,t){var r=e.domain,i=e.startX,n=e.startY,o=this.getDimension(e),a=g()({},e.brushDomain,r),s=g()({},e.fullDomain,r),l=e.x1?e:this.getDomainBox(e,s,a),d=l.x1,c=l.x2,p=l.y1,u=l.y2,h=t.x,m=t.y,f=i?i-h:0,b=n?n-m:0;return{x1:"y"!==o?Math.min(d,c)-f:Math.min(d,c),x2:"y"!==o?Math.max(d,c)-f:Math.max(d,c),y1:"x"!==o?Math.min(p,u)-b:Math.min(p,u),y2:"x"!==o?Math.max(p,u)-b:Math.max(p,u)}},constrainBox:function(e,t){var r=Mk()(t,Number),i=r.x1,n=r.y1,o=r.x2,a=r.y2;return{x1:e.x2>o?o-Math.abs(e.x2-e.x1):Math.max(e.x1,i),y1:e.y2>a?a-Math.abs(e.y2-e.y1):Math.max(e.y1,n),x2:e.x1=o,l=Math.abs(i-n)>=o;switch(a){case"x":return s;case"y":return l;default:return s||l}},onMouseDown:function(e,t){var r=this;e.preventDefault();var i=t.handleWidth,n=t.cachedBrushDomain,o=t.domain,a=t.allowResize,s=t.allowDrag,l=t.allowDraw,d=this.getDimension(t),c=a||t.defaultBrushArea?t.defaultBrushArea:"move";if(!a&&!s)return{};var p=t.fullDomainBox||this.getDomainBox(t,o),u=t.parentSVG||qk(e),h=Nk(e,u),m=h.x,f=h.y;if(!this.withinBounds({x:m,y:f},p,i))return{};var b=g()({},t.brushDomain,o),y=fd()(b,n)?t.currentDomain||b||o:b||o,v=this.getDomainBox(t,o,y),w=a&&this.getActiveHandles({x:m,y:f},t,v);return w?[{target:"parent",mutation:function(){return $T({isSelecting:!0,domainBox:v,fullDomainBox:p,cachedBrushDomain:b,currentDomain:y,parentSVG:u},r.getResizeMutation(v,w))}}]:this.withinBounds({x:m,y:f},v)&&!fd()(o,y)?[{target:"parent",mutation:function(){return $T({isPanning:s,startX:m,startY:f,domainBox:v,fullDomainBox:p,currentDomain:y,cachedBrushDomain:b,parentSVG:u},v)}}]:l?[{target:"parent",mutation:function(){return $T({isSelecting:a||"move"===c,domainBox:v,fullDomainBox:p,parentSVG:u,cachedBrushDomain:b,cachedCurrentDomain:y,currentDomain:r.getMinimumDomain()},r.getSelectionMutation({x:m,y:f},v,d))}}]:{}},onGlobalMouseMove:function(e,t){var r=t.scale,i=t.isPanning,n=t.isSelecting,o=t.fullDomainBox,a=t.onBrushDomainChange,s=t.allowResize,l=t.allowDrag,d=t.horizontal,c=t.mouseMoveThreshold,p=t.parentSVG,u=this.getDimension(t),h=Nk(e,p),m=h.x,f=h.y;if(!s&&!l||c>0&&!this.hasMoved($T($T({},t),{},{x2:m,y2:f})))return{};if(l&&i){var b=t.startX,y=t.startY,v=this.panBox(t,{x:m,y:f}),w=this.constrainBox(v,o),A=Fk($T($T({},w),{},{scale:r,horizontal:d})),C=$T({currentDomain:A,parentSVG:p,startX:v.x2>=o.x2||v.x1<=o.x1?b:m,startY:v.y2>=o.y2||v.y1<=o.y1?y:f},w);return x()(a)&&a(A,g()({},C,t)),[{target:"parent",mutation:function(){return C}}]}if(s&&n){var k=this.constrainPoint({x:"y"!==u?m:t.x2,y:"x"!==u?f:t.y2},o),S=k.x,T=k.y,E=Fk({x2:S,y2:T,x1:t.x1,y1:t.y1,scale:r,horizontal:d}),_={x2:S,y2:T,currentDomain:E,parentSVG:p};return x()(a)&&a(E,g()({},_,t)),[{target:"parent",mutation:function(){return _}}]}return{}},onGlobalMouseUp:function(e,t){if(!t.isPanning&&!t.isSelecting)return{};var r=t.x1,i=t.y1,n=t.x2,o=t.y2,a=t.isPanning,s=t.isSelecting,l=t.onBrushDomainChange,d=t.onBrushDomainChangeEnd,c=t.onBrushCleared,p=t.currentDomain,u=t.allowResize,h=t.allowDrag,m=u||t.defaultBrushArea?t.defaultBrushArea:"move",f={isPanning:!1,isSelecting:!1};if(!u&&(void 0===m||"none"===m)||r!==n&&i!==o)(h&&a||u&&s)&&x()(d)&&d(p,g()({},f,t));else{var b=t.cachedCurrentDomain||p,y=this.getDefaultBrushArea(t,b,e);f.currentDomain=y,x()(l)&&l(y,g()({},f,t)),x()(d)&&d(y,g()({},f,t)),x()(c)&&c(y,g()({},f,t))}return[{target:"parent",mutation:function(){return f}}]}},nE=$T($T({},iE),{},{onMouseDown:iE.onMouseDown.bind(iE),onGlobalMouseUp:iE.onGlobalMouseUp.bind(iE),onGlobalMouseMove:Dk()(iE.onGlobalMouseMove.bind(iE),16,{leading:!0,trailing:!1})});function oE(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function aE(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,i=new Array(t);re.length)&&(t=e.length);for(var r=0,i=new Array(t);r{const r=_E(e,t),i="voronoi"===e||"voronoi"===t;return("cursor"===e||"cursor"===t)&&(r.defaultProps.cursorLabelComponent=l.createElement(Bb,{textAnchor:"start"}),r.defaultProps.cursorComponent=l.createElement(Ik,{style:{stroke:tT}})),i&&(r.defaultProps.labelComponent=l.createElement(cx,null)),r},PE=e=>[...RE(Object.assign(Object.assign({},e),{target:"data"})),...RE(Object.assign(Object.assign({},e),{target:"labels"}))],ME=(e=!1)=>e?{labels:{fill:Pm},symbol:{fill:Pm,type:"eyeSlash"}}:{},RE=({chartNames:e,isDataHidden:t=(()=>!1),isHidden:r=(()=>!1),legendName:i,onLegendClick:n=(()=>null),target:o})=>void 0===e||void 0===i?(console.error("getInteractiveLegendTargetEvents:","requires chartNames and legendName to be specified"),[]):e.map(((a,s)=>{const l=(({chartNames:e,omitIndex:t})=>{const r=[];return e.forEach(((e,i)=>{i!==t&&(Array.isArray(e)?e.forEach((e=>r.push(e))):r.push(e))})),r})({chartNames:e,legendName:i,omitIndex:s}),d=(({chartNames:e,omitIndex:t})=>{const r=[];return e.map(((e,i)=>{i!==t&&r.push(i)})),r})({chartNames:e,legendName:i,omitIndex:s});return{childName:i,target:o,eventKey:s,eventHandlers:{onClick:()=>[{target:"data",mutation:e=>(n(e),null)}],onMouseOver:()=>r(s)?null:[{childName:l,target:"data",eventKey:"all",mutation:e=>t(e.data)?null:{style:void 0!==e.slice?Object.assign(Object.assign(Object.assign({},yh(e.style,e)),s!==e.slice.index&&{opacity:Rm}),e.data[e.slice.index]._fill&&{fill:e.data[e.slice.index]._fill}):Object.assign(Object.assign({},yh(e.style,e)),{opacity:Rm})}},{childName:i,target:"data",eventKey:d,mutation:e=>r(e.index)?null:{style:Object.assign(Object.assign({},yh(e.style,e)),{opacity:Rm})}},{childName:i,target:"labels",eventKey:d,mutation:e=>{const t=e.datum&&e.datum.column?e.datum.column:0;return r(t)?null:{style:Object.assign(Object.assign({},yh(e.style,e)),{opacity:Rm})}}}],onMouseOut:()=>[{childName:"all",target:"data",eventKey:"all",mutation:()=>null},{childName:i,target:"data",eventKey:d,mutation:()=>null},{childName:i,target:"labels",eventKey:d,mutation:()=>null}]}}})),DE=(e,t)=>{let r;if(Mf){const{ResizeObserver:i}=window;if(e&&i){const n=new i((e=>{window.requestAnimationFrame((()=>{Array.isArray(e)&&e.length>0&&t()}))}));n.observe(e),r=()=>n.unobserve(e)}else window.addEventListener("resize",t),r=()=>window.removeEventListener("resize",t)}return()=>{r&&r()}};var BE;!function(e){e.x="x",e.y="y"}(BE||(BE={}));const OE=e=>{var{className:t,constrainToVisibleArea:r=!1,themeColor:i,themeVariant:n,theme:o=If(i),labelComponent:a=l.createElement(ZC,null)}=e,d=(0,s.Tt)(e,["className","constrainToVisibleArea","themeColor","themeVariant","theme","labelComponent"]);const c=Rf({className:t}),p=l.cloneElement(a,Object.assign({constrainToVisibleArea:r,theme:o},a.props));return l.createElement(ST,Object.assign({className:c,labelComponent:p,theme:o},d))};OE.displayName="ChartVoronoiContainer",OE.defaultProps=ST.defaultProps,p()(OE,ST)},21594:(e,t,r)=>{"use strict";r.r(t),r.d(t,{CodeEditor:()=>wQ,CodeEditorControl:()=>yQ,Language:()=>vQ});var i={};r.r(i),r.d(i,{CancellationTokenSource:()=>FK,Emitter:()=>HK,KeyCode:()=>VK,KeyMod:()=>zK,MarkerSeverity:()=>KK,MarkerTag:()=>QK,Position:()=>WK,Range:()=>UK,Selection:()=>GK,SelectionDirection:()=>JK,Token:()=>ZK,Uri:()=>YK,editor:()=>XK,languages:()=>$K});var n,o=r(44914),a=r(33774),s=r(93190),l=r(49045),d=r(33675),c=r(43030),p=r(22021),u=r(75279),h=r(72583),m=r(85102),f=r(49370);function g(e,t=0){return e[e.length-(1+t)]}function b(e,t,r=((e,t)=>e===t)){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let i=0,n=e.length;i!!e))}function A(e){let t=0;for(let r=0;r0}function k(e,t=(e=>e)){const r=new Set;return e.filter((e=>{const i=t(e);return!r.has(i)&&(r.add(i),!0)}))}function x(e,t){return e.length>0?e[0]:t}function S(e,t){let r="number"==typeof t?e:0;"number"==typeof t?r=e:(r=0,t=e);const i=[];if(r<=t)for(let e=r;et;e--)i.push(e);return i}function T(e,t,r){const i=e.slice(0,t),n=e.slice(t);return i.concat(r,n)}function E(e,t){const r=e.indexOf(t);r>-1&&(e.splice(r,1),e.unshift(t))}function _(e,t){const r=e.indexOf(t);r>-1&&(e.splice(r,1),e.push(t))}function I(e,t){for(const r of t)e.push(r)}function P(e,t,r,i){const n=M(e,t);let o=e.splice(n,r);return void 0===o&&(o=[]),function(e,t,r){const i=M(e,t),n=e.length,o=r.length;e.length=n+o;for(let t=n-1;t>=i;t--)e[t+o]=e[t];for(let t=0;tt(e(r),e(i))}!function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(n||(n={}));const D=(e,t)=>e-t,B=(e,t)=>D(e?1:0,t?1:0);class O{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const r=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,r}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class q{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new q((t=>this.iterate((r=>!e(r)||t(r)))))}map(e){return new q((t=>this.iterate((r=>t(e(r))))))}findLast(e){let t;return this.iterate((r=>(e(r)&&(t=r),!0))),t}findLastMaxBy(e){let t,r=!0;return this.iterate((i=>((r||n.isGreaterThan(e(i,t)))&&(r=!1,t=i),!0))),t}}function N(e){return"string"==typeof e}function L(e){return!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function j(e){const t=Object.getPrototypeOf(Uint8Array);return"object"==typeof e&&e instanceof t}function F(e){return"number"==typeof e&&!isNaN(e)}function H(e){return!!e&&"function"==typeof e[Symbol.iterator]}function V(e){return!0===e||!1===e}function z(e){return void 0===e}function W(e){return!U(e)}function U(e){return z(e)||null===e}function G(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}function J(e){if(U(e))throw new Error("Assertion Failed: argument is undefined or null");return e}function K(e){return"function"==typeof e}function Q(e,t){if(N(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(K(t)){try{if(e instanceof t)return}catch(e){}if(!U(e)&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function Y(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return e;const t=Array.isArray(e)?[]:{};return Object.entries(e).forEach((([e,r])=>{t[e]=r&&"object"==typeof r?Y(r):r})),t}q.empty=new q((e=>{}));const Z=Object.prototype.hasOwnProperty;function X(e,t){return $(e,t,new Set)}function $(e,t,r){if(U(e))return e;const i=t(e);if(void 0!==i)return i;if(Array.isArray(e)){const i=[];for(const n of e)i.push($(n,t,r));return i}if(L(e)){if(r.has(e))throw new Error("Cannot clone recursive data-structure");r.add(e);const i={};for(const n in e)Z.call(e,n)&&(i[n]=$(e[n],t,r));return r.delete(e),i}return e}function ee(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;let r,i;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(r=0;r=0;function ie(e,t,...r){return function(e,t){let r;return r=0===t.length?e:e.replace(/\{(\d+)\}/g,((e,r)=>{const i=r[0],n=t[i];let o=e;return"string"==typeof n?o=n:"number"!=typeof n&&"boolean"!=typeof n&&null!=n||(o=String(n)),o})),re&&(r="["+r.replace(/[aouei]/g,"$&$&")+"]"),r}(t,r)}var ne;const oe="en";let ae,se,le=!1,de=!1,ce=!1,pe=!1,ue=!1,he=!1,me=!1,fe=!1,ge=!1,be=!1,ye=null,ve=null,we=null;const Ae=globalThis;let Ce;void 0!==Ae.vscode&&void 0!==Ae.vscode.process?Ce=Ae.vscode.process:"undefined"!=typeof process&&(Ce=process);const ke="string"==typeof(null===(ne=null==Ce?void 0:Ce.versions)||void 0===ne?void 0:ne.electron),xe=ke&&"renderer"===(null==Ce?void 0:Ce.type);if("object"==typeof Ce){le="win32"===Ce.platform,de="darwin"===Ce.platform,ce="linux"===Ce.platform,pe=ce&&!!Ce.env.SNAP&&!!Ce.env.SNAP_REVISION,me=ke,ge=!!Ce.env.CI||!!Ce.env.BUILD_ARTIFACTSTAGINGDIRECTORY,ae=oe,ye=oe;const e=Ce.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e),r=t.availableLanguages["*"];ae=t.locale,ve=t.osLocale,ye=r||oe,we=t._translationsConfigFile}catch(e){}ue=!0}else"object"!=typeof navigator||xe?console.error("Unable to resolve platform."):(se=navigator.userAgent,le=se.indexOf("Windows")>=0,de=se.indexOf("Macintosh")>=0,fe=(se.indexOf("Macintosh")>=0||se.indexOf("iPad")>=0||se.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,ce=se.indexOf("Linux")>=0,be=(null==se?void 0:se.indexOf("Mobi"))>=0,he=!0,ae=void ie(0,"_")||oe,ye=ae,ve=navigator.language);let Se=0;de?Se=1:le?Se=3:ce&&(Se=2);const Te=le,Ee=de,_e=ce,Ie=ue,Pe=he,Me=he&&"function"==typeof Ae.importScripts?Ae.origin:void 0,Re=fe,De=be,Be=se,Oe="function"==typeof Ae.postMessage&&!Ae.importScripts,qe=(()=>{if(Oe){const e=[];Ae.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let r=0,i=e.length;r{const i=++t;e.push({id:i,callback:r}),Ae.postMessage({vscodeScheduleAsyncWork:i},"*")}}return e=>setTimeout(e)})(),Ne=de||fe?2:le?1:3;let Le=!0,je=!1;const Fe=!!(Be&&Be.indexOf("Chrome")>=0),He=!!(Be&&Be.indexOf("Firefox")>=0),Ve=!!(!Fe&&Be&&Be.indexOf("Safari")>=0),ze=!!(Be&&Be.indexOf("Edg/")>=0),We=!!(Be&&Be.indexOf("Android")>=0),Ue={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var Ge;!function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const r=Object.freeze([]);function*i(e){yield e}e.empty=function(){return r},e.single=i,e.wrap=function(e){return t(e)?e:i(e)},e.from=function(e){return e||r},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){for(const r of e)if(t(r))return!0;return!1},e.find=function(e,t){for(const r of e)if(t(r))return r},e.filter=function*(e,t){for(const r of e)t(r)&&(yield r)},e.map=function*(e,t){let r=0;for(const i of e)yield t(i,r++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,r){let i=r;for(const r of e)i=t(i,r);return i},e.slice=function*(e,t,r=e.length){for(t<0&&(t+=e.length),r<0?r+=e.length:r>e.length&&(r=e.length);tn}]},e.asyncToArray=async function(e){const t=[];for await(const r of e)t.push(r);return Promise.resolve(t)}}(Ge||(Ge={}));class Je{constructor(e){this.element=e,this.next=Je.Undefined,this.prev=Je.Undefined}}Je.Undefined=new Je(void 0);class Ke{constructor(){this._first=Je.Undefined,this._last=Je.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Je.Undefined}clear(){let e=this._first;for(;e!==Je.Undefined;){const t=e.next;e.prev=Je.Undefined,e.next=Je.Undefined,e=t}this._first=Je.Undefined,this._last=Je.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const r=new Je(e);if(this._first===Je.Undefined)this._first=r,this._last=r;else if(t){const e=this._last;this._last=r,r.prev=e,e.next=r}else{const e=this._first;this._first=r,r.next=e,e.prev=r}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(r))}}shift(){if(this._first!==Je.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Je.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Je.Undefined&&e.next!==Je.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Je.Undefined&&e.next===Je.Undefined?(this._first=Je.Undefined,this._last=Je.Undefined):e.next===Je.Undefined?(this._last=this._last.prev,this._last.next=Je.Undefined):e.prev===Je.Undefined&&(this._first=this._first.next,this._first.prev=Je.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==Je.Undefined;)yield e.element,e=e.next}}const Qe="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",Ye=function(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const r of Qe)e.indexOf(r)>=0||(t+="\\"+r);return t+="\\s]+)",new RegExp(t,"g")}();function Ze(e){let t=Ye;if(e&&e instanceof RegExp)if(e.global)t=e;else{let r="g";e.ignoreCase&&(r+="i"),e.multiline&&(r+="m"),e.unicode&&(r+="u"),t=new RegExp(e.source,r)}return t.lastIndex=0,t}const Xe=new Ke;function $e(e,t,r,i,n){if(t=Ze(t),n||(n=Ge.first(Xe)),r.length>n.maxLen){let o=e-n.maxLen/2;return o<0?o=0:i+=o,$e(e,t,r=r.substring(o,e+n.maxLen/2),i,n)}const o=Date.now(),a=e-1-i;let s=-1,l=null;for(let e=1;!(Date.now()-o>=n.timeBudget);e++){const i=a-n.windowSize*e;t.lastIndex=Math.max(0,i);const o=et(t,r,a,s);if(!o&&l)break;if(l=o,i<=0)break;s=i}if(l){const e={word:l[0],startColumn:i+1+l.index,endColumn:i+1+l.index+l[0].length};return t.lastIndex=0,e}return null}function et(e,t,r,i){let n;for(;n=e.exec(t);){const t=n.index||0;if(t<=r&&e.lastIndex>=r)return n;if(i>0&&t>i)return null}return null}Xe.unshift({maxLen:1e3,windowSize:15,timeBudget:150});class tt{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class rt{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class it{constructor(e,t,r,i){this.id=e,this.name=t,this.defaultValue=r,this.schema=i}applyUpdate(e,t){return ot(e,t)}compute(e,t,r){return r}}class nt{constructor(e,t){this.newValue=e,this.didChange=t}}function ot(e,t){if("object"!=typeof e||"object"!=typeof t||!e||!t)return new nt(t,e!==t);if(Array.isArray(e)||Array.isArray(t)){const r=Array.isArray(e)&&Array.isArray(t)&&b(e,t);return new nt(t,!r)}let r=!1;for(const i in t)if(t.hasOwnProperty(i)){const n=ot(e[i],t[i]);n.didChange&&(e[i]=n.newValue,r=!0)}return new nt(e,r)}class at{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return ot(e,t)}validate(e){return this.defaultValue}}class st{constructor(e,t,r,i){this.id=e,this.name=t,this.defaultValue=r,this.schema=i}applyUpdate(e,t){return ot(e,t)}validate(e){return void 0===e?this.defaultValue:e}compute(e,t,r){return r}}function lt(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}class dt extends st{constructor(e,t,r,i=void 0){void 0!==i&&(i.type="boolean",i.default=r),super(e,t,r,i)}validate(e){return lt(e,this.defaultValue)}}function ct(e,t,r,i){if(void 0===e)return t;let n=parseInt(e,10);return isNaN(n)?t:(n=Math.max(r,n),n=Math.min(i,n),0|n)}class pt extends st{static clampedInt(e,t,r,i){return ct(e,t,r,i)}constructor(e,t,r,i,n,o=void 0){void 0!==o&&(o.type="integer",o.default=r,o.minimum=i,o.maximum=n),super(e,t,r,o),this.minimum=i,this.maximum=n}validate(e){return pt.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function ut(e,t,r,i){if(void 0===e)return t;const n=ht.float(e,t);return ht.clamp(n,r,i)}class ht extends st{static clamp(e,t,r){return er?r:e}static float(e,t){if("number"==typeof e)return e;if(void 0===e)return t;const r=parseFloat(e);return isNaN(r)?t:r}constructor(e,t,r,i,n){void 0!==n&&(n.type="number",n.default=r),super(e,t,r,n),this.validationFn=i}validate(e){return this.validationFn(ht.float(e,this.defaultValue))}}class mt extends st{static string(e,t){return"string"!=typeof e?t:e}constructor(e,t,r,i=void 0){void 0!==i&&(i.type="string",i.default=r),super(e,t,r,i)}validate(e){return mt.string(e,this.defaultValue)}}function ft(e,t,r,i){return"string"!=typeof e?t:i&&e in i?i[e]:-1===r.indexOf(e)?t:e}class gt extends st{constructor(e,t,r,i,n=void 0){void 0!==n&&(n.type="string",n.enum=i,n.default=r),super(e,t,r,n),this._allowedValues=i}validate(e){return ft(e,this.defaultValue,this._allowedValues)}}class bt extends it{constructor(e,t,r,i,n,o,a=void 0){void 0!==a&&(a.type="string",a.enum=n,a.default=i),super(e,t,r,a),this._allowedValues=n,this._convert=o}validate(e){return"string"!=typeof e||-1===this._allowedValues.indexOf(e)?this.defaultValue:this._convert(e)}}var yt,vt;!function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(yt||(yt={}));class wt extends it{constructor(){super(51,"fontLigatures",wt.OFF,{anyOf:[{type:"boolean",description:ie(0,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:ie(0,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:ie(0,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e||0===e.length?wt.OFF:"true"===e?wt.ON:e:Boolean(e)?wt.ON:wt.OFF}}wt.OFF='"liga" off, "calt" off',wt.ON='"liga" on, "calt" on';class At extends it{constructor(){super(54,"fontVariations",At.OFF,{anyOf:[{type:"boolean",description:ie(0,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:ie(0,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:ie(0,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?At.OFF:"true"===e?At.TRANSLATE:e:Boolean(e)?At.TRANSLATE:At.OFF}compute(e,t,r){return e.fontInfo.fontVariationSettings}}At.OFF="normal",At.TRANSLATE="translate";class Ct extends it{constructor(){super(53,"fontWeight",_t.fontWeight,{anyOf:[{type:"number",minimum:Ct.MINIMUM_VALUE,maximum:Ct.MAXIMUM_VALUE,errorMessage:ie(0,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:Ct.SUGGESTION_VALUES}],default:_t.fontWeight,description:ie(0,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return"normal"===e||"bold"===e?e:String(pt.clampedInt(e,_t.fontWeight,Ct.MINIMUM_VALUE,Ct.MAXIMUM_VALUE))}}Ct.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],Ct.MINIMUM_VALUE=1,Ct.MAXIMUM_VALUE=1e3;class kt extends at{constructor(){super(144)}compute(e,t,r){return kt.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,r=Math.floor(e.paddingTop/e.lineHeight);let i=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(i=Math.max(i,t-1));const n=(r+e.viewLineCount+i)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:r,extraLinesBeyondLastLine:i,desiredRatio:n,minimapLineCount:Math.floor(e.viewLineCount/n)}}static _computeMinimapLayout(e,t){const r=e.outerWidth,i=e.outerHeight,n=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(n*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};const o=t.stableMinimapLayoutInput,a=o&&e.outerHeight===o.outerHeight&&e.lineHeight===o.lineHeight&&e.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&e.pixelRatio===o.pixelRatio&&e.scrollBeyondLastLine===o.scrollBeyondLastLine&&e.paddingTop===o.paddingTop&&e.paddingBottom===o.paddingBottom&&e.minimap.enabled===o.minimap.enabled&&e.minimap.side===o.minimap.side&&e.minimap.size===o.minimap.size&&e.minimap.showSlider===o.minimap.showSlider&&e.minimap.renderCharacters===o.minimap.renderCharacters&&e.minimap.maxColumn===o.minimap.maxColumn&&e.minimap.scale===o.minimap.scale&&e.verticalScrollbarWidth===o.verticalScrollbarWidth&&e.isViewportWrapping===o.isViewportWrapping,s=e.lineHeight,l=e.typicalHalfwidthCharacterWidth,d=e.scrollBeyondLastLine,c=e.minimap.renderCharacters;let p=n>=2?Math.round(2*e.minimap.scale):e.minimap.scale;const u=e.minimap.maxColumn,h=e.minimap.size,m=e.minimap.side,f=e.verticalScrollbarWidth,g=e.viewLineCount,b=e.remainingWidth,y=e.isViewportWrapping,v=c?2:3;let w=Math.floor(n*i);const A=w/n;let C=!1,k=!1,x=v*p,S=p/n,T=1;if("fill"===h||"fit"===h){const{typicalViewportLineCount:r,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:l,desiredRatio:c,minimapLineCount:u}=kt.computeContainedMinimapLineCount({viewLineCount:g,scrollBeyondLastLine:d,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:i,lineHeight:s,pixelRatio:n});if(g/u>1)C=!0,k=!0,p=1,x=1,S=p/n;else{let i=!1,d=p+1;if("fit"===h){const e=Math.ceil((o+g+l)*x);y&&a&&b<=t.stableFitRemainingWidth?(i=!0,d=t.stableFitMaxMinimapScale):i=e>w}if("fill"===h||i){C=!0;const i=p;x=Math.min(s*n,Math.max(1,Math.floor(1/c))),y&&a&&b<=t.stableFitRemainingWidth&&(d=t.stableFitMaxMinimapScale),p=Math.min(d,Math.max(1,Math.floor(x/v))),p>i&&(T=Math.min(2,p/i)),S=p/n/T,w=Math.ceil(Math.max(r,o+g+l)*x),y?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=b,t.stableFitMaxMinimapScale=p):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const E=Math.floor(u*S),_=Math.min(E,Math.max(0,Math.floor((b-f-2)*S/(l+S)))+8);let I=Math.floor(n*_);const P=I/n;return I=Math.floor(I*T),{renderMinimap:c?1:2,minimapLeft:"left"===m?0:r-_-f,minimapWidth:_,minimapHeightIsEditorHeight:C,minimapIsSampling:k,minimapScale:p,minimapLineHeight:x,minimapCanvasInnerWidth:I,minimapCanvasInnerHeight:w,minimapCanvasOuterWidth:P,minimapCanvasOuterHeight:A}}static computeLayout(e,t){const r=0|t.outerWidth,i=0|t.outerHeight,n=0|t.lineHeight,o=0|t.lineNumbersDigitCount,a=t.typicalHalfwidthCharacterWidth,s=t.maxDigitWidth,l=t.pixelRatio,d=t.viewLineCount,c=e.get(136),p="inherit"===c?e.get(135):c,u="inherit"===p?e.get(131):p,h=e.get(134),m=t.isDominatedByLongLines,f=e.get(57),g=0!==e.get(68).renderType,b=e.get(69),y=e.get(105),v=e.get(84),w=e.get(73),A=e.get(103),C=A.verticalScrollbarSize,k=A.verticalHasArrows,x=A.arrowSize,S=A.horizontalScrollbarSize,T=e.get(43),E="never"!==e.get(110);let _=e.get(66);T&&E&&(_+=16);let I=0;if(g){const e=Math.max(o,b);I=Math.round(e*s)}let P=0;f&&(P=n*t.glyphMarginDecorationLaneCount);let M=0,R=M+P,D=R+I,B=D+_;const O=r-P-I-_;let q=!1,N=!1,L=-1;"inherit"===p&&m?(q=!0,N=!0):"on"===u||"bounded"===u?N=!0:"wordWrapColumn"===u&&(L=h);const j=kt._computeMinimapLayout({outerWidth:r,outerHeight:i,lineHeight:n,typicalHalfwidthCharacterWidth:a,pixelRatio:l,scrollBeyondLastLine:y,paddingTop:v.top,paddingBottom:v.bottom,minimap:w,verticalScrollbarWidth:C,viewLineCount:d,remainingWidth:O,isViewportWrapping:N},t.memory||new rt);0!==j.renderMinimap&&0===j.minimapLeft&&(M+=j.minimapWidth,R+=j.minimapWidth,D+=j.minimapWidth,B+=j.minimapWidth);const F=O-j.minimapWidth,H=Math.max(1,Math.floor((F-C-2)/a)),V=k?x:0;return N&&(L=Math.max(1,H),"bounded"===u&&(L=Math.min(L,h))),{width:r,height:i,glyphMarginLeft:M,glyphMarginWidth:P,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:R,lineNumbersWidth:I,decorationsLeft:D,decorationsWidth:_,contentLeft:B,contentWidth:F,minimap:j,viewportColumn:H,isWordWrapMinified:q,isViewportWrapping:N,wrappingColumn:L,verticalScrollbarWidth:C,horizontalScrollbarHeight:S,overviewRuler:{top:V,width:C,height:i-2*V,right:0}}}}function xt(e){const t=e.get(98);return"editable"===t?e.get(91):"on"!==t}function St(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return 2;case"visible":return 3;default:return 1}}!function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(vt||(vt={}));const Tt="inUntrustedWorkspace";function Et(e,t,r){const i=r.indexOf(e);return-1===i?t:r[i]}const _t={fontFamily:Ee?"Menlo, Monaco, 'Courier New', monospace":_e?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:Ee?12:14,lineHeight:0,letterSpacing:0},It=[];function Pt(e){return It[e.id]=e,e}const Mt={acceptSuggestionOnCommitCharacter:Pt(new dt(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:ie(0,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:Pt(new gt(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",ie(0,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:ie(0,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:Pt(new class extends it{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[ie(0,"Use platform APIs to detect when a Screen Reader is attached."),ie(0,"Optimize for usage with a Screen Reader."),ie(0,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:ie(0,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,r){return 0===r?e.accessibilitySupport:r}}),accessibilityPageSize:Pt(new pt(3,"accessibilityPageSize",10,1,1073741824,{description:ie(0,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:Pt(new mt(4,"ariaLabel",ie(0,"Editor content"))),ariaRequired:Pt(new dt(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:Pt(new dt(8,"screenReaderAnnounceInlineSuggestion",!0,{description:ie(0,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:Pt(new gt(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",ie(0,"Use language configurations to determine when to autoclose brackets."),ie(0,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:ie(0,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:Pt(new gt(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",ie(0,"Use language configurations to determine when to autoclose comments."),ie(0,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:ie(0,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:Pt(new gt(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",ie(0,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:ie(0,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:Pt(new gt(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",ie(0,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:ie(0,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:Pt(new gt(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",ie(0,"Use language configurations to determine when to autoclose quotes."),ie(0,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:ie(0,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:Pt(new bt(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(e){switch(e){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[ie(0,"The editor will not insert indentation automatically."),ie(0,"The editor will keep the current line's indentation."),ie(0,"The editor will keep the current line's indentation and honor language defined brackets."),ie(0,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),ie(0,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:ie(0,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:Pt(new dt(13,"automaticLayout",!1)),autoSurround:Pt(new gt(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[ie(0,"Use language configurations to determine when to automatically surround selections."),ie(0,"Surround with quotes but not brackets."),ie(0,"Surround with brackets but not quotes."),""],description:ie(0,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:Pt(new class extends it{constructor(){const e={enabled:Ue.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:Ue.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:ie(0,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:ie(0,"Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:lt(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:lt(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:Pt(new class extends it{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[ie(0,"Enables bracket pair guides."),ie(0,"Enables bracket pair guides only for the active bracket pair."),ie(0,"Disables bracket pair guides.")],default:e.bracketPairs,description:ie(0,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[ie(0,"Enables horizontal guides as addition to vertical bracket pair guides."),ie(0,"Enables horizontal guides only for the active bracket pair."),ie(0,"Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:ie(0,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:ie(0,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:ie(0,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[ie(0,"Highlights the active indent guide."),ie(0,"Highlights the active indent guide even if bracket guides are highlighted."),ie(0,"Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:ie(0,"Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{bracketPairs:Et(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Et(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:lt(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:lt(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:Et(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:Pt(new dt(116,"stickyTabStops",!1,{description:ie(0,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:Pt(new dt(17,"codeLens",!0,{description:ie(0,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:Pt(new mt(18,"codeLensFontFamily","",{description:ie(0,"Controls the font family for CodeLens.")})),codeLensFontSize:Pt(new pt(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:ie(0,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:Pt(new dt(20,"colorDecorators",!0,{description:ie(0,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:Pt(new gt(147,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[ie(0,"Make the color picker appear both on click and hover of the color decorator"),ie(0,"Make the color picker appear on hover of the color decorator"),ie(0,"Make the color picker appear on click of the color decorator")],description:ie(0,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:Pt(new pt(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:ie(0,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:Pt(new dt(22,"columnSelection",!1,{description:ie(0,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:Pt(new class extends it{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:ie(0,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:ie(0,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertSpace:lt(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:lt(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:Pt(new dt(24,"contextmenu",!0)),copyWithSyntaxHighlighting:Pt(new dt(25,"copyWithSyntaxHighlighting",!0,{description:ie(0,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:Pt(new bt(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(e){switch(e){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:ie(0,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:Pt(new gt(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[ie(0,"Smooth caret animation is disabled."),ie(0,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),ie(0,"Smooth caret animation is always enabled.")],description:ie(0,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:Pt(new bt(28,"cursorStyle",yt.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(e){switch(e){case"line":return yt.Line;case"block":return yt.Block;case"underline":return yt.Underline;case"line-thin":return yt.LineThin;case"block-outline":return yt.BlockOutline;case"underline-thin":return yt.UnderlineThin}}),{description:ie(0,"Controls the cursor style.")})),cursorSurroundingLines:Pt(new pt(29,"cursorSurroundingLines",0,0,1073741824,{description:ie(0,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:Pt(new gt(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[ie(0,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),ie(0,"`cursorSurroundingLines` is enforced always.")],markdownDescription:ie(0,"Controls when `#cursorSurroundingLines#` should be enforced.")})),cursorWidth:Pt(new pt(31,"cursorWidth",0,0,1073741824,{markdownDescription:ie(0,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:Pt(new dt(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:Pt(new dt(33,"disableMonospaceOptimizations",!1)),domReadOnly:Pt(new dt(34,"domReadOnly",!1)),dragAndDrop:Pt(new dt(35,"dragAndDrop",!0,{description:ie(0,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:Pt(new class extends dt{constructor(){super(37,"emptySelectionClipboard",!0,{description:ie(0,"Controls whether copying without a selection copies the current line.")})}compute(e,t,r){return r&&e.emptySelectionClipboard}}),dropIntoEditor:Pt(new class extends it{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:ie(0,"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:ie(0,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[ie(0,"Show the drop selector widget after a file is dropped into the editor."),ie(0,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:lt(t.enabled,this.defaultValue.enabled),showDropSelector:ft(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:Pt(new class extends it{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(115,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:ie(0,"Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:ie(0,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:ie(0,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:ie(0,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:lt(t.enabled,this.defaultValue.enabled),maxLineCount:pt.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:ft(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:lt(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:Pt(new gt(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[ie(0,"Use a new rendering method with svgs."),ie(0,"Use a new rendering method with font characters."),ie(0,"Use the stable rendering method.")],description:ie(0,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:Pt(new mt(39,"extraEditorClassName","")),fastScrollSensitivity:Pt(new ht(40,"fastScrollSensitivity",5,(e=>e<=0?5:e),{markdownDescription:ie(0,"Scrolling speed multiplier when pressing `Alt`.")})),find:Pt(new class extends it{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:ie(0,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[ie(0,"Never seed search string from the editor selection."),ie(0,"Always seed search string from the editor selection, including word at cursor position."),ie(0,"Only seed search string from the editor selection.")],description:ie(0,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[ie(0,"Never turn on Find in Selection automatically (default)."),ie(0,"Always turn on Find in Selection automatically."),ie(0,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:ie(0,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:ie(0,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:Ee},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:ie(0,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:ie(0,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{cursorMoveOnType:lt(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof e.seedSearchStringFromSelection?e.seedSearchStringFromSelection?"always":"never":ft(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":ft(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:lt(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:lt(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:lt(t.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:Pt(new dt(42,"fixedOverflowWidgets",!1)),folding:Pt(new dt(43,"folding",!0,{description:ie(0,"Controls whether the editor has code folding enabled.")})),foldingStrategy:Pt(new gt(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[ie(0,"Use a language-specific folding strategy if available, else the indentation-based one."),ie(0,"Use the indentation-based folding strategy.")],description:ie(0,"Controls the strategy for computing folding ranges.")})),foldingHighlight:Pt(new dt(45,"foldingHighlight",!0,{description:ie(0,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:Pt(new dt(46,"foldingImportsByDefault",!1,{description:ie(0,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:Pt(new pt(47,"foldingMaximumRegions",5e3,10,65e3,{description:ie(0,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:Pt(new dt(48,"unfoldOnClickAfterEndOfLine",!1,{description:ie(0,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:Pt(new mt(49,"fontFamily",_t.fontFamily,{description:ie(0,"Controls the font family.")})),fontInfo:Pt(new class extends at{constructor(){super(50)}compute(e,t,r){return e.fontInfo}}),fontLigatures2:Pt(new wt),fontSize:Pt(new class extends st{constructor(){super(52,"fontSize",_t.fontSize,{type:"number",minimum:6,maximum:100,default:_t.fontSize,description:ie(0,"Controls the font size in pixels.")})}validate(e){const t=ht.float(e,this.defaultValue);return 0===t?_t.fontSize:ht.clamp(t,6,100)}compute(e,t,r){return e.fontInfo.fontSize}}),fontWeight:Pt(new Ct),fontVariations:Pt(new At),formatOnPaste:Pt(new dt(55,"formatOnPaste",!1,{description:ie(0,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:Pt(new dt(56,"formatOnType",!1,{description:ie(0,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:Pt(new dt(57,"glyphMargin",!0,{description:ie(0,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:Pt(new class extends it{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[ie(0,"Show Peek view of the results (default)"),ie(0,"Go to the primary result and show a Peek view"),ie(0,"Go to the primary result and enable Peek-less navigation to others")]},r=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:ie(0,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:ie(0,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:ie(0,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:ie(0,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:ie(0,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:ie(0,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:r,description:ie(0,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:r,description:ie(0,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:r,description:ie(0,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:r,description:ie(0,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:r,description:ie(0,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var t,r,i,n,o;if(!e||"object"!=typeof e)return this.defaultValue;const a=e;return{multiple:ft(a.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(t=a.multipleDefinitions)&&void 0!==t?t:ft(a.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(r=a.multipleTypeDefinitions)&&void 0!==r?r:ft(a.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(i=a.multipleDeclarations)&&void 0!==i?i:ft(a.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(n=a.multipleImplementations)&&void 0!==n?n:ft(a.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(o=a.multipleReferences)&&void 0!==o?o:ft(a.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:mt.string(a.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:mt.string(a.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:mt.string(a.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:mt.string(a.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:mt.string(a.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}),hideCursorInOverviewRuler:Pt(new dt(59,"hideCursorInOverviewRuler",!1,{description:ie(0,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:Pt(new class extends it{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:ie(0,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:ie(0,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:ie(0,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:ie(0,"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:ie(0,"Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:lt(t.enabled,this.defaultValue.enabled),delay:pt.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:lt(t.sticky,this.defaultValue.sticky),hidingDelay:pt.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:lt(t.above,this.defaultValue.above)}}}),inDiffEditor:Pt(new dt(61,"inDiffEditor",!1)),letterSpacing:Pt(new ht(64,"letterSpacing",_t.letterSpacing,(e=>ht.clamp(e,-5,20)),{description:ie(0,"Controls the letter spacing in pixels.")})),lightbulb:Pt(new class extends it{constructor(){const e={enabled:vt.OnCode};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[vt.Off,vt.OnCode,vt.On],default:e.enabled,enumDescriptions:[ie(0,"Disable the code action menu."),ie(0,"Show the code action menu when the cursor is on lines with code."),ie(0,"Show the code action menu when the cursor is on lines with code or on empty lines.")],description:ie(0,"Enables the Code Action lightbulb in the editor.")}})}validate(e){return e&&"object"==typeof e?{enabled:ft(e.enabled,this.defaultValue.enabled,[vt.Off,vt.OnCode,vt.On])}:this.defaultValue}}),lineDecorationsWidth:Pt(new class extends it{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){return"string"==typeof e&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):pt.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,r){return r<0?pt.clampedInt(-r*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):r}}),lineHeight:Pt(new class extends ht{constructor(){super(67,"lineHeight",_t.lineHeight,(e=>ht.clamp(e,0,150)),{markdownDescription:ie(0,"Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(e,t,r){return e.fontInfo.lineHeight}}),lineNumbers:Pt(new class extends it{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[ie(0,"Line numbers are not rendered."),ie(0,"Line numbers are rendered as absolute number."),ie(0,"Line numbers are rendered as distance in lines to cursor position."),ie(0,"Line numbers are rendered every 10 lines.")],default:"on",description:ie(0,"Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,r=this.defaultValue.renderFn;return void 0!==e&&("function"==typeof e?(t=4,r=e):t="interval"===e?3:"relative"===e?2:"on"===e?1:0),{renderType:t,renderFn:r}}}),lineNumbersMinChars:Pt(new pt(69,"lineNumbersMinChars",5,1,300)),linkedEditing:Pt(new dt(70,"linkedEditing",!1,{description:ie(0,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:Pt(new dt(71,"links",!0,{description:ie(0,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:Pt(new gt(72,"matchBrackets","always",["always","near","never"],{description:ie(0,"Highlight matching brackets.")})),minimap:Pt(new class extends it{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:ie(0,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:ie(0,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[ie(0,"The minimap has the same size as the editor contents (and might scroll)."),ie(0,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),ie(0,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:ie(0,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:ie(0,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:ie(0,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:ie(0,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:ie(0,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:ie(0,"Limit the width of the minimap to render at most a certain number of columns.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:lt(t.enabled,this.defaultValue.enabled),autohide:lt(t.autohide,this.defaultValue.autohide),size:ft(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:ft(t.side,this.defaultValue.side,["right","left"]),showSlider:ft(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:lt(t.renderCharacters,this.defaultValue.renderCharacters),scale:pt.clampedInt(t.scale,1,1,3),maxColumn:pt.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}),mouseStyle:Pt(new gt(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:Pt(new ht(75,"mouseWheelScrollSensitivity",1,(e=>0===e?1:e),{markdownDescription:ie(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:Pt(new dt(76,"mouseWheelZoom",!1,{markdownDescription:ie(0,Ee?"Zoom the font of the editor when using mouse wheel and holding `Cmd`.":"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:Pt(new dt(77,"multiCursorMergeOverlapping",!0,{description:ie(0,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:Pt(new bt(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(e){return"ctrlCmd"===e?Ee?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[ie(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),ie(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:ie(0,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:Pt(new gt(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[ie(0,"Each cursor pastes a single line of the text."),ie(0,"Each cursor pastes the full text.")],markdownDescription:ie(0,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:Pt(new pt(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:ie(0,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:Pt(new gt(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[ie(0,"Does not highlight occurrences."),ie(0,"Highlights occurrences only in the current file."),ie(0,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:ie(0,"Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:Pt(new dt(82,"overviewRulerBorder",!0,{description:ie(0,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:Pt(new pt(83,"overviewRulerLanes",3,0,3)),padding:Pt(new class extends it{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:ie(0,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:ie(0,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{top:pt.clampedInt(t.top,0,0,1e3),bottom:pt.clampedInt(t.bottom,0,0,1e3)}}}),pasteAs:Pt(new class extends it{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:ie(0,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:ie(0,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[ie(0,"Show the paste selector widget after content is pasted into the editor."),ie(0,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:lt(t.enabled,this.defaultValue.enabled),showPasteSelector:ft(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}),parameterHints:Pt(new class extends it{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:ie(0,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:ie(0,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:lt(t.enabled,this.defaultValue.enabled),cycle:lt(t.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:Pt(new gt(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[ie(0,"Focus the tree when opening peek"),ie(0,"Focus the editor when opening peek")],description:ie(0,"Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:Pt(new dt(88,"definitionLinkOpensInPeek",!1,{description:ie(0,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:Pt(new class extends it{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[ie(0,"Quick suggestions show inside the suggest widget"),ie(0,"Quick suggestions show as ghost text"),ie(0,"Quick suggestions are disabled")]}];super(89,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:ie(0,"Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:ie(0,"Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:ie(0,"Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:ie(0,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=e}validate(e){if("boolean"==typeof e){const t=e?"on":"off";return{comments:t,strings:t,other:t}}if(!e||"object"!=typeof e)return this.defaultValue;const{other:t,comments:r,strings:i}=e,n=["on","inline","off"];let o,a,s;return o="boolean"==typeof t?t?"on":"off":ft(t,this.defaultValue.other,n),a="boolean"==typeof r?r?"on":"off":ft(r,this.defaultValue.comments,n),s="boolean"==typeof i?i?"on":"off":ft(i,this.defaultValue.strings,n),{other:o,comments:a,strings:s}}}),quickSuggestionsDelay:Pt(new pt(90,"quickSuggestionsDelay",10,0,1073741824,{description:ie(0,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:Pt(new dt(91,"readOnly",!1)),readOnlyMessage:Pt(new class extends it{constructor(){super(92,"readOnlyMessage",void 0)}validate(e){return e&&"object"==typeof e?e:this.defaultValue}}),renameOnType:Pt(new dt(93,"renameOnType",!1,{description:ie(0,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:ie(0,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:Pt(new dt(94,"renderControlCharacters",!0,{description:ie(0,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:Pt(new gt(95,"renderFinalNewline",_e?"dimmed":"on",["off","on","dimmed"],{description:ie(0,"Render last line number when the file ends with a newline.")})),renderLineHighlight:Pt(new gt(96,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",ie(0,"Highlights both the gutter and the current line.")],description:ie(0,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:Pt(new dt(97,"renderLineHighlightOnlyWhenFocus",!1,{description:ie(0,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:Pt(new gt(98,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:Pt(new gt(99,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",ie(0,"Render whitespace characters except for single spaces between words."),ie(0,"Render whitespace characters only on selected text."),ie(0,"Render only trailing whitespace characters."),""],description:ie(0,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:Pt(new pt(100,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:Pt(new dt(101,"roundedSelection",!0,{description:ie(0,"Controls whether selections should have rounded corners.")})),rulers:Pt(new class extends it{constructor(){const e=[],t={type:"number",description:ie(0,"Number of monospace characters at which this editor ruler will render.")};super(102,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:ie(0,"Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:ie(0,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(const r of e)if("number"==typeof r)t.push({column:pt.clampedInt(r,0,0,1e4),color:null});else if(r&&"object"==typeof r){const e=r;t.push({column:pt.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort(((e,t)=>e.column-t.column)),t}return this.defaultValue}}),scrollbar:Pt(new class extends it{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(103,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[ie(0,"The vertical scrollbar will be visible only when necessary."),ie(0,"The vertical scrollbar will always be visible."),ie(0,"The vertical scrollbar will always be hidden.")],default:"auto",description:ie(0,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[ie(0,"The horizontal scrollbar will be visible only when necessary."),ie(0,"The horizontal scrollbar will always be visible."),ie(0,"The horizontal scrollbar will always be hidden.")],default:"auto",description:ie(0,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:ie(0,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:ie(0,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:ie(0,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:ie(0,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e,r=pt.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),i=pt.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:pt.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:St(t.vertical,this.defaultValue.vertical),horizontal:St(t.horizontal,this.defaultValue.horizontal),useShadows:lt(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:lt(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:lt(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:lt(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:lt(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:r,horizontalSliderSize:pt.clampedInt(t.horizontalSliderSize,r,0,1e3),verticalScrollbarSize:i,verticalSliderSize:pt.clampedInt(t.verticalSliderSize,i,0,1e3),scrollByPage:lt(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:lt(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}),scrollBeyondLastColumn:Pt(new pt(104,"scrollBeyondLastColumn",4,0,1073741824,{description:ie(0,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:Pt(new dt(105,"scrollBeyondLastLine",!0,{description:ie(0,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:Pt(new dt(106,"scrollPredominantAxis",!0,{description:ie(0,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:Pt(new dt(107,"selectionClipboard",!0,{description:ie(0,"Controls whether the Linux primary clipboard should be supported."),included:_e})),selectionHighlight:Pt(new dt(108,"selectionHighlight",!0,{description:ie(0,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:Pt(new dt(109,"selectOnLineNumbers",!0)),showFoldingControls:Pt(new gt(110,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[ie(0,"Always show the folding controls."),ie(0,"Never show the folding controls and reduce the gutter size."),ie(0,"Only show the folding controls when the mouse is over the gutter.")],description:ie(0,"Controls when the folding controls on the gutter are shown.")})),showUnused:Pt(new dt(111,"showUnused",!0,{description:ie(0,"Controls fading out of unused code.")})),showDeprecated:Pt(new dt(139,"showDeprecated",!0,{description:ie(0,"Controls strikethrough deprecated variables.")})),inlayHints:Pt(new class extends it{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(140,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:ie(0,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[ie(0,"Inlay hints are enabled"),ie(0,"Inlay hints are showing by default and hide when holding {0}",Ee?"Ctrl+Option":"Ctrl+Alt"),ie(0,"Inlay hints are hidden by default and show when holding {0}",Ee?"Ctrl+Option":"Ctrl+Alt"),ie(0,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:ie(0,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:ie(0,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:ie(0,"Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return"boolean"==typeof t.enabled&&(t.enabled=t.enabled?"on":"off"),{enabled:ft(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:pt.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:mt.string(t.fontFamily,this.defaultValue.fontFamily),padding:lt(t.padding,this.defaultValue.padding)}}}),snippetSuggestions:Pt(new gt(112,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[ie(0,"Show snippet suggestions on top of other suggestions."),ie(0,"Show snippet suggestions below other suggestions."),ie(0,"Show snippets suggestions with other suggestions."),ie(0,"Do not show snippet suggestions.")],description:ie(0,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:Pt(new class extends it{constructor(){super(113,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:ie(0,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:ie(0,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return e&&"object"==typeof e?{selectLeadingAndTrailingWhitespace:lt(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:lt(e.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}),smoothScrolling:Pt(new dt(114,"smoothScrolling",!1,{description:ie(0,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:Pt(new pt(117,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:Pt(new class extends it{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(118,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[ie(0,"Insert suggestion without overwriting text right of the cursor."),ie(0,"Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:ie(0,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:ie(0,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:ie(0,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:ie(0,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[ie(0,"Always select a suggestion when automatically triggering IntelliSense."),ie(0,"Never select a suggestion when automatically triggering IntelliSense."),ie(0,"Select a suggestion only when triggering IntelliSense from a trigger character."),ie(0,"Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:ie(0,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:ie(0,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:ie(0,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:ie(0,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:ie(0,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:ie(0,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:ie(0,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:ie(0,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:ie(0,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{insertMode:ft(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:lt(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:lt(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:lt(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:lt(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:ft(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:lt(t.showIcons,this.defaultValue.showIcons),showStatusBar:lt(t.showStatusBar,this.defaultValue.showStatusBar),preview:lt(t.preview,this.defaultValue.preview),previewMode:ft(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:lt(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:lt(t.showMethods,this.defaultValue.showMethods),showFunctions:lt(t.showFunctions,this.defaultValue.showFunctions),showConstructors:lt(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:lt(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:lt(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:lt(t.showFields,this.defaultValue.showFields),showVariables:lt(t.showVariables,this.defaultValue.showVariables),showClasses:lt(t.showClasses,this.defaultValue.showClasses),showStructs:lt(t.showStructs,this.defaultValue.showStructs),showInterfaces:lt(t.showInterfaces,this.defaultValue.showInterfaces),showModules:lt(t.showModules,this.defaultValue.showModules),showProperties:lt(t.showProperties,this.defaultValue.showProperties),showEvents:lt(t.showEvents,this.defaultValue.showEvents),showOperators:lt(t.showOperators,this.defaultValue.showOperators),showUnits:lt(t.showUnits,this.defaultValue.showUnits),showValues:lt(t.showValues,this.defaultValue.showValues),showConstants:lt(t.showConstants,this.defaultValue.showConstants),showEnums:lt(t.showEnums,this.defaultValue.showEnums),showEnumMembers:lt(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:lt(t.showKeywords,this.defaultValue.showKeywords),showWords:lt(t.showWords,this.defaultValue.showWords),showColors:lt(t.showColors,this.defaultValue.showColors),showFiles:lt(t.showFiles,this.defaultValue.showFiles),showReferences:lt(t.showReferences,this.defaultValue.showReferences),showFolders:lt(t.showFolders,this.defaultValue.showFolders),showTypeParameters:lt(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:lt(t.showSnippets,this.defaultValue.showSnippets),showUsers:lt(t.showUsers,this.defaultValue.showUsers),showIssues:lt(t.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:Pt(new class extends it{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:ie(0,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[ie(0,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),ie(0,"Show the inline suggestion toolbar when hovering over an inline suggestion."),ie(0,"Never show the inline suggestion toolbar.")],description:ie(0,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:ie(0,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:e.fontFamily,description:ie(0,"Controls the font family of the inline suggestions.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:lt(t.enabled,this.defaultValue.enabled),mode:ft(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:ft(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:lt(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:lt(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:mt.string(t.fontFamily,this.defaultValue.fontFamily)}}}),inlineEdit:Pt(new class extends it{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1,backgroundColoring:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:ie(0,"Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[ie(0,"Show the inline edit toolbar whenever an inline suggestion is shown."),ie(0,"Show the inline edit toolbar when hovering over an inline suggestion."),ie(0,"Never show the inline edit toolbar.")],description:ie(0,"Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:ie(0,"Controls the font family of the inline edit.")},"editor.experimentalInlineEdit.backgroundColoring":{type:"boolean",default:e.backgroundColoring,description:ie(0,"Controls whether to color the background of inline edits.")}})}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{enabled:lt(t.enabled,this.defaultValue.enabled),showToolbar:ft(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:mt.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:lt(t.keepOnBlur,this.defaultValue.keepOnBlur),backgroundColoring:lt(t.backgroundColoring,this.defaultValue.backgroundColoring)}}}),inlineCompletionsAccessibilityVerbose:Pt(new dt(148,"inlineCompletionsAccessibilityVerbose",!1,{description:ie(0,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:Pt(new pt(119,"suggestFontSize",0,0,1e3,{markdownDescription:ie(0,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:Pt(new pt(120,"suggestLineHeight",0,0,1e3,{markdownDescription:ie(0,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:Pt(new dt(121,"suggestOnTriggerCharacters",!0,{description:ie(0,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:Pt(new gt(122,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[ie(0,"Always select the first suggestion."),ie(0,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),ie(0,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:ie(0,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:Pt(new gt(123,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[ie(0,"Tab complete will insert the best matching suggestion when pressing tab."),ie(0,"Disable tab completions."),ie(0,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:ie(0,"Enables tab completions.")})),tabIndex:Pt(new pt(124,"tabIndex",0,-1,1073741824)),unicodeHighlight:Pt(new class extends it{constructor(){const e={nonBasicASCII:Tt,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Tt,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(125,"unicodeHighlight",e,{"editor.unicodeHighlight.nonBasicASCII":{restricted:!0,type:["boolean","string"],enum:[!0,!1,Tt],default:e.nonBasicASCII,description:ie(0,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},"editor.unicodeHighlight.invisibleCharacters":{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:ie(0,"Controls whether characters that just reserve space or have no width at all are highlighted.")},"editor.unicodeHighlight.ambiguousCharacters":{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:ie(0,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},"editor.unicodeHighlight.includeComments":{restricted:!0,type:["boolean","string"],enum:[!0,!1,Tt],default:e.includeComments,description:ie(0,"Controls whether characters in comments should also be subject to Unicode highlighting.")},"editor.unicodeHighlight.includeStrings":{restricted:!0,type:["boolean","string"],enum:[!0,!1,Tt],default:e.includeStrings,description:ie(0,"Controls whether characters in strings should also be subject to Unicode highlighting.")},"editor.unicodeHighlight.allowedCharacters":{restricted:!0,type:"object",default:e.allowedCharacters,description:ie(0,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},"editor.unicodeHighlight.allowedLocales":{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:ie(0,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let r=!1;t.allowedCharacters&&e&&(ee(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},r=!0)),t.allowedLocales&&e&&(ee(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},r=!0));const i=super.applyUpdate(e,t);return r?new nt(i.newValue,!0):i}validate(e){if(!e||"object"!=typeof e)return this.defaultValue;const t=e;return{nonBasicASCII:Et(t.nonBasicASCII,Tt,[!0,!1,Tt]),invisibleCharacters:lt(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:lt(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Et(t.includeComments,Tt,[!0,!1,Tt]),includeStrings:Et(t.includeStrings,Tt,[!0,!1,Tt]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if("object"!=typeof e||!e)return t;const r={};for(const[t,i]of Object.entries(e))!0===i&&(r[t]=!0);return r}}),unusualLineTerminators:Pt(new gt(126,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[ie(0,"Unusual line terminators are automatically removed."),ie(0,"Unusual line terminators are ignored."),ie(0,"Unusual line terminators prompt to be removed.")],description:ie(0,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:Pt(new dt(127,"useShadowDOM",!0)),useTabStops:Pt(new dt(128,"useTabStops",!0,{description:ie(0,"Inserting and deleting whitespace follows tab stops.")})),wordBreak:Pt(new gt(129,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[ie(0,"Use the default line break rule."),ie(0,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:ie(0,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSeparators:Pt(new mt(130,"wordSeparators",Qe,{description:ie(0,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:Pt(new gt(131,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[ie(0,"Lines will never wrap."),ie(0,"Lines will wrap at the viewport width."),ie(0,"Lines will wrap at `#editor.wordWrapColumn#`."),ie(0,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:ie(0,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:Pt(new mt(132,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:Pt(new mt(133,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:Pt(new pt(134,"wordWrapColumn",80,1,1073741824,{markdownDescription:ie(0,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:Pt(new gt(135,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:Pt(new gt(136,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:Pt(new class extends at{constructor(){super(141)}compute(e,t,r){const i=["monaco-editor"];return t.get(39)&&i.push(t.get(39)),e.extraEditorClassName&&i.push(e.extraEditorClassName),"default"===t.get(74)?i.push("mouse-default"):"copy"===t.get(74)&&i.push("mouse-copy"),t.get(111)&&i.push("showUnused"),t.get(139)&&i.push("showDeprecated"),i.join(" ")}}),defaultColorDecorators:Pt(new dt(146,"defaultColorDecorators",!1,{markdownDescription:ie(0,"Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:Pt(new class extends at{constructor(){super(142)}compute(e,t,r){return e.pixelRatio}}),tabFocusMode:Pt(new dt(143,"tabFocusMode",!1,{markdownDescription:ie(0,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:Pt(new kt),wrappingInfo:Pt(new class extends at{constructor(){super(145)}compute(e,t,r){const i=t.get(144);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:i.isWordWrapMinified,isViewportWrapping:i.isViewportWrapping,wrappingColumn:i.wrappingColumn}}}),wrappingIndent:Pt(new class extends it{constructor(){super(137,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[ie(0,"No indentation. Wrapped lines begin at column 1."),ie(0,"Wrapped lines get the same indentation as the parent."),ie(0,"Wrapped lines get +1 indentation toward the parent."),ie(0,"Wrapped lines get +2 indentation toward the parent.")],description:ie(0,"Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,r){return 2===t.get(2)?0:r}}),wrappingStrategy:Pt(new class extends it{constructor(){super(138,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[ie(0,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),ie(0,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:ie(0,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return ft(e,"simple",["simple","advanced"])}compute(e,t,r){return 2===t.get(2)?"advanced":r}})},Rt=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(Vt.isErrorNoTelemetry(e))throw new Vt(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function Dt(e){Nt(e)||Rt.onUnexpectedError(e)}function Bt(e){Nt(e)||Rt.onUnexpectedExternalError(e)}function Ot(e){if(e instanceof Error){const{name:t,message:r}=e;return{$isError:!0,name:t,message:r,stack:e.stacktrace||e.stack,noTelemetry:Vt.isErrorNoTelemetry(e)}}return e}const qt="Canceled";function Nt(e){return e instanceof Lt||e instanceof Error&&e.name===qt&&e.message===qt}class Lt extends Error{constructor(){super(qt),this.name=this.message}}function jt(e){return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")}function Ft(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")}class Ht extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class Vt extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof Vt)return e;const t=new Vt;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class zt extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,zt.prototype)}}function Wt(e,t){const r=this;let i,n=!1;return function(){if(n)return i;if(n=!0,t)try{i=e.apply(r,arguments)}finally{t()}else i=e.apply(r,arguments);return i}}let Ut=null;function Gt(e){return null==Ut||Ut.trackDisposable(e),e}function Jt(e){null==Ut||Ut.markAsDisposed(e)}function Kt(e,t){null==Ut||Ut.setParent(e,t)}function Qt(e){return null==Ut||Ut.markAsSingleton(e),e}function Yt(e){if(Ge.is(e)){const t=[];for(const r of e)if(r)try{r.dispose()}catch(e){t.push(e)}if(1===t.length)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function Zt(...e){const t=Xt((()=>Yt(e)));return function(e,t){if(Ut)for(const r of e)Ut.setParent(r,t)}(e,t),t}function Xt(e){const t=Gt({dispose:Wt((()=>{Jt(t),e()}))});return t}class $t{constructor(){this._toDispose=new Set,this._isDisposed=!1,Gt(this)}dispose(){this._isDisposed||(Jt(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{Yt(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return Kt(e,this),this._isDisposed?$t.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),Kt(e,null))}}$t.DISABLE_DISPOSED_WARNING=!1;class er{constructor(){this._store=new $t,Gt(this),Kt(this._store,this)}dispose(){Jt(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}er.None=Object.freeze({dispose(){}});class tr{constructor(){this._isDisposed=!1,Gt(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||(null===(t=this._value)||void 0===t||t.dispose(),e&&Kt(e,this),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,Jt(this),null===(e=this._value)||void 0===e||e.dispose(),this._value=void 0}}class rr{constructor(e){this.object=e}dispose(){}}class ir{constructor(){this._store=new Map,this._isDisposed=!1,Gt(this)}dispose(){Jt(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{Yt(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,r=!1){var i;this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),r||null===(i=this._store.get(e))||void 0===i||i.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;null===(t=this._store.get(e))||void 0===t||t.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const nr=globalThis.performance&&"function"==typeof globalThis.performance.now;class or{static create(e){return new or(e)}constructor(e){this._now=nr&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}var ar;!function(e){function t(e){return(t,r=null,i)=>{let n,o=!1;return n=e((e=>{if(!o)return n?n.dispose():o=!0,t.call(r,e)}),null,i),o&&n.dispose(),n}}function r(e,t,r){return n(((r,i=null,n)=>e((e=>r.call(i,t(e))),null,n)),r)}function i(e,t,r){return n(((r,i=null,n)=>e((e=>t(e)&&r.call(i,e)),null,n)),r)}function n(e,t){let r;const i=new pr({onWillAddFirstListener(){r=e(i.fire,i)},onDidRemoveLastListener(){null==r||r.dispose()}});return null==t||t.add(i),i.event}function o(e,t,r=100,i=!1,n=!1,o,a){let s,l,d,c,p=0;const u=new pr({leakWarningThreshold:o,onWillAddFirstListener(){s=e((e=>{p++,l=t(l,e),i&&!d&&(u.fire(l),l=void 0),c=()=>{const e=l;l=void 0,d=void 0,(!i||p>1)&&u.fire(e),p=0},"number"==typeof r?(clearTimeout(d),d=setTimeout(c,r)):void 0===d&&(d=0,queueMicrotask(c))}))},onWillRemoveListener(){n&&p>0&&(null==c||c())},onDidRemoveLastListener(){c=void 0,s.dispose()}});return null==a||a.add(u),u.event}e.None=()=>er.None,e.defer=function(e,t){return o(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=t,e.map=r,e.forEach=function(e,t,r){return n(((r,i=null,n)=>e((e=>{t(e),r.call(i,e)}),null,n)),r)},e.filter=i,e.signal=function(e){return e},e.any=function(...e){return(t,r=null,i)=>{return n=Zt(...e.map((e=>e((e=>t.call(r,e)))))),(o=i)instanceof Array?o.push(n):o&&o.add(n),n;var n,o}},e.reduce=function(e,t,i,n){let o=i;return r(e,(e=>(o=t(o,e),o)),n)},e.debounce=o,e.accumulate=function(t,r=0,i){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),r,void 0,!0,void 0,i)},e.latch=function(e,t=((e,t)=>e===t),r){let n,o=!0;return i(e,(e=>{const r=o||!t(e,n);return o=!1,n=e,r}),r)},e.split=function(t,r,i){return[e.filter(t,r,i),e.filter(t,(e=>!r(e)),i)]},e.buffer=function(e,t=!1,r=[],i){let n=r.slice(),o=e((e=>{n?n.push(e):s.fire(e)}));i&&i.add(o);const a=()=>{null==n||n.forEach((e=>s.fire(e))),n=null},s=new pr({onWillAddFirstListener(){o||(o=e((e=>s.fire(e))),i&&i.add(o))},onDidAddFirstListener(){n&&(t?setTimeout(a):a())},onDidRemoveLastListener(){o&&o.dispose(),o=null}});return i&&i.add(s),s.event},e.chain=function(e,t){return(r,i,n)=>{const o=t(new s);return e((function(e){const t=o.evaluate(e);t!==a&&r.call(i,t)}),void 0,n)}};const a=Symbol("HaltChainable");class s{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:a)),this}reduce(e,t){let r=t;return this.steps.push((t=>(r=e(r,t),r))),this}latch(e=((e,t)=>e===t)){let t,r=!0;return this.steps.push((i=>{const n=r||!e(i,t);return r=!1,t=i,n?i:a})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===a)break;return e}}e.fromNodeEventEmitter=function(e,t,r=(e=>e)){const i=(...e)=>n.fire(r(...e)),n=new pr({onWillAddFirstListener:()=>e.on(t,i),onDidRemoveLastListener:()=>e.removeListener(t,i)});return n.event},e.fromDOMEventEmitter=function(e,t,r=(e=>e)){const i=(...e)=>n.fire(r(...e)),n=new pr({onWillAddFirstListener:()=>e.addEventListener(t,i),onDidRemoveLastListener:()=>e.removeEventListener(t,i)});return n.event},e.toPromise=function(e){return new Promise((r=>t(e)(r)))},e.fromPromise=function(e){const t=new pr;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.runAndSubscribe=function(e,t,r){return t(r),e((e=>t(e)))};class l{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;const r={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new pr(r),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new l(e,t).emitter.event},e.fromObservableLight=function(e){return(t,r,i)=>{let n=0,o=!1;const a={beginUpdate(){n++},endUpdate(){n--,0===n&&(e.reportChanges(),o&&(o=!1,t.call(r)))},handlePossibleChange(){},handleChange(){o=!0}};e.addObserver(a),e.reportChanges();const s={dispose(){e.removeObserver(a)}};return i instanceof $t?i.add(s):Array.isArray(i)&&i.push(s),s}}}(ar||(ar={}));class sr{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${sr._idPool++}`,sr.all.add(this)}start(e){this._stopWatch=new or,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}sr.all=new Set,sr._idPool=0;class lr{constructor(e,t=Math.random().toString(18).slice(2,5)){this.threshold=e,this.name=t,this._warnCountdown=0}dispose(){var e;null===(e=this._stacks)||void 0===e||e.clear()}check(e,t){const r=this.threshold;if(r<=0||t{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}}class dr{static create(){var e;return new dr(null!==(e=(new Error).stack)&&void 0!==e?e:"")}constructor(e){this.value=e}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class cr{constructor(e){this.value=e}}class pr{constructor(e){var t,r,i,n,o;this._size=0,this._options=e,this._leakageMon=(null===(t=this._options)||void 0===t?void 0:t.leakWarningThreshold)?new lr(null!==(i=null===(r=this._options)||void 0===r?void 0:r.leakWarningThreshold)&&void 0!==i?i:-1):void 0,this._perfMon=(null===(n=this._options)||void 0===n?void 0:n._profName)?new sr(this._options._profName):void 0,this._deliveryQueue=null===(o=this._options)||void 0===o?void 0:o.deliveryQueue}dispose(){var e,t,r,i;this._disposed||(this._disposed=!0,(null===(e=this._deliveryQueue)||void 0===e?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),null===(r=null===(t=this._options)||void 0===t?void 0:t.onDidRemoveLastListener)||void 0===r||r.call(t),null===(i=this._leakageMon)||void 0===i||i.dispose())}get event(){var e;return null!==(e=this._event)&&void 0!==e||(this._event=(e,t,r)=>{var i,n,o,a,s;if(this._leakageMon&&this._size>3*this._leakageMon.threshold)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),er.None;if(this._disposed)return er.None;t&&(e=e.bind(t));const l=new cr(e);let d;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(l.stack=dr.create(),d=this._leakageMon.check(l.stack,this._size+1)),this._listeners?this._listeners instanceof cr?(null!==(s=this._deliveryQueue)&&void 0!==s||(this._deliveryQueue=new ur),this._listeners=[this._listeners,l]):this._listeners.push(l):(null===(n=null===(i=this._options)||void 0===i?void 0:i.onWillAddFirstListener)||void 0===n||n.call(i,this),this._listeners=l,null===(a=null===(o=this._options)||void 0===o?void 0:o.onDidAddFirstListener)||void 0===a||a.call(o,this)),this._size++;const c=Xt((()=>{null==d||d(),this._removeListener(l)}));return r instanceof $t?r.add(c):Array.isArray(r)&&r.push(c),c}),this._event}_removeListener(e){var t,r,i,n;if(null===(r=null===(t=this._options)||void 0===t?void 0:t.onWillRemoveListener)||void 0===r||r.call(t,this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,null===(n=null===(i=this._options)||void 0===i?void 0:i.onDidRemoveLastListener)||void 0===n||n.call(i,this),void(this._size=0);const o=this._listeners,a=o.indexOf(e);if(-1===a)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,o[a]=void 0;const s=this._deliveryQueue.current===this;if(2*this._size<=o.length){let e=0;for(let t=0;t0}}class ur{constructor(){this.i=-1,this.end=0}enqueue(e,t,r){this.i=0,this.end=r,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class hr extends pr{constructor(e){super(e),this._isPaused=0,this._eventQueue=new Ke,this._mergeFn=null==e?void 0:e.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(0!==this._isPaused?this._eventQueue.push(e):super.fire(e))}}class mr extends hr{constructor(e){var t;super(e),this._delay=null!==(t=e.delay)&&void 0!==t?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(e)}}class fr extends pr{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=null==e?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((e=>super.fire(e))),this._queuedEvents=[]})))}}class gr{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new pr({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),Xt(Wt((()=>{this.hasListeners&&this.unhook(t);const e=this.events.indexOf(t);this.events.splice(e,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((e=>this.hook(e)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((e=>this.unhook(e)))}hook(e){e.listener=e.event((e=>this.emitter.fire(e)))}unhook(e){var t;null===(t=e.listener)||void 0===t||t.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)null===(e=t.listener)||void 0===e||e.dispose();this.events=[]}}class br{constructor(){this.buffers=[]}wrapEvent(e){return(t,r,i)=>e((e=>{const i=this.buffers[this.buffers.length-1];i?i.push((()=>t.call(r,e))):t.call(r,e)}),void 0,i)}bufferEvents(e){const t=[];this.buffers.push(t);const r=e();return this.buffers.pop(),t.forEach((e=>e())),r}}class yr{constructor(){this.listening=!1,this.inputEvent=ar.None,this.inputEventListener=er.None,this.emitter=new pr({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const vr=Object.freeze((function(e,t){const r=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(r)}}}));var wr;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||t instanceof Ar||!(!t||"object"!=typeof t)&&"boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ar.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:vr})}(wr||(wr={}));class Ar{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?vr:(this._emitter||(this._emitter=new pr),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Cr{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Ar),this._token}cancel(){this._token?this._token instanceof Ar&&this._token.cancel():this._token=wr.Cancelled}dispose(e=!1){var t;e&&this.cancel(),null===(t=this._parentListener)||void 0===t||t.dispose(),this._token?this._token instanceof Ar&&this._token.dispose():this._token=wr.None}}class kr{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const xr=new kr,Sr=new kr,Tr=new kr,Er=new Array(230),_r={},Ir=[],Pr=Object.create(null),Mr=Object.create(null),Rr=[],Dr=[];for(let e=0;e<=193;e++)Rr[e]=-1;for(let e=0;e<=132;e++)Dr[e]=-1;var Br;let Or;!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],r=[],i=[];for(const e of t){const[t,n,o,a,s,l,d,c,p]=e;if(i[n]||(i[n]=!0,Ir[n]=o,Pr[o]=n,Mr[o.toLowerCase()]=n,t&&(Rr[n]=a,0!==a&&3!==a&&5!==a&&4!==a&&6!==a&&57!==a&&(Dr[a]=n))),!r[a]){if(r[a]=!0,!s)throw new Error(`String representation missing for key code ${a} around scan code ${o}`);xr.define(a,s),Sr.define(a,c||s),Tr.define(a,p||c||s)}l&&(Er[l]=a),d&&(_r[d]=a)}Dr[3]=46}(),function(e){e.toString=function(e){return xr.keyCodeToStr(e)},e.fromString=function(e){return xr.strToKeyCode(e)},e.toUserSettingsUS=function(e){return Sr.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return Tr.keyCodeToStr(e)},e.fromUserSettings=function(e){return Sr.strToKeyCode(e)||Tr.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return xr.keyCodeToStr(e)}}(Br||(Br={}));const qr=globalThis.vscode;if(void 0!==qr&&void 0!==qr.process){const e=qr.process;Or={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd:()=>e.cwd()}}else Or="undefined"!=typeof process?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return Te?"win32":Ee?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const Nr=Or.cwd,Lr=Or.env,jr=Or.platform,Fr=46,Hr=47,Vr=92,zr=58;class Wr extends Error{constructor(e,t,r){let i;"string"==typeof t&&0===t.indexOf("not ")?(i="must not be",t=t.replace(/^not /,"")):i="must be";const n=-1!==e.indexOf(".")?"property":"argument";let o=`The "${e}" ${n} ${i} of type ${t}`;o+=". Received type "+typeof r,super(o),this.code="ERR_INVALID_ARG_TYPE"}}function Ur(e,t){if("string"!=typeof e)throw new Wr(t,"string",e)}const Gr="win32"===jr;function Jr(e){return e===Hr||e===Vr}function Kr(e){return e===Hr}function Qr(e){return e>=65&&e<=90||e>=97&&e<=122}function Yr(e,t,r,i){let n="",o=0,a=-1,s=0,l=0;for(let d=0;d<=e.length;++d){if(d2){const e=n.lastIndexOf(r);-1===e?(n="",o=0):(n=n.slice(0,e),o=n.length-1-n.lastIndexOf(r)),a=d,s=0;continue}if(0!==n.length){n="",o=0,a=d,s=0;continue}}t&&(n+=n.length>0?`${r}..`:"..",o=2)}else n.length>0?n+=`${r}${e.slice(a+1,d)}`:n=e.slice(a+1,d),o=d-a-1;a=d,s=0}else l===Fr&&-1!==s?++s:s=-1}return n}function Zr(e,t){!function(e,t){if(null===e||"object"!=typeof e)throw new Wr("pathObject","Object",e)}(t);const r=t.dir||t.root,i=t.base||`${t.name||""}${t.ext||""}`;return r?r===t.root?`${r}${i}`:`${r}${e}${i}`:i}const Xr={resolve(...e){let t="",r="",i=!1;for(let n=e.length-1;n>=-1;n--){let o;if(n>=0){if(o=e[n],Ur(o,"path"),0===o.length)continue}else 0===t.length?o=Nr():(o=Lr[`=${t}`]||Nr(),(void 0===o||o.slice(0,2).toLowerCase()!==t.toLowerCase()&&o.charCodeAt(2)===Vr)&&(o=`${t}\\`));const a=o.length;let s=0,l="",d=!1;const c=o.charCodeAt(0);if(1===a)Jr(c)&&(s=1,d=!0);else if(Jr(c))if(d=!0,Jr(o.charCodeAt(1))){let e=2,t=e;for(;e2&&Jr(o.charCodeAt(2))&&(d=!0,s=3));if(l.length>0)if(t.length>0){if(l.toLowerCase()!==t.toLowerCase())continue}else t=l;if(i){if(t.length>0)break}else if(r=`${o.slice(s)}\\${r}`,i=d,d&&t.length>0)break}return r=Yr(r,!i,"\\",Jr),i?`${t}\\${r}`:`${t}${r}`||"."},normalize(e){Ur(e,"path");const t=e.length;if(0===t)return".";let r,i=0,n=!1;const o=e.charCodeAt(0);if(1===t)return Kr(o)?"\\":e;if(Jr(o))if(n=!0,Jr(e.charCodeAt(1))){let n=2,o=n;for(;n2&&Jr(e.charCodeAt(2))&&(n=!0,i=3));let a=i0&&Jr(e.charCodeAt(t-1))&&(a+="\\"),void 0===r?n?`\\${a}`:a:n?`${r}\\${a}`:`${r}${a}`},isAbsolute(e){Ur(e,"path");const t=e.length;if(0===t)return!1;const r=e.charCodeAt(0);return Jr(r)||t>2&&Qr(r)&&e.charCodeAt(1)===zr&&Jr(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,r;for(let i=0;i0&&(void 0===t?t=r=n:t+=`\\${n}`)}if(void 0===t)return".";let i=!0,n=0;if("string"==typeof r&&Jr(r.charCodeAt(0))){++n;const e=r.length;e>1&&Jr(r.charCodeAt(1))&&(++n,e>2&&(Jr(r.charCodeAt(2))?++n:i=!1))}if(i){for(;n=2&&(t=`\\${t.slice(n)}`)}return Xr.normalize(t)},relative(e,t){if(Ur(e,"from"),Ur(t,"to"),e===t)return"";const r=Xr.resolve(e),i=Xr.resolve(t);if(r===i)return"";if((e=r.toLowerCase())===(t=i.toLowerCase()))return"";let n=0;for(;nn&&e.charCodeAt(o-1)===Vr;)o--;const a=o-n;let s=0;for(;ss&&t.charCodeAt(l-1)===Vr;)l--;const d=l-s,c=ac){if(t.charCodeAt(s+u)===Vr)return i.slice(s+u+1);if(2===u)return i.slice(s+u)}a>c&&(e.charCodeAt(n+u)===Vr?p=u:2===u&&(p=3)),-1===p&&(p=0)}let h="";for(u=n+p+1;u<=o;++u)u!==o&&e.charCodeAt(u)!==Vr||(h+=0===h.length?"..":"\\..");return s+=p,h.length>0?`${h}${i.slice(s,l)}`:(i.charCodeAt(s)===Vr&&++s,i.slice(s,l))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=Xr.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===Vr){if(t.charCodeAt(1)===Vr){const e=t.charCodeAt(2);if(63!==e&&e!==Fr)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Qr(t.charCodeAt(0))&&t.charCodeAt(1)===zr&&t.charCodeAt(2)===Vr)return`\\\\?\\${t}`;return e},dirname(e){Ur(e,"path");const t=e.length;if(0===t)return".";let r=-1,i=0;const n=e.charCodeAt(0);if(1===t)return Jr(n)?e:".";if(Jr(n)){if(r=i=1,Jr(e.charCodeAt(1))){let n=2,o=n;for(;n2&&Jr(e.charCodeAt(2))?3:2,i=r);let o=-1,a=!0;for(let r=t-1;r>=i;--r)if(Jr(e.charCodeAt(r))){if(!a){o=r;break}}else a=!1;if(-1===o){if(-1===r)return".";o=r}return e.slice(0,o)},basename(e,t){void 0!==t&&Ur(t,"ext"),Ur(e,"path");let r,i=0,n=-1,o=!0;if(e.length>=2&&Qr(e.charCodeAt(0))&&e.charCodeAt(1)===zr&&(i=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let a=t.length-1,s=-1;for(r=e.length-1;r>=i;--r){const l=e.charCodeAt(r);if(Jr(l)){if(!o){i=r+1;break}}else-1===s&&(o=!1,s=r+1),a>=0&&(l===t.charCodeAt(a)?-1==--a&&(n=r):(a=-1,n=s))}return i===n?n=s:-1===n&&(n=e.length),e.slice(i,n)}for(r=e.length-1;r>=i;--r)if(Jr(e.charCodeAt(r))){if(!o){i=r+1;break}}else-1===n&&(o=!1,n=r+1);return-1===n?"":e.slice(i,n)},extname(e){Ur(e,"path");let t=0,r=-1,i=0,n=-1,o=!0,a=0;e.length>=2&&e.charCodeAt(1)===zr&&Qr(e.charCodeAt(0))&&(t=i=2);for(let s=e.length-1;s>=t;--s){const t=e.charCodeAt(s);if(Jr(t)){if(!o){i=s+1;break}}else-1===n&&(o=!1,n=s+1),t===Fr?-1===r?r=s:1!==a&&(a=1):-1!==r&&(a=-1)}return-1===r||-1===n||0===a||1===a&&r===n-1&&r===i+1?"":e.slice(r,n)},format:Zr.bind(null,"\\"),parse(e){Ur(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const r=e.length;let i=0,n=e.charCodeAt(0);if(1===r)return Jr(n)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(Jr(n)){if(i=1,Jr(e.charCodeAt(1))){let t=2,n=t;for(;t0&&(t.root=e.slice(0,i));let o=-1,a=i,s=-1,l=!0,d=e.length-1,c=0;for(;d>=i;--d)if(n=e.charCodeAt(d),Jr(n)){if(!l){a=d+1;break}}else-1===s&&(l=!1,s=d+1),n===Fr?-1===o?o=d:1!==c&&(c=1):-1!==o&&(c=-1);return-1!==s&&(-1===o||0===c||1===c&&o===s-1&&o===a+1?t.base=t.name=e.slice(a,s):(t.name=e.slice(a,o),t.base=e.slice(a,s),t.ext=e.slice(o,s))),t.dir=a>0&&a!==i?e.slice(0,a-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},$r=(()=>{if(Gr){const e=/\\/g;return()=>{const t=Nr().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>Nr()})(),ei={resolve(...e){let t="",r=!1;for(let i=e.length-1;i>=-1&&!r;i--){const n=i>=0?e[i]:$r();Ur(n,"path"),0!==n.length&&(t=`${n}/${t}`,r=n.charCodeAt(0)===Hr)}return t=Yr(t,!r,"/",Kr),r?`/${t}`:t.length>0?t:"."},normalize(e){if(Ur(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===Hr,r=e.charCodeAt(e.length-1)===Hr;return 0===(e=Yr(e,!t,"/",Kr)).length?t?"/":r?"./":".":(r&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(Ur(e,"path"),e.length>0&&e.charCodeAt(0)===Hr),join(...e){if(0===e.length)return".";let t;for(let r=0;r0&&(void 0===t?t=i:t+=`/${i}`)}return void 0===t?".":ei.normalize(t)},relative(e,t){if(Ur(e,"from"),Ur(t,"to"),e===t)return"";if((e=ei.resolve(e))===(t=ei.resolve(t)))return"";const r=e.length,i=r-1,n=t.length-1,o=io){if(t.charCodeAt(1+s)===Hr)return t.slice(1+s+1);if(0===s)return t.slice(1+s)}else i>o&&(e.charCodeAt(1+s)===Hr?a=s:0===s&&(a=0));let l="";for(s=1+a+1;s<=r;++s)s!==r&&e.charCodeAt(s)!==Hr||(l+=0===l.length?"..":"/..");return`${l}${t.slice(1+a)}`},toNamespacedPath:e=>e,dirname(e){if(Ur(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===Hr;let r=-1,i=!0;for(let t=e.length-1;t>=1;--t)if(e.charCodeAt(t)===Hr){if(!i){r=t;break}}else i=!1;return-1===r?t?"/":".":t&&1===r?"//":e.slice(0,r)},basename(e,t){void 0!==t&&Ur(t,"ext"),Ur(e,"path");let r,i=0,n=-1,o=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let a=t.length-1,s=-1;for(r=e.length-1;r>=0;--r){const l=e.charCodeAt(r);if(l===Hr){if(!o){i=r+1;break}}else-1===s&&(o=!1,s=r+1),a>=0&&(l===t.charCodeAt(a)?-1==--a&&(n=r):(a=-1,n=s))}return i===n?n=s:-1===n&&(n=e.length),e.slice(i,n)}for(r=e.length-1;r>=0;--r)if(e.charCodeAt(r)===Hr){if(!o){i=r+1;break}}else-1===n&&(o=!1,n=r+1);return-1===n?"":e.slice(i,n)},extname(e){Ur(e,"path");let t=-1,r=0,i=-1,n=!0,o=0;for(let a=e.length-1;a>=0;--a){const s=e.charCodeAt(a);if(s!==Hr)-1===i&&(n=!1,i=a+1),s===Fr?-1===t?t=a:1!==o&&(o=1):-1!==t&&(o=-1);else if(!n){r=a+1;break}}return-1===t||-1===i||0===o||1===o&&t===i-1&&t===r+1?"":e.slice(t,i)},format:Zr.bind(null,"/"),parse(e){Ur(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const r=e.charCodeAt(0)===Hr;let i;r?(t.root="/",i=1):i=0;let n=-1,o=0,a=-1,s=!0,l=e.length-1,d=0;for(;l>=i;--l){const t=e.charCodeAt(l);if(t!==Hr)-1===a&&(s=!1,a=l+1),t===Fr?-1===n?n=l:1!==d&&(d=1):-1!==n&&(d=-1);else if(!s){o=l+1;break}}if(-1!==a){const i=0===o&&r?1:o;-1===n||0===d||1===d&&n===a-1&&n===o+1?t.base=t.name=e.slice(i,a):(t.name=e.slice(i,n),t.base=e.slice(i,a),t.ext=e.slice(n,a))}return o>0?t.dir=e.slice(0,o-1):r&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};ei.win32=Xr.win32=Xr,ei.posix=Xr.posix=ei;const ti=Gr?Xr.normalize:ei.normalize,ri=Gr?Xr.resolve:ei.resolve,ii=Gr?Xr.relative:ei.relative,ni=Gr?Xr.dirname:ei.dirname,oi=Gr?Xr.basename:ei.basename,ai=Gr?Xr.extname:ei.extname,si=Gr?Xr.sep:ei.sep,li=/^\w[\w\d+.-]*$/,di=/^\//,ci=/^\/\//,pi="",ui="/",hi=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class mi{static isUri(e){return e instanceof mi||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}constructor(e,t,r,i,n,o=!1){"object"==typeof e?(this.scheme=e.scheme||pi,this.authority=e.authority||pi,this.path=e.path||pi,this.query=e.query||pi,this.fragment=e.fragment||pi):(this.scheme=function(e,t){return e||t?e:"file"}(e,o),this.authority=t||pi,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==ui&&(t=ui+t):t=ui}return t}(this.scheme,r||pi),this.query=i||pi,this.fragment=n||pi,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!li.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!di.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(ci.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,o))}get fsPath(){return wi(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:i,query:n,fragment:o}=e;return void 0===t?t=this.scheme:null===t&&(t=pi),void 0===r?r=this.authority:null===r&&(r=pi),void 0===i?i=this.path:null===i&&(i=pi),void 0===n?n=this.query:null===n&&(n=pi),void 0===o?o=this.fragment:null===o&&(o=pi),t===this.scheme&&r===this.authority&&i===this.path&&n===this.query&&o===this.fragment?this:new gi(t,r,i,n,o)}static parse(e,t=!1){const r=hi.exec(e);return r?new gi(r[2]||pi,xi(r[4]||pi),xi(r[5]||pi),xi(r[7]||pi),xi(r[9]||pi),t):new gi(pi,pi,pi,pi,pi)}static file(e){let t=pi;if(Te&&(e=e.replace(/\\/g,ui)),e[0]===ui&&e[1]===ui){const r=e.indexOf(ui,2);-1===r?(t=e.substring(2),e=ui):(t=e.substring(2,r),e=e.substring(r)||ui)}return new gi("file",t,e,pi,pi)}static from(e,t){return new gi(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let r;return r=Te&&"file"===e.scheme?mi.file(Xr.join(wi(e,!0),...t)).path:ei.join(e.path,...t),e.with({path:r})}toString(e=!1){return Ai(this,e)}toJSON(){return this}static revive(e){var t,r;if(e){if(e instanceof mi)return e;{const i=new gi(e);return i._formatted=null!==(t=e.external)&&void 0!==t?t:null,i._fsPath=e._sep===fi&&null!==(r=e.fsPath)&&void 0!==r?r:null,i}}return e}}const fi=Te?1:void 0;class gi extends mi{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=wi(this,!1)),this._fsPath}toString(e=!1){return e?Ai(this,!0):(this._formatted||(this._formatted=Ai(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=fi),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const bi={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function yi(e,t,r){let i,n=-1;for(let o=0;o=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||45===a||46===a||95===a||126===a||t&&47===a||r&&91===a||r&&93===a||r&&58===a)-1!==n&&(i+=encodeURIComponent(e.substring(n,o)),n=-1),void 0!==i&&(i+=e.charAt(o));else{void 0===i&&(i=e.substr(0,o));const t=bi[a];void 0!==t?(-1!==n&&(i+=encodeURIComponent(e.substring(n,o)),n=-1),i+=t):-1===n&&(n=o)}}return-1!==n&&(i+=encodeURIComponent(e.substring(n))),void 0!==i?i:e}function vi(e){let t;for(let r=0;r1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,Te&&(r=r.replace(/\//g,"\\")),r}function Ai(e,t){const r=t?vi:yi;let i="",{scheme:n,authority:o,path:a,query:s,fragment:l}=e;if(n&&(i+=n,i+=":"),(o||"file"===n)&&(i+=ui,i+=ui),o){let e=o.indexOf("@");if(-1!==e){const t=o.substr(0,e);o=o.substr(e+1),e=t.lastIndexOf(":"),-1===e?i+=r(t,!1,!1):(i+=r(t.substr(0,e),!1,!1),i+=":",i+=r(t.substr(e+1),!1,!0)),i+="@"}o=o.toLowerCase(),e=o.lastIndexOf(":"),-1===e?i+=r(o,!1,!0):(i+=r(o.substr(0,e),!1,!0),i+=o.substr(e))}if(a){if(a.length>=3&&47===a.charCodeAt(0)&&58===a.charCodeAt(2)){const e=a.charCodeAt(1);e>=65&&e<=90&&(a=`/${String.fromCharCode(e+32)}:${a.substr(3)}`)}else if(a.length>=2&&58===a.charCodeAt(1)){const e=a.charCodeAt(0);e>=65&&e<=90&&(a=`${String.fromCharCode(e+32)}:${a.substr(2)}`)}i+=r(a,!0,!1)}return s&&(i+="?",i+=r(s,!1,!1)),l&&(i+="#",i+=t?l:yi(l,!1,!1)),i}function Ci(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+Ci(e.substr(3)):e}}const ki=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function xi(e){return e.match(ki)?e.replace(ki,(e=>Ci(e))):e}class Si{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new Si(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return Si.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return Si.isBefore(this,e)}static isBefore(e,t){return e.lineNumberr||e===r&&t>i?(this.startLineNumber=r,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=r,this.endColumn=i)}isEmpty(){return Ti.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return Ti.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return Ti.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return Ti.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return Ti.plusRange(this,e)}static plusRange(e,t){let r,i,n,o;return t.startLineNumbere.endLineNumber?(n=t.endLineNumber,o=t.endColumn):t.endLineNumber===e.endLineNumber?(n=t.endLineNumber,o=Math.max(t.endColumn,e.endColumn)):(n=e.endLineNumber,o=e.endColumn),new Ti(r,i,n,o)}intersectRanges(e){return Ti.intersectRanges(this,e)}static intersectRanges(e,t){let r=e.startLineNumber,i=e.startColumn,n=e.endLineNumber,o=e.endColumn;const a=t.startLineNumber,s=t.startColumn,l=t.endLineNumber,d=t.endColumn;return rl?(n=l,o=d):n===l&&(o=Math.min(o,d)),r>n||r===n&&i>o?null:new Ti(r,i,n,o)}equalsRange(e){return Ti.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return Ti.getEndPosition(this)}static getEndPosition(e){return new Si(e.endLineNumber,e.endColumn)}getStartPosition(){return Ti.getStartPosition(this)}static getStartPosition(e){return new Si(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new Ti(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new Ti(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return Ti.collapseToStart(this)}static collapseToStart(e){return new Ti(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return Ti.collapseToEnd(this)}static collapseToEnd(e){return new Ti(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new Ti(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new Ti(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new Ti(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}}class Ei extends Ti{constructor(e,t,r,i){super(e,t,r,i),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=r,this.positionColumn=i}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return Ei.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new Ei(this.startLineNumber,this.startColumn,e,t):new Ei(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new Si(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Si(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new Ei(e,t,this.endLineNumber,this.endColumn):new Ei(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new Ei(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new Ei(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new Ei(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new Ei(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let r=0,i=e.length;r{e&&e.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const Gi=new class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new pr,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})}register(e,t){return this._tokenizationSupports.set(e,t),this.handleChange([e]),Xt((()=>{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var r;null===(r=this._factories.get(e))||void 0===r||r.dispose();const i=new Ri(this,e,t);return this._factories.set(e,i),Xt((()=>{const t=this._factories.get(e);t&&t===i&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const r=this._factories.get(e);return!r||r.isResolved?null:(await r.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};var Ji,Ki,Qi,Yi,Zi,Xi,$i,en,tn,rn,nn,on,an,sn,ln,dn,cn,pn,un,hn,mn,fn,gn,bn,yn,vn,wn,An,Cn,kn,xn,Sn,Tn,En,_n,In,Pn,Mn,Rn,Dn,Bn,On,qn,Nn;!function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(Ji||(Ji={})),function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(Ki||(Ki={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(Qi||(Qi={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(Yi||(Yi={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(Zi||(Zi={})),function(e){e[e.Deprecated=1]="Deprecated"}(Xi||(Xi={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}($i||($i={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(en||(en={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(tn||(tn={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(rn||(rn={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(nn||(nn={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(on||(on={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.definitionLinkOpensInPeek=88]="definitionLinkOpensInPeek",e[e.quickSuggestions=89]="quickSuggestions",e[e.quickSuggestionsDelay=90]="quickSuggestionsDelay",e[e.readOnly=91]="readOnly",e[e.readOnlyMessage=92]="readOnlyMessage",e[e.renameOnType=93]="renameOnType",e[e.renderControlCharacters=94]="renderControlCharacters",e[e.renderFinalNewline=95]="renderFinalNewline",e[e.renderLineHighlight=96]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=97]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=98]="renderValidationDecorations",e[e.renderWhitespace=99]="renderWhitespace",e[e.revealHorizontalRightPadding=100]="revealHorizontalRightPadding",e[e.roundedSelection=101]="roundedSelection",e[e.rulers=102]="rulers",e[e.scrollbar=103]="scrollbar",e[e.scrollBeyondLastColumn=104]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=105]="scrollBeyondLastLine",e[e.scrollPredominantAxis=106]="scrollPredominantAxis",e[e.selectionClipboard=107]="selectionClipboard",e[e.selectionHighlight=108]="selectionHighlight",e[e.selectOnLineNumbers=109]="selectOnLineNumbers",e[e.showFoldingControls=110]="showFoldingControls",e[e.showUnused=111]="showUnused",e[e.snippetSuggestions=112]="snippetSuggestions",e[e.smartSelect=113]="smartSelect",e[e.smoothScrolling=114]="smoothScrolling",e[e.stickyScroll=115]="stickyScroll",e[e.stickyTabStops=116]="stickyTabStops",e[e.stopRenderingLineAfter=117]="stopRenderingLineAfter",e[e.suggest=118]="suggest",e[e.suggestFontSize=119]="suggestFontSize",e[e.suggestLineHeight=120]="suggestLineHeight",e[e.suggestOnTriggerCharacters=121]="suggestOnTriggerCharacters",e[e.suggestSelection=122]="suggestSelection",e[e.tabCompletion=123]="tabCompletion",e[e.tabIndex=124]="tabIndex",e[e.unicodeHighlighting=125]="unicodeHighlighting",e[e.unusualLineTerminators=126]="unusualLineTerminators",e[e.useShadowDOM=127]="useShadowDOM",e[e.useTabStops=128]="useTabStops",e[e.wordBreak=129]="wordBreak",e[e.wordSeparators=130]="wordSeparators",e[e.wordWrap=131]="wordWrap",e[e.wordWrapBreakAfterCharacters=132]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=133]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=134]="wordWrapColumn",e[e.wordWrapOverride1=135]="wordWrapOverride1",e[e.wordWrapOverride2=136]="wordWrapOverride2",e[e.wrappingIndent=137]="wrappingIndent",e[e.wrappingStrategy=138]="wrappingStrategy",e[e.showDeprecated=139]="showDeprecated",e[e.inlayHints=140]="inlayHints",e[e.editorClassName=141]="editorClassName",e[e.pixelRatio=142]="pixelRatio",e[e.tabFocusMode=143]="tabFocusMode",e[e.layoutInfo=144]="layoutInfo",e[e.wrappingInfo=145]="wrappingInfo",e[e.defaultColorDecorators=146]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=147]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=148]="inlineCompletionsAccessibilityVerbose"}(an||(an={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(sn||(sn={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(ln||(ln={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(dn||(dn={})),(Nn=cn||(cn={}))[Nn.None=0]="None",Nn[Nn.Indent=1]="Indent",Nn[Nn.IndentOutdent=2]="IndentOutdent",Nn[Nn.Outdent=3]="Outdent",function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(pn||(pn={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(un||(un={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(hn||(hn={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(mn||(mn={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(fn||(fn={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(gn||(gn={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(bn||(bn={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(yn||(yn={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(vn||(vn={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(wn||(wn={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(An||(An={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(Cn||(Cn={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(kn||(kn={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(xn||(xn={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(Sn||(Sn={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(Tn||(Tn={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(En||(En={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(_n||(_n={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(In||(In={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(Pn||(Pn={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(Mn||(Mn={})),function(e){e[e.Deprecated=1]="Deprecated"}(Rn||(Rn={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(Dn||(Dn={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(Bn||(Bn={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(On||(On={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(qn||(qn={}));class Ln{static chord(e,t){return function(e,t){return(e|(65535&t)<<16>>>0)>>>0}(e,t)}}function jn(){return{editor:void 0,languages:void 0,CancellationTokenSource:Cr,Emitter:pr,KeyCode:fn,KeyMod:Ln,Position:Si,Range:Ti,Selection:Ei,SelectionDirection:_n,MarkerSeverity:gn,MarkerTag:bn,Uri:mi,Token:Di}}Ln.CtrlCmd=2048,Ln.Shift=1024,Ln.Alt=512,Ln.WinCtrl=256;const Fn=window,Hn=Fn;class Vn{get cachedValues(){return this._map}constructor(e){this.fn=e,this._map=new Map}get(e){if(this._map.has(e))return this._map.get(e);const t=this.fn(e);return this._map.set(e,t),t}}class zn{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var Wn;const Un=/{(\d+)}/g;function Gn(e,...t){return 0===t.length?e:e.replace(Un,(function(e,r){const i=parseInt(r,10);return isNaN(i)||i<0||i>=t.length?e:t[i]}))}function Jn(e){return e.replace(/[<>&]/g,(function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}}))}function Kn(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Qn(e,t){if(!e||!t)return e;const r=t.length;if(0===r||0===e.length)return e;let i=0;for(;e.indexOf(t,i)===i;)i+=r;return e.substring(i)}function Yn(e,t,r={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=Kn(e)),r.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let i="";return r.global&&(i+="g"),r.matchCase||(i+="i"),r.multiline&&(i+="m"),r.unicode&&(i+="u"),new RegExp(e,i)}function Zn(e){return e.split(/\r\n|\r|\n/)}function Xn(e){for(let t=0,r=e.length;t=0;r--){const t=e.charCodeAt(r);if(32!==t&&9!==t)return r}return-1}function to(e,t){return et?1:0}function ro(e,t,r=0,i=e.length,n=0,o=t.length){for(;ro)return 1}const a=i-r,s=o-n;return as?1:0}function io(e,t){return no(e,t,0,e.length,0,t.length)}function no(e,t,r=0,i=e.length,n=0,o=t.length){for(;r=128||s>=128)return ro(e.toLowerCase(),t.toLowerCase(),r,i,n,o);ao(a)&&(a-=32),ao(s)&&(s-=32);const l=a-s;if(0!==l)return l}const a=i-r,s=o-n;return as?1:0}function oo(e){return e>=48&&e<=57}function ao(e){return e>=97&&e<=122}function so(e){return e>=65&&e<=90}function lo(e,t){return e.length===t.length&&0===no(e,t)}function co(e,t){const r=t.length;return!(t.length>e.length)&&0===no(e,t,0,r)}function po(e,t){const r=Math.min(e.length,t.length);let i;for(i=0;i1){const i=e.charCodeAt(t-2);if(ho(i))return fo(i,r)}return r}(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=go(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class yo{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new bo(e,t)}nextGraphemeLength(){const e=Do.getInstance(),t=this._iterator,r=t.offset;let i=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const r=t.offset,n=e.getGraphemeBreakType(t.nextCodePoint());if(Ro(i,n)){t.setOffset(r);break}i=n}return t.offset-r}prevGraphemeLength(){const e=Do.getInstance(),t=this._iterator,r=t.offset;let i=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const r=t.offset,n=e.getGraphemeBreakType(t.prevCodePoint());if(Ro(n,i)){t.setOffset(r);break}i=n}return r-t.offset}eol(){return this._iterator.eol()}}function vo(e,t){return new yo(e,t).nextGraphemeLength()}function wo(e,t){return new yo(e,t).prevGraphemeLength()}let Ao;function Co(e){return Ao||(Ao=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/),Ao.test(e)}const ko=/^[\t\n\r\x20-\x7E]*$/;function xo(e){return ko.test(e)}const So=/[\u2028\u2029]/;function To(e){return So.test(e)}function Eo(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function _o(e){return e>=127462&&e<=127487||8986===e||8987===e||9200===e||9203===e||e>=9728&&e<=10175||11088===e||11093===e||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}const Io=String.fromCharCode(65279);function Po(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function Mo(e){return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function Ro(e,t){return 0===e?5!==t&&7!==t:!(2===e&&3===t||4!==e&&2!==e&&3!==e&&4!==t&&2!==t&&3!==t&&(8===e&&(8===t||9===t||11===t||12===t)||!(11!==e&&9!==e||9!==t&&10!==t)||(12===e||10===e)&&10===t||5===t||13===t||7===t||1===e||13===e&&14===t||6===e&&6===t))}class Do{static getInstance(){return Do._INSTANCE||(Do._INSTANCE=new Do),Do._INSTANCE}constructor(){this._data=JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,r=t.length/3;let i=1;for(;i<=r;)if(et[3*i+1]))return t[3*i+2];i=2*i+1}return 0}}function Bo(e){return 127995<=e&&e<=127999}Do._INSTANCE=null;class Oo{static getInstance(e){return Wn.cache.get(Array.from(e))}static getLocales(){return Wn._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}Wn=Oo,Oo.ambiguousCharacterData=new zn((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))),Oo.cache=new class{constructor(e){this.fn=e,this.lastCache=void 0,this.lastArgKey=void 0}get(e){const t=JSON.stringify(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.fn(e)),this.lastCache}}((e=>{function t(e){const t=new Map;for(let r=0;r!e.startsWith("_")&&e in i));0===o.length&&(o=["_default"]);for(const e of o)n=r(n,t(i[e]));const a=function(e,t){const r=new Map(e);for(const[e,i]of t)r.set(e,i);return r}(t(i._common),n);return new Wn(a)})),Oo._locales=new zn((()=>Object.keys(Wn.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))));class qo{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(qo.getRawData())),this._data}static isInvisibleCharacter(e){return qo.getData().has(e)}static get codePoints(){return qo.getData()}}qo._data=void 0;var No=r(85072),Lo=r.n(No),jo=r(97825),Fo=r.n(jo),Ho=r(77659),Vo=r.n(Ho),zo=r(55056),Wo=r.n(zo),Uo=r(10540),Go=r.n(Uo),Jo=r(41113),Ko=r.n(Jo),Qo=r(3614),Yo={};Yo.styleTagTransform=Ko(),Yo.setAttributes=Wo(),Yo.insert=Vo().bind(null,"head"),Yo.domAPI=Fo(),Yo.insertStyleElement=Go(),Lo()(Qo.A,Yo),Qo.A&&Qo.A.locals&&Qo.A.locals;class Zo{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(e){var t;return null!==(t=this.mapWindowIdToZoomFactor.get(this.getWindowId(e)))&&void 0!==t?t:1}getWindowId(e){return e.vscodeWindowId}}function Xo(e,t,r){"string"==typeof t&&(t=e.matchMedia(t)),t.addEventListener("change",r)}Zo.INSTANCE=new Zo;const $o=navigator.userAgent,ea=$o.indexOf("Firefox")>=0,ta=$o.indexOf("AppleWebKit")>=0,ra=$o.indexOf("Chrome")>=0,ia=!ra&&$o.indexOf("Safari")>=0,na=!ra&&!ia&&ta,oa=($o.indexOf("Electron/"),$o.indexOf("Android")>=0);let aa=!1;if("function"==typeof Fn.matchMedia){const e=Fn.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=Fn.matchMedia("(display-mode: fullscreen)");aa=e.matches,Xo(Fn,e,(({matches:e})=>{aa&&t.matches||(aa=e)}))}Ie||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator.clipboard.writeText,Ie||navigator&&navigator.clipboard&&navigator.clipboard.readText,Ie||aa||navigator.keyboard,"ontouchstart"in Fn||navigator.maxTouchPoints;const sa=Fn.PointerEvent&&("ontouchstart"in Fn||navigator.maxTouchPoints>0);function la(e,t){if("number"==typeof e){if(0===e)return null;const r=(65535&e)>>>0,i=(4294901760&e)>>>16;return new pa(0!==i?[da(r,t),da(i,t)]:[da(r,t)])}{const r=[];for(let i=0;i{const n=t.token.onCancellationRequested((()=>{n.dispose(),i(new Lt)}));Promise.resolve(r).then((r=>{n.dispose(),t.dispose(),e(r)}),(e=>{n.dispose(),t.dispose(),i(e)}))}));return new class{cancel(){t.cancel(),t.dispose()}then(e,t){return i.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return i.finally(e)}}}class Sa{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const e=()=>{if(this.queuedPromise=null,this.isDisposed)return;const e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise((t=>{this.activePromise.then(e,e).then(t)}))}return new Promise(((e,t)=>{this.queuedPromise.then(e,t)}))}return this.activePromise=e(),new Promise(((e,t)=>{this.activePromise.then((t=>{this.activePromise=null,e(t)}),(e=>{this.activePromise=null,t(e)}))}))}dispose(){this.isDisposed=!0}}class Ta{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((e,t)=>{this.doResolve=e,this.doReject=t})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const e=this.task;return this.task=null,e()}})));const r=()=>{var e;this.deferred=null,null===(e=this.doResolve)||void 0===e||e.call(this,null)};return this.deferred=t===Ca?(e=>{let t=!0;return queueMicrotask((()=>{t&&(t=!1,e())})),{isTriggered:()=>t,dispose:()=>{t=!1}}})(r):((e,t)=>{let r=!0;const i=setTimeout((()=>{r=!1,t()}),e);return{isTriggered:()=>r,dispose:()=>{clearTimeout(i),r=!1}}})(t,r),this.completionPromise}isTriggered(){var e;return!!(null===(e=this.deferred)||void 0===e?void 0:e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&(null===(e=this.doReject)||void 0===e||e.call(this,new Lt),this.completionPromise=null)}cancelTimeout(){var e;null===(e=this.deferred)||void 0===e||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class Ea{constructor(e){this.delayer=new Ta(e),this.throttler=new Sa}trigger(e,t){return this.delayer.trigger((()=>this.throttler.queue(e)),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function _a(e,t){return t?new Promise(((r,i)=>{const n=setTimeout((()=>{o.dispose(),r()}),e),o=t.onCancellationRequested((()=>{clearTimeout(n),o.dispose(),i(new Lt)}))})):xa((t=>_a(e,t)))}function Ia(e,t=0,r){const i=setTimeout((()=>{e(),r&&n.dispose()}),t),n=Xt((()=>{clearTimeout(i),null==r||r.deleteAndLeak(n)}));return null==r||r.add(n),n}class Pa{constructor(e,t){this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout((()=>{this._token=-1,e()}),t)}setIfNotSet(e,t){-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,e()}),t))}}class Ma{constructor(){this.disposable=void 0}cancel(){var e;null===(e=this.disposable)||void 0===e||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,r=globalThis){this.cancel();const i=r.setInterval((()=>{e()}),t);this.disposable=Xt((()=>{r.clearInterval(i),this.disposable=void 0}))}dispose(){this.cancel()}}class Ra{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;null===(e=this.runner)||void 0===e||e.call(this)}}let Da,Ba;Ba="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(e,t)=>{qe((()=>{if(r)return;const e=Date.now()+15,i={didTimeout:!0,timeRemaining:()=>Math.max(0,e-Date.now())};t(Object.freeze(i))}));let r=!1;return{dispose(){r||(r=!0)}}}:(e,t,r)=>{const i=e.requestIdleCallback(t,"number"==typeof r?{timeout:r}:void 0);let n=!1;return{dispose(){n||(n=!0,e.cancelIdleCallback(i))}}},Da=e=>Ba(globalThis,e);class Oa{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=Ba(e,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class qa extends Oa{constructor(e){super(globalThis,e)}}class Na{get isRejected(){var e;return 1===(null===(e=this.outcome)||void 0===e?void 0:e.outcome)}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((e,t)=>{this.completeCallback=e,this.errorCallback=t}))}complete(e){return new Promise((t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()}))}error(e){return new Promise((t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()}))}cancel(){return this.error(new Lt)}}var La;!function(e){e.settled=async function(e){let t;const r=await Promise.all(e.map((e=>e.then((e=>e),(e=>{t||(t=e)})))));if(void 0!==t)throw t;return r},e.withAsyncBody=function(e){return new Promise((async(t,r)=>{try{await e(t,r)}catch(e){r(e)}}))}}(La||(La={}));class ja{static fromArray(e){return new ja((t=>{t.emitMany(e)}))}static fromPromise(e){return new ja((async t=>{t.emitMany(await e)}))}static fromPromises(e){return new ja((async t=>{await Promise.all(e.map((async e=>t.emitOne(await e))))}))}static merge(e){return new ja((async t=>{await Promise.all(e.map((async e=>{for await(const r of e)t.emitOne(r)})))}))}constructor(e){this._state=0,this._results=[],this._error=null,this._onStateChanged=new pr,queueMicrotask((async()=>{const t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}}))}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e{for await(const i of e)r.emitOne(t(i))}))}map(e){return ja.map(this,e)}static filter(e,t){return new ja((async r=>{for await(const i of e)t(i)&&r.emitOne(i)}))}filter(e){return ja.filter(this,e)}static coalesce(e){return ja.filter(e,(e=>!!e))}coalesce(){return ja.coalesce(this)}static async toPromise(e){const t=[];for await(const r of e)t.push(r);return t}toPromise(){return ja.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}}ja.EMPTY=ja.fromArray([]);const{entries:Fa,setPrototypeOf:Ha,isFrozen:Va,getPrototypeOf:za,getOwnPropertyDescriptor:Wa}=Object;let{freeze:Ua,seal:Ga,create:Ja}=Object,{apply:Ka,construct:Qa}="undefined"!=typeof Reflect&&Reflect;Ka||(Ka=function(e,t,r){return e.apply(t,r)}),Ua||(Ua=function(e){return e}),Ga||(Ga=function(e){return e}),Qa||(Qa=function(e,t){return new e(...t)});const Ya=ls(Array.prototype.forEach),Za=ls(Array.prototype.pop),Xa=ls(Array.prototype.push),$a=ls(String.prototype.toLowerCase),es=ls(String.prototype.toString),ts=ls(String.prototype.match),rs=ls(String.prototype.replace),is=ls(String.prototype.indexOf),ns=ls(String.prototype.trim),os=ls(RegExp.prototype.test),as=(ss=TypeError,function(){for(var e=arguments.length,t=new Array(e),r=0;r1?r-1:0),n=1;n/gm),Ss=Ga(/\${[\w\W]*}/gm),Ts=Ga(/^data-[\-\w.\u00B7-\uFFFF]/),Es=Ga(/^aria-[\-\w]+$/),_s=Ga(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Is=Ga(/^(?:\w+script|data):/i),Ps=Ga(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ms=Ga(/^html$/i);var Rs=Object.freeze({__proto__:null,MUSTACHE_EXPR:ks,ERB_EXPR:xs,TMPLIT_EXPR:Ss,DATA_ATTR:Ts,ARIA_ATTR:Es,IS_ALLOWED_URI:_s,IS_SCRIPT_OR_DATA:Is,ATTR_WHITESPACE:Ps,DOCTYPE_NAME:Ms});const Ds=()=>"undefined"==typeof window?null:window;var Bs=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ds();const r=t=>e(t);if(r.version="3.0.5",r.removed=[],!t||!t.document||9!==t.document.nodeType)return r.isSupported=!1,r;const i=t.document,n=i.currentScript;let{document:o}=t;const{DocumentFragment:a,HTMLTemplateElement:s,Node:l,Element:d,NodeFilter:c,NamedNodeMap:p=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:u,DOMParser:h,trustedTypes:m}=t,f=d.prototype,g=ps(f,"cloneNode"),b=ps(f,"nextSibling"),y=ps(f,"childNodes"),v=ps(f,"parentNode");if("function"==typeof s){const e=o.createElement("template");e.content&&e.content.ownerDocument&&(o=e.content.ownerDocument)}let w,A="";const{implementation:C,createNodeIterator:k,createDocumentFragment:x,getElementsByTagName:S}=o,{importNode:T}=i;let E={};r.isSupported="function"==typeof Fa&&"function"==typeof v&&C&&void 0!==C.createHTMLDocument;const{MUSTACHE_EXPR:_,ERB_EXPR:I,TMPLIT_EXPR:P,DATA_ATTR:M,ARIA_ATTR:R,IS_SCRIPT_OR_DATA:D,ATTR_WHITESPACE:B}=Rs;let{IS_ALLOWED_URI:O}=Rs,q=null;const N=ds({},[...us,...hs,...ms,...gs,...ys]);let L=null;const j=ds({},[...vs,...ws,...As,...Cs]);let F=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),H=null,V=null,z=!0,W=!0,U=!1,G=!0,J=!1,K=!1,Q=!1,Y=!1,Z=!1,X=!1,$=!1,ee=!0,te=!1,re=!0,ie=!1,ne={},oe=null;const ae=ds({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let se=null;const le=ds({},["audio","video","img","source","image","track"]);let de=null;const ce=ds({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),pe="http://www.w3.org/1998/Math/MathML",ue="http://www.w3.org/2000/svg",he="http://www.w3.org/1999/xhtml";let me=he,fe=!1,ge=null;const be=ds({},[pe,ue,he],es);let ye;const ve=["application/xhtml+xml","text/html"];let we,Ae=null;const Ce=o.createElement("form"),ke=function(e){return e instanceof RegExp||e instanceof Function},xe=function(e){if(!Ae||Ae!==e){if(e&&"object"==typeof e||(e={}),e=cs(e),ye=ye=-1===ve.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,we="application/xhtml+xml"===ye?es:$a,q="ALLOWED_TAGS"in e?ds({},e.ALLOWED_TAGS,we):N,L="ALLOWED_ATTR"in e?ds({},e.ALLOWED_ATTR,we):j,ge="ALLOWED_NAMESPACES"in e?ds({},e.ALLOWED_NAMESPACES,es):be,de="ADD_URI_SAFE_ATTR"in e?ds(cs(ce),e.ADD_URI_SAFE_ATTR,we):ce,se="ADD_DATA_URI_TAGS"in e?ds(cs(le),e.ADD_DATA_URI_TAGS,we):le,oe="FORBID_CONTENTS"in e?ds({},e.FORBID_CONTENTS,we):ae,H="FORBID_TAGS"in e?ds({},e.FORBID_TAGS,we):{},V="FORBID_ATTR"in e?ds({},e.FORBID_ATTR,we):{},ne="USE_PROFILES"in e&&e.USE_PROFILES,z=!1!==e.ALLOW_ARIA_ATTR,W=!1!==e.ALLOW_DATA_ATTR,U=e.ALLOW_UNKNOWN_PROTOCOLS||!1,G=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,J=e.SAFE_FOR_TEMPLATES||!1,K=e.WHOLE_DOCUMENT||!1,Z=e.RETURN_DOM||!1,X=e.RETURN_DOM_FRAGMENT||!1,$=e.RETURN_TRUSTED_TYPE||!1,Y=e.FORCE_BODY||!1,ee=!1!==e.SANITIZE_DOM,te=e.SANITIZE_NAMED_PROPS||!1,re=!1!==e.KEEP_CONTENT,ie=e.IN_PLACE||!1,O=e.ALLOWED_URI_REGEXP||_s,me=e.NAMESPACE||he,F=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&ke(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(F.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&ke(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(F.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(F.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),J&&(W=!1),X&&(Z=!0),ne&&(q=ds({},[...ys]),L=[],!0===ne.html&&(ds(q,us),ds(L,vs)),!0===ne.svg&&(ds(q,hs),ds(L,ws),ds(L,Cs)),!0===ne.svgFilters&&(ds(q,ms),ds(L,ws),ds(L,Cs)),!0===ne.mathMl&&(ds(q,gs),ds(L,As),ds(L,Cs))),e.ADD_TAGS&&(q===N&&(q=cs(q)),ds(q,e.ADD_TAGS,we)),e.ADD_ATTR&&(L===j&&(L=cs(L)),ds(L,e.ADD_ATTR,we)),e.ADD_URI_SAFE_ATTR&&ds(de,e.ADD_URI_SAFE_ATTR,we),e.FORBID_CONTENTS&&(oe===ae&&(oe=cs(oe)),ds(oe,e.FORBID_CONTENTS,we)),re&&(q["#text"]=!0),K&&ds(q,["html","head","body"]),q.table&&(ds(q,["tbody"]),delete H.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw as('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw as('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=e.TRUSTED_TYPES_POLICY,A=w.createHTML("")}else void 0===w&&(w=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let r=null;const i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(r=t.getAttribute(i));const n="dompurify"+(r?"#"+r:"");try{return e.createPolicy(n,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+n+" could not be created."),null}}(m,n)),null!==w&&"string"==typeof A&&(A=w.createHTML(""));Ua&&Ua(e),Ae=e}},Se=ds({},["mi","mo","mn","ms","mtext"]),Te=ds({},["foreignobject","desc","title","annotation-xml"]),Ee=ds({},["title","style","font","a","script"]),_e=ds({},hs);ds(_e,ms),ds(_e,fs);const Ie=ds({},gs);ds(Ie,bs);const Pe=function(e){Xa(r.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}},Me=function(e,t){try{Xa(r.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){Xa(r.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!L[e])if(Z||X)try{Pe(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},Re=function(e){let t,r;if(Y)e=" "+e;else{const t=ts(e,/^[\r\n\t ]+/);r=t&&t[0]}"application/xhtml+xml"===ye&&me===he&&(e=''+e+"");const i=w?w.createHTML(e):e;if(me===he)try{t=(new h).parseFromString(i,ye)}catch(e){}if(!t||!t.documentElement){t=C.createDocument(me,"template",null);try{t.documentElement.innerHTML=fe?A:i}catch(e){}}const n=t.body||t.documentElement;return e&&r&&n.insertBefore(o.createTextNode(r),n.childNodes[0]||null),me===he?S.call(t,K?"html":"body")[0]:K?t.documentElement:n},De=function(e){return k.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},Be=function(e){return"object"==typeof l?e instanceof l:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},Oe=function(e,t,i){E[e]&&Ya(E[e],(e=>{e.call(r,t,i,Ae)}))},qe=function(e){let t;if(Oe("beforeSanitizeElements",e,null),(i=e)instanceof u&&("string"!=typeof i.nodeName||"string"!=typeof i.textContent||"function"!=typeof i.removeChild||!(i.attributes instanceof p)||"function"!=typeof i.removeAttribute||"function"!=typeof i.setAttribute||"string"!=typeof i.namespaceURI||"function"!=typeof i.insertBefore||"function"!=typeof i.hasChildNodes))return Pe(e),!0;var i;const n=we(e.nodeName);if(Oe("uponSanitizeElement",e,{tagName:n,allowedTags:q}),e.hasChildNodes()&&!Be(e.firstElementChild)&&(!Be(e.content)||!Be(e.content.firstElementChild))&&os(/<[/\w]/g,e.innerHTML)&&os(/<[/\w]/g,e.textContent))return Pe(e),!0;if(!q[n]||H[n]){if(!H[n]&&Le(n)){if(F.tagNameCheck instanceof RegExp&&os(F.tagNameCheck,n))return!1;if(F.tagNameCheck instanceof Function&&F.tagNameCheck(n))return!1}if(re&&!oe[n]){const t=v(e)||e.parentNode,r=y(e)||e.childNodes;if(r&&t)for(let i=r.length-1;i>=0;--i)t.insertBefore(g(r[i],!0),b(e))}return Pe(e),!0}return e instanceof d&&!function(e){let t=v(e);t&&t.tagName||(t={namespaceURI:me,tagName:"template"});const r=$a(e.tagName),i=$a(t.tagName);return!!ge[e.namespaceURI]&&(e.namespaceURI===ue?t.namespaceURI===he?"svg"===r:t.namespaceURI===pe?"svg"===r&&("annotation-xml"===i||Se[i]):Boolean(_e[r]):e.namespaceURI===pe?t.namespaceURI===he?"math"===r:t.namespaceURI===ue?"math"===r&&Te[i]:Boolean(Ie[r]):e.namespaceURI===he?!(t.namespaceURI===ue&&!Te[i])&&!(t.namespaceURI===pe&&!Se[i])&&!Ie[r]&&(Ee[r]||!_e[r]):!("application/xhtml+xml"!==ye||!ge[e.namespaceURI]))}(e)?(Pe(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!os(/<\/no(script|embed|frames)/i,e.innerHTML)?(J&&3===e.nodeType&&(t=e.textContent,t=rs(t,_," "),t=rs(t,I," "),t=rs(t,P," "),e.textContent!==t&&(Xa(r.removed,{element:e.cloneNode()}),e.textContent=t)),Oe("afterSanitizeElements",e,null),!1):(Pe(e),!0)},Ne=function(e,t,r){if(ee&&("id"===t||"name"===t)&&(r in o||r in Ce))return!1;if(W&&!V[t]&&os(M,t));else if(z&&os(R,t));else if(!L[t]||V[t]){if(!(Le(e)&&(F.tagNameCheck instanceof RegExp&&os(F.tagNameCheck,e)||F.tagNameCheck instanceof Function&&F.tagNameCheck(e))&&(F.attributeNameCheck instanceof RegExp&&os(F.attributeNameCheck,t)||F.attributeNameCheck instanceof Function&&F.attributeNameCheck(t))||"is"===t&&F.allowCustomizedBuiltInElements&&(F.tagNameCheck instanceof RegExp&&os(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r))))return!1}else if(de[t]);else if(os(O,rs(r,B,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==is(r,"data:")||!se[e])if(U&&!os(D,rs(r,B,"")));else if(r)return!1;return!0},Le=function(e){return e.indexOf("-")>0},je=function(e){let t,i,n,o;Oe("beforeSanitizeAttributes",e,null);const{attributes:a}=e;if(!a)return;const s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:L};for(o=a.length;o--;){t=a[o];const{name:l,namespaceURI:d}=t;if(i="value"===l?t.value:ns(t.value),n=we(l),s.attrName=n,s.attrValue=i,s.keepAttr=!0,s.forceKeepAttr=void 0,Oe("uponSanitizeAttribute",e,s),i=s.attrValue,s.forceKeepAttr)continue;if(Me(l,e),!s.keepAttr)continue;if(!G&&os(/\/>/i,i)){Me(l,e);continue}J&&(i=rs(i,_," "),i=rs(i,I," "),i=rs(i,P," "));const c=we(e.nodeName);if(Ne(c,n,i)){if(!te||"id"!==n&&"name"!==n||(Me(l,e),i="user-content-"+i),w&&"object"==typeof m&&"function"==typeof m.getAttributeType)if(d);else switch(m.getAttributeType(c,n)){case"TrustedHTML":i=w.createHTML(i);break;case"TrustedScriptURL":i=w.createScriptURL(i)}try{d?e.setAttributeNS(d,l,i):e.setAttribute(l,i),Za(r.removed)}catch(e){}}}Oe("afterSanitizeAttributes",e,null)},Fe=function e(t){let r;const i=De(t);for(Oe("beforeSanitizeShadowDOM",t,null);r=i.nextNode();)Oe("uponSanitizeShadowNode",r,null),qe(r)||(r.content instanceof a&&e(r.content),je(r));Oe("afterSanitizeShadowDOM",t,null)};return r.sanitize=function(e){let t,n,o,s,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(fe=!e,fe&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Be(e)){if("function"!=typeof e.toString)throw as("toString is not a function");if("string"!=typeof(e=e.toString()))throw as("dirty is not a string, aborting")}if(!r.isSupported)return e;if(Q||xe(d),r.removed=[],"string"==typeof e&&(ie=!1),ie){if(e.nodeName){const t=we(e.nodeName);if(!q[t]||H[t])throw as("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof l)t=Re("\x3c!----\x3e"),n=t.ownerDocument.importNode(e,!0),1===n.nodeType&&"BODY"===n.nodeName||"HTML"===n.nodeName?t=n:t.appendChild(n);else{if(!Z&&!J&&!K&&-1===e.indexOf("<"))return w&&$?w.createHTML(e):e;if(t=Re(e),!t)return Z?null:$?A:""}t&&Y&&Pe(t.firstChild);const c=De(ie?e:t);for(;o=c.nextNode();)qe(o)||(o.content instanceof a&&Fe(o.content),je(o));if(ie)return e;if(Z){if(X)for(s=x.call(t.ownerDocument);t.firstChild;)s.appendChild(t.firstChild);else s=t;return(L.shadowroot||L.shadowrootmode)&&(s=T.call(i,s,!0)),s}let p=K?t.outerHTML:t.innerHTML;return K&&q["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&os(Ms,t.ownerDocument.doctype.name)&&(p="\n"+p),J&&(p=rs(p,_," "),p=rs(p,I," "),p=rs(p,P," ")),w&&$?w.createHTML(p):p},r.setConfig=function(e){xe(e),Q=!0},r.clearConfig=function(){Ae=null,Q=!1},r.isValidAttribute=function(e,t,r){Ae||xe({});const i=we(e),n=we(t);return Ne(i,n,r)},r.addHook=function(e,t){"function"==typeof t&&(E[e]=E[e]||[],Xa(E[e],t))},r.removeHook=function(e){if(E[e])return Za(E[e])},r.removeHooks=function(e){E[e]&&(E[e]=[])},r.removeAllHooks=function(){E={}},r}();Bs.version,Bs.isSupported;const Os=Bs.sanitize,qs=(Bs.setConfig,Bs.clearConfig,Bs.isValidAttribute,Bs.addHook),Ns=Bs.removeHook;var Ls;function js(e,t){return mi.isUri(e)?lo(e.scheme,t):co(e,t+":")}function Fs(e,...t){return t.some((t=>js(e,t)))}Bs.removeHooks,Bs.removeAllHooks,function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.vscodeManagedRemoteResource="vscode-managed-remote-resource",e.vscodeUserData="vscode-userdata",e.vscodeCustomEditor="vscode-custom-editor",e.vscodeNotebookCell="vscode-notebook-cell",e.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",e.vscodeNotebookCellOutput="vscode-notebook-cell-output",e.vscodeInteractiveInput="vscode-interactive-input",e.vscodeSettings="vscode-settings",e.vscodeWorkspaceTrust="vscode-workspace-trust",e.vscodeTerminal="vscode-terminal",e.vscodeChatCodeBlock="vscode-chat-code-block",e.vscodeChatSesssion="vscode-chat-editor",e.webviewPanel="webview-panel",e.vscodeWebview="vscode-webview",e.extension="extension",e.vscodeFileResource="vscode-file",e.tmp="tmp",e.vsls="vsls",e.vscodeSourceControl="vscode-scm",e.codeSetting="code-setting",e.codeFeature="code-feature"}(Ls||(Ls={}));const Hs=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._remoteResourcesPath=`/${Ls.vscodeRemoteResource}`}setPreferredWebSchema(e){this._preferredWebSchema=e}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(t){return Dt(t),e}const t=e.authority;let r=this._hosts[t];r&&-1!==r.indexOf(":")&&-1===r.indexOf("[")&&(r=`[${r}]`);const i=this._ports[t],n=this._connectionTokens[t];let o=`path=${encodeURIComponent(e.path)}`;return"string"==typeof n&&(o+=`&tkn=${encodeURIComponent(n)}`),mi.from({scheme:Pe?this._preferredWebSchema:Ls.vscodeRemoteResource,authority:`${r}:${i}`,path:this._remoteResourcesPath,query:o})}};class Vs{uriToBrowserUri(e){return e.scheme===Ls.vscodeRemote?Hs.rewrite(e):e.scheme!==Ls.file||!Ie&&Me!==`${Ls.vscodeFileResource}://${Vs.FALLBACK_AUTHORITY}`?e:e.with({scheme:Ls.vscodeFileResource,authority:e.authority||Vs.FALLBACK_AUTHORITY,query:null,fragment:null})}}Vs.FALLBACK_AUTHORITY="vscode-app";const zs=new Vs;var Ws;function Us(e){return Gs(e,0)}function Gs(e,t){switch(typeof e){case"object":return null===e?Js(349,t):Array.isArray(e)?(r=e,i=Js(104579,i=t),r.reduce(((e,t)=>Gs(t,e)),i)):function(e,t){return t=Js(181387,t),Object.keys(e).sort().reduce(((t,r)=>(t=Ks(r,t),Gs(e[r],t))),t)}(e,t);case"string":return Ks(e,t);case"boolean":return function(e,t){return Js(e?433:863,t)}(e,t);case"number":return Js(e,t);case"undefined":return Js(937,t);default:return Js(617,t)}var r,i}function Js(e,t){return(t<<5)-t+e|0}function Ks(e,t){t=Js(149417,t);for(let r=0,i=e.length;r>>i)>>>0}function Ys(e,t=0,r=e.byteLength,i=0){for(let n=0;ne.toString(16).padStart(2,"0"))).join(""):function(e,t,r="0"){for(;e.length>>0).toString(16),t/4)}!function(e){const t=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);e.CoopAndCoep=Object.freeze(t.get("3"));const r="vscode-coi";e.getHeadersFromQuery=function(e){let i;"string"==typeof e?i=new URL(e).searchParams:e instanceof URL?i=e.searchParams:mi.isUri(e)&&(i=new URL(e.toString(!0)).searchParams);const n=null==i?void 0:i.get(r);if(n)return t.get(n)},e.addSearchParam=function(e,t,i){if(!globalThis.crossOriginIsolated)return;const n=t&&i?"3":i?"2":"1";e instanceof URLSearchParams?e.set(r,n):e[r]=n}}(Ws||(Ws={}));class Xs{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const r=this._buff;let i,n,o=this._buffLen,a=this._leftoverHighSurrogate;for(0!==a?(i=a,n=-1,a=0):(i=e.charCodeAt(0),n=0);;){let s=i;if(ho(i)){if(!(n+1>>6,e[t++]=128|(63&r)>>>0):r<65536?(e[t++]=224|(61440&r)>>>12,e[t++]=128|(4032&r)>>>6,e[t++]=128|(63&r)>>>0):(e[t++]=240|(1835008&r)>>>18,e[t++]=128|(258048&r)>>>12,e[t++]=128|(4032&r)>>>6,e[t++]=128|(63&r)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),Zs(this._h0)+Zs(this._h1)+Zs(this._h2)+Zs(this._h3)+Zs(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Ys(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Ys(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=Xs._bigBlock32,t=this._buffDV;for(let r=0;r<64;r+=4)e.setUint32(r,t.getUint32(r,!1),!1);for(let t=64;t<320;t+=4)e.setUint32(t,Qs(e.getUint32(t-12,!1)^e.getUint32(t-32,!1)^e.getUint32(t-56,!1)^e.getUint32(t-64,!1),1),!1);let r,i,n,o=this._h0,a=this._h1,s=this._h2,l=this._h3,d=this._h4;for(let t=0;t<80;t++)t<20?(r=a&s|~a&l,i=1518500249):t<40?(r=a^s^l,i=1859775393):t<60?(r=a&s|a&l|s&l,i=2400959708):(r=a^s^l,i=3395469782),n=Qs(o,5)+r+d+i+e.getUint32(4*t,!1)&4294967295,d=l,l=s,s=Qs(a,30),a=o,o=n;this._h0=this._h0+o&4294967295,this._h1=this._h1+a&4294967295,this._h2=this._h2+s&4294967295,this._h3=this._h3+l&4294967295,this._h4=this._h4+d&4294967295}}Xs._bigBlock32=new DataView(new ArrayBuffer(320));const{registerWindow:$s,getWindow:el,getDocument:tl,getWindows:rl,getWindowsCount:il,getWindowId:nl,getWindowById:ol,hasWindow:al,onDidRegisterWindow:sl,onWillUnregisterWindow:ll,onDidUnregisterWindow:dl}=function(){const e=new Map;!function(e,t){const r=e;"number"!=typeof r.vscodeWindowId&&Object.defineProperty(r,"vscodeWindowId",{get:()=>1})}(Fn);const t={window:Fn,disposables:new $t};e.set(Fn.vscodeWindowId,t);const r=new pr,i=new pr,n=new pr;return{onDidRegisterWindow:r.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:i.event,registerWindow(t){if(e.has(t.vscodeWindowId))return er.None;const o=new $t,a={window:t,disposables:o.add(new $t)};return e.set(t.vscodeWindowId,a),o.add(Xt((()=>{e.delete(t.vscodeWindowId),i.fire(t)}))),o.add(ul(t,Gl.BEFORE_UNLOAD,(()=>{n.fire(t)}))),r.fire(a),o},getWindows:()=>e.values(),getWindowsCount:()=>e.size,getWindowId:e=>e.vscodeWindowId,hasWindow:t=>e.has(t),getWindowById:function(r,i){const n="number"==typeof r?e.get(r):void 0;return null!=n?n:i?t:void 0},getWindow(e){var t;const r=e;if(null===(t=null==r?void 0:r.ownerDocument)||void 0===t?void 0:t.defaultView)return r.ownerDocument.defaultView.window;const i=e;return(null==i?void 0:i.view)?i.view.window:Fn},getDocument:e=>el(e).document}}();function cl(e){for(;e.firstChild;)e.firstChild.remove()}class pl{constructor(e,t,r,i){this._node=e,this._type=t,this._handler=r,this._options=i||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function ul(e,t,r,i){return new pl(e,t,r,i)}const hl=function(e,t,r,i){let n=r;return"click"===t||"mousedown"===t?n=function(e,t){return function(r){return t(new wa(e,r))}}(el(e),r):"keydown"!==t&&"keypress"!==t&&"keyup"!==t||(n=function(e){return function(t){return e(new ga(t))}}(r)),ul(e,t,n,i)};function ml(e,t,r){return Ba(e,t,r)}let fl,gl;class bl extends Ma{constructor(e){super(),this.defaultTarget=e&&el(e)}cancelAndSet(e,t,r){return super.cancelAndSet(e,t,null!=r?r:this.defaultTarget)}}class yl{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){Dt(e)}}static sort(e,t){return t.priority-e.priority}}function vl(e){return el(e).getComputedStyle(e,null)}function wl(e,t){const r=el(e),i=r.document;if(e!==i.body)return new Cl(e.clientWidth,e.clientHeight);if(Re&&(null==r?void 0:r.visualViewport))return new Cl(r.visualViewport.width,r.visualViewport.height);if((null==r?void 0:r.innerWidth)&&r.innerHeight)return new Cl(r.innerWidth,r.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new Cl(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new Cl(i.documentElement.clientWidth,i.documentElement.clientHeight);if(t)return wl(t);throw new Error("Unable to figure out browser width and height")}!function(){const e=new Map,t=new Map,r=new Map,i=new Map;gl=(n,o,a=0)=>{const s=nl(n),l=new yl(o,a);let d=e.get(s);return d||(d=[],e.set(s,d)),d.push(l),r.get(s)||(r.set(s,!0),n.requestAnimationFrame((()=>(n=>{var o;r.set(n,!1);const a=null!==(o=e.get(n))&&void 0!==o?o:[];for(t.set(n,a),e.set(n,[]),i.set(n,!0);a.length>0;)a.sort(yl.sort),a.shift().execute();i.set(n,!1)})(s)))),l},fl=(e,r,n)=>{const o=nl(e);if(i.get(o)){const e=new yl(r,n);let i=t.get(o);return i||(i=[],t.set(o,i)),i.push(e),e}return gl(e,r,n)}}();class Al{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,r){const i=vl(e),n=i?i.getPropertyValue(t):"0";return Al.convertToPixels(e,n)}static getBorderLeftWidth(e){return Al.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return Al.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return Al.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return Al.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return Al.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return Al.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return Al.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return Al.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return Al.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return Al.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return Al.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return Al.getDimension(e,"margin-bottom","marginBottom")}}class Cl{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new Cl(e,t):this}static is(e){return"object"==typeof e&&"number"==typeof e.height&&"number"==typeof e.width}static lift(e){return e instanceof Cl?e:new Cl(e.width,e.height)}static equals(e,t){return e===t||!(!e||!t)&&e.width===t.width&&e.height===t.height}}function kl(e){const t=e.getBoundingClientRect(),r=el(e);return{left:t.left+r.scrollX,top:t.top+r.scrollY,width:t.width,height:t.height}}function xl(e){let t=e,r=1;do{const e=vl(t).zoom;null!=e&&"1"!==e&&(r*=e),t=t.parentElement}while(null!==t&&t!==t.ownerDocument.documentElement);return r}function Sl(e){const t=Al.getMarginLeft(e)+Al.getMarginRight(e);return e.offsetWidth+t}function Tl(e){const t=Al.getBorderLeftWidth(e)+Al.getBorderRightWidth(e),r=Al.getPaddingLeft(e)+Al.getPaddingRight(e);return e.offsetWidth-t-r}function El(e){const t=Al.getBorderTopWidth(e)+Al.getBorderBottomWidth(e),r=Al.getPaddingTop(e)+Al.getPaddingBottom(e);return e.offsetHeight-t-r}function _l(e){const t=Al.getMarginTop(e)+Al.getMarginBottom(e);return e.offsetHeight+t}function Il(e,t){return Boolean(null==t?void 0:t.contains(e))}function Pl(e,t,r){return!!function(e,t,r){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(r)if("string"==typeof r){if(e.classList.contains(r))return null}else if(e===r)return null;e=e.parentNode}return null}(e,t,r)}function Ml(e){return e&&!!e.host&&!!e.mode}function Rl(e){return!!Dl(e)}function Dl(e){for(var t;e.parentNode;){if(e===(null===(t=e.ownerDocument)||void 0===t?void 0:t.body))return null;e=e.parentNode}return Ml(e)?e:null}function Bl(){let e=Nl().activeElement;for(;null==e?void 0:e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function Ol(e){return Bl()===e}function ql(e){return Il(Bl(),e)}function Nl(){var e;return il()<=1?Fn.document:null!==(e=Array.from(rl()).map((({window:e})=>e.document)).find((e=>e.hasFocus())))&&void 0!==e?e:Fn.document}Cl.None=new Cl(0,0);const Ll=new Map;function jl(e=Fn.document.head,t,r){const i=document.createElement("style");if(i.type="text/css",i.media="screen",null==t||t(i),e.appendChild(i),r&&r.add(Xt((()=>e.removeChild(i)))),e===Fn.document.head){const e=new Set;Ll.set(i,e);for(const{window:t,disposables:n}of rl()){if(t===Fn)continue;const o=n.add(Fl(i,e,t));null==r||r.add(o)}}return i}function Fl(e,t,r){var i,n;const o=new $t,a=e.cloneNode(!0);r.document.head.appendChild(a),o.add(Xt((()=>r.document.head.removeChild(a))));for(const t of function(e){var t,r;return(null===(t=null==e?void 0:e.sheet)||void 0===t?void 0:t.rules)?e.sheet.rules:(null===(r=null==e?void 0:e.sheet)||void 0===r?void 0:r.cssRules)?e.sheet.cssRules:[]}(e))null===(i=a.sheet)||void 0===i||i.insertRule(t.cssText,null===(n=a.sheet)||void 0===n?void 0:n.cssRules.length);return o.add(Hl.observe(e,o,{childList:!0})((()=>{a.textContent=e.textContent}))),t.add(a),o.add(Xt((()=>t.delete(a)))),o}const Hl=new class{constructor(){this.mutationObservers=new Map}observe(e,t,r){let i=this.mutationObservers.get(e);i||(i=new Map,this.mutationObservers.set(e,i));const n=Us(r);let o=i.get(n);if(o)o.users+=1;else{const a=new pr,s=new MutationObserver((e=>a.fire(e)));s.observe(e,r);const l=o={users:1,observer:s,onDidMutate:a.event};t.add(Xt((()=>{l.users-=1,0===l.users&&(a.dispose(),s.disconnect(),null==i||i.delete(n),0===(null==i?void 0:i.size)&&this.mutationObservers.delete(e))}))),i.set(n,o)}return o.onDidMutate}};let Vl=null;function zl(e,t,r=function(){return Vl||(Vl=jl()),Vl}()){var i,n;if(r&&t){null===(i=r.sheet)||void 0===i||i.insertRule(`${e} {${t}}`,0);for(const i of null!==(n=Ll.get(r))&&void 0!==n?n:[])zl(e,t,i)}}function Wl(e){return e instanceof MouseEvent||e instanceof el(e).MouseEvent}function Ul(e){return e instanceof KeyboardEvent||e instanceof el(e).KeyboardEvent}const Gl={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:ta?"webkitAnimationStart":"animationstart",ANIMATION_END:ta?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:ta?"webkitAnimationIteration":"animationiteration"};function Jl(e){const t=e;return!(!t||"function"!=typeof t.preventDefault||"function"!=typeof t.stopPropagation)}const Kl=(e,t)=>(e.preventDefault(),t&&e.stopPropagation(),e);class Ql extends er{static hasFocusWithin(e){if(e instanceof HTMLElement){const t=Dl(e);return Il(t?t.activeElement:e.ownerDocument.activeElement,e)}{const t=e;return Il(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new pr),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new pr),this.onDidBlur=this._onDidBlur.event;let t=Ql.hasFocusWithin(e),r=!1;const i=()=>{r=!1,t||(t=!0,this._onDidFocus.fire())},n=()=>{t&&(r=!0,(e instanceof HTMLElement?el(e):e).setTimeout((()=>{r&&(r=!1,t=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{Ql.hasFocusWithin(e)!==t&&(t?n():i())},this._register(ul(e,Gl.FOCUS,i,!0)),this._register(ul(e,Gl.BLUR,n,!0)),e instanceof HTMLElement&&(this._register(ul(e,Gl.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(ul(e,Gl.FOCUS_OUT,(()=>this._refreshStateHandler()))))}}function Yl(e){return new Ql(e)}function Zl(e,...t){if(e.append(...t),1===t.length&&"string"!=typeof t[0])return t[0]}function Xl(e,t){return e.insertBefore(t,e.firstChild),t}function $l(e,...t){e.innerText="",Zl(e,...t)}const ed=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var td;function rd(e,t,r,...i){const n=ed.exec(t);if(!n)throw new Error("Bad use of emmet");const o=n[1]||"div";let a;return a=e!==td.HTML?document.createElementNS(e,o):document.createElement(o),n[3]&&(a.id=n[3]),n[4]&&(a.className=n[4].replace(/\./g," ").trim()),r&&Object.entries(r).forEach((([e,t])=>{void 0!==t&&(/^on\w+$/.test(e)?a[e]=t:"selected"===e?t&&a.setAttribute(e,"true"):a.setAttribute(e,t))})),a.append(...i),a}function id(e,t,...r){return rd(td.HTML,e,t,...r)}function nd(...e){for(const t of e)t.style.display="",t.removeAttribute("aria-hidden")}function od(...e){for(const t of e)t.style.display="none",t.setAttribute("aria-hidden","true")}function ad(e,t){const r=e.devicePixelRatio*t;return Math.max(1,Math.floor(r))/e.devicePixelRatio}function sd(e){Fn.open(e,"_blank","noopener")}function ld(e){return e?`url('${zs.uriToBrowserUri(e).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function dd(e){return`'${e.replace(/'/g,"%27")}'`}function cd(e,t){if(void 0!==e){const r=e.match(/^\s*var\((.+)\)$/);if(r){const e=r[1].split(",",2);return 2===e.length&&(t=cd(e[1].trim(),t)),`var(${e[0]}, ${t})`}return e}return t}!function(e){e.HTML="http://www.w3.org/1999/xhtml",e.SVG="http://www.w3.org/2000/svg"}(td||(td={})),id.SVG=function(e,t,...r){return rd(td.SVG,e,t,...r)},Hs.setPreferredWebSchema(/^https:/.test(Fn.location.href)?"https":"http");const pd=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);Object.freeze({ALLOWED_TAGS:["a","button","blockquote","code","div","h1","h2","h3","h4","h5","h6","hr","input","label","li","p","pre","select","small","span","strong","textarea","ul","ol"],ALLOWED_ATTR:["href","data-href","data-command","target","title","name","src","alt","class","id","role","tabindex","style","data-code","width","height","align","x-dispatch","required","checked","placeholder","type","start"],RETURN_DOM:!1,RETURN_DOM_FRAGMENT:!1,RETURN_TRUSTED_TYPE:!0});class ud extends pr{constructor(){super(),this._subscriptions=new $t,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(ar.runAndSubscribe(sl,(({window:e,disposables:t})=>this.registerListeners(e,t)),{window:Fn,disposables:this._subscriptions}))}registerListeners(e,t){t.add(ul(e,"keydown",(e=>{if(e.defaultPrevented)return;const t=new ga(e);if(6!==t.keyCode||!e.repeat){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===t.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}}),!0)),t.add(ul(e,"keyup",(e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!e.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))}),!0)),t.add(ul(e.document.body,"mousedown",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(ul(e.document.body,"mouseup",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),t.add(ul(e.document.body,"mousemove",(e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),t.add(ul(e,"blur",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return ud.instance||(ud.instance=new ud),ud.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class hd extends er{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(ul(this.element,Gl.DRAG_START,(e=>{var t,r;null===(r=(t=this.callbacks).onDragStart)||void 0===r||r.call(t,e)}))),this.callbacks.onDrag&&this._register(ul(this.element,Gl.DRAG,(e=>{var t,r;null===(r=(t=this.callbacks).onDrag)||void 0===r||r.call(t,e)}))),this._register(ul(this.element,Gl.DRAG_ENTER,(e=>{var t,r;this.counter++,this.dragStartTime=e.timeStamp,null===(r=(t=this.callbacks).onDragEnter)||void 0===r||r.call(t,e)}))),this._register(ul(this.element,Gl.DRAG_OVER,(e=>{var t,r;e.preventDefault(),null===(r=(t=this.callbacks).onDragOver)||void 0===r||r.call(t,e,e.timeStamp-this.dragStartTime)}))),this._register(ul(this.element,Gl.DRAG_LEAVE,(e=>{var t,r;this.counter--,0===this.counter&&(this.dragStartTime=0,null===(r=(t=this.callbacks).onDragLeave)||void 0===r||r.call(t,e))}))),this._register(ul(this.element,Gl.DRAG_END,(e=>{var t,r;this.counter=0,this.dragStartTime=0,null===(r=(t=this.callbacks).onDragEnd)||void 0===r||r.call(t,e)}))),this._register(ul(this.element,Gl.DROP,(e=>{var t,r;this.counter=0,this.dragStartTime=0,null===(r=(t=this.callbacks).onDrop)||void 0===r||r.call(t,e)})))}}const md=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function fd(e,...t){let r,i;Array.isArray(t[0])?(r={},i=t[0]):(r=t[0]||{},i=t[1]);const n=md.exec(e);if(!n||!n.groups)throw new Error("Bad use of h");const o=n.groups.tag||"div",a=document.createElement(o);n.groups.id&&(a.id=n.groups.id);const s=[];if(n.groups.class)for(const e of n.groups.class.split("."))""!==e&&s.push(e);if(void 0!==r.className)for(const e of r.className.split("."))""!==e&&s.push(e);s.length>0&&(a.className=s.join(" "));const l={};if(n.groups.name&&(l[n.groups.name]=a),i)for(const e of i)e instanceof HTMLElement?a.appendChild(e):"string"==typeof e?a.append(e):"root"in e&&(Object.assign(l,e),a.appendChild(e.root));for(const[e,t]of Object.entries(r))if("className"!==e)if("style"===e)for(const[e,r]of Object.entries(t))a.style.setProperty(gd(e),"number"==typeof r?r+"px":""+r);else"tabIndex"===e?a.tabIndex=t:a.setAttribute(gd(e),t.toString());return l.root=a,l}function gd(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class bd extends er{constructor(e){super(),this._onDidChange=this._register(new pr),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){var r;null===(r=this._mediaQueryList)||void 0===r||r.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class yd extends er{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new pr),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new bd(e));this._register(t.onDidChange((()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)})))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d");return(e.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}const vd=new class{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=nl(e);let r=this.mapWindowIdToPixelRatioMonitor.get(t);return r||(r=Qt(new yd(e)),this.mapWindowIdToPixelRatioMonitor.set(t,r),Qt(ar.once(dl)((({vscodeWindowId:e})=>{e===t&&(null==r||r.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})))),r}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}};class wd{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=Ad(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=Ad(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=Ad(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=Ad(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=Ad(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=Ad(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=Ad(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=Ad(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=Ad(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=Ad(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=Ad(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function Ad(e){return"number"==typeof e?`${e}px`:e}function Cd(e){return new wd(e)}function kd(e,t){e instanceof wd?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setFontVariationSettings(t.fontVariationSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.fontVariationSettings=t.fontVariationSettings,e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px")}class xd{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class Sd{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),e.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");kd(t,this._bareFontInfo),e.appendChild(t);const r=document.createElement("div");kd(r,this._bareFontInfo),r.style.fontWeight="bold",e.appendChild(r);const i=document.createElement("div");kd(i,this._bareFontInfo),i.style.fontStyle="italic",e.appendChild(i);const n=[];for(const e of this._requests){let o;0===e.type&&(o=t),2===e.type&&(o=r),1===e.type&&(o=i),o.appendChild(document.createElement("br"));const a=document.createElement("span");Sd._render(a,e),o.appendChild(a),n.push(a)}this._container=e,this._testElements=n}static _render(e,t){if(" "===t.chr){let t=" ";for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let r=t.chr;for(let e=0;e<8;e++)r+=r;e.textContent=r}}_readFromDomElements(){for(let e=0,t=this._requests.length;ethis._values[e]))}}const Md=new class extends er{constructor(){super(...arguments),this._cache=new Map,this._evictUntrustedReadingsTimeout=-1,this._onDidChange=this._register(new pr),this.onDidChange=this._onDidChange.event}dispose(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache.clear(),this._onDidChange.fire()}_ensureCache(e){const t=nl(e);let r=this._cache.get(t);return r||(r=new Pd,this._cache.set(t,r)),r}_writeToCache(e,t,r){this._ensureCache(e).put(t,r),r.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=e.setTimeout((()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)}),5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),r=t.getValues();let i=!1;for(const e of r)e.isTrusted||(i=!0,t.remove(e));i&&this._onDidChange.fire()}readFontInfo(e,t){const r=this._ensureCache(e);if(!r.has(t)){let r=this._actualReadFontInfo(e,t);(r.typicalHalfwidthCharacterWidth<=2||r.typicalFullwidthCharacterWidth<=2||r.spaceWidth<=2||r.maxDigitWidth<=2)&&(r=new Id({pixelRatio:vd.getInstance(e).value,fontFamily:r.fontFamily,fontWeight:r.fontWeight,fontSize:r.fontSize,fontFeatureSettings:r.fontFeatureSettings,fontVariationSettings:r.fontVariationSettings,lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,isMonospace:r.isMonospace,typicalHalfwidthCharacterWidth:Math.max(r.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(r.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:r.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(r.spaceWidth,5),middotWidth:Math.max(r.middotWidth,5),wsmiddotWidth:Math.max(r.wsmiddotWidth,5),maxDigitWidth:Math.max(r.maxDigitWidth,5)},!1)),this._writeToCache(e,t,r)}return r.get(t)}_createRequest(e,t,r,i){const n=new xd(e,t);return r.push(n),null==i||i.push(n),n}_actualReadFontInfo(e,t){const r=[],i=[],n=this._createRequest("n",0,r,i),o=this._createRequest("m",0,r,null),a=this._createRequest(" ",0,r,i),s=this._createRequest("0",0,r,i),l=this._createRequest("1",0,r,i),d=this._createRequest("2",0,r,i),c=this._createRequest("3",0,r,i),p=this._createRequest("4",0,r,i),u=this._createRequest("5",0,r,i),h=this._createRequest("6",0,r,i),m=this._createRequest("7",0,r,i),f=this._createRequest("8",0,r,i),g=this._createRequest("9",0,r,i),b=this._createRequest("→",0,r,i),y=this._createRequest("→",0,r,null),v=this._createRequest("·",0,r,i),w=this._createRequest(String.fromCharCode(11825),0,r,null),A="|/-_ilm%";for(let e=0,t=8;e.001){k=!1;break}}let S=!0;return k&&y.width!==x&&(S=!1),y.width>b.width&&(S=!1),new Id({pixelRatio:vd.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:k,typicalHalfwidthCharacterWidth:n.width,typicalFullwidthCharacterWidth:o.width,canUseHalfwidthRightwardsArrow:S,spaceWidth:a.width,middotWidth:v.width,wsmiddotWidth:w.width,maxDigitWidth:C},!0)}};var Rd;!function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(Rd||(Rd={}));const Dd=Bd("instantiationService");function Bd(e){if(Rd.serviceIds.has(e))return Rd.serviceIds.get(e);const t=function(e,r,i){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,r){t[Rd.DI_TARGET]===t?t[Rd.DI_DEPENDENCIES].push({id:e,index:r}):(t[Rd.DI_DEPENDENCIES]=[{id:e,index:r}],t[Rd.DI_TARGET]=t)}(t,e,i)};return t.toString=()=>e,Rd.serviceIds.set(e,t),t}const Od=Bd("codeEditorService"),qd=Bd("modelService"),Nd=Bd("textModelService");class Ld extends er{constructor(e,t="",r="",i=!0,n){super(),this._onDidChange=this._register(new pr),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=e,this._label=t,this._cssClass=r,this._enabled=i,this._actionCallback=n}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,t){this._actionCallback&&await this._actionCallback(e)}}class jd extends er{constructor(){super(...arguments),this._onWillRun=this._register(new pr),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new pr),this.onDidRun=this._onDidRun.event}async run(e,t){if(!e.enabled)return;let r;this._onWillRun.fire({action:e});try{await this.runAction(e,t)}catch(e){r=e}this._onDidRun.fire({action:e,error:r})}async runAction(e,t){await e.run(t)}}class Fd{constructor(){this.id=Fd.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...e){let t=[];for(const r of e)r.length&&(t=t.length?[...t,new Fd,...r]:r);return t}async run(){}}Fd.ID="vs.actions.separator";class Hd{get actions(){return this._actions}constructor(e,t,r,i){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=e,this.label=t,this.class=i,this._actions=r}async run(){}}class Vd extends Ld{constructor(){super(Vd.ID,ie(0,"(empty)"),void 0,!1)}}function zd(e){var t;return{id:e.id,label:e.label,class:e.class,enabled:null===(t=e.enabled)||void 0===t||t,checked:e.checked,run:async(...t)=>e.run(...t),tooltip:e.label}}var Wd,Ud;Vd.ID="vs.actions.empty",function(e){e.isThemeColor=function(e){return e&&"object"==typeof e&&"string"==typeof e.id}}(Wd||(Wd={})),function(e){e.iconNameSegment="[A-Za-z0-9]+",e.iconNameExpression="[A-Za-z0-9-]+",e.iconModifierExpression="~[A-Za-z]+",e.iconNameCharacter="[A-Za-z0-9~-]";const t=new RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function r(e){const i=t.exec(e.id);if(!i)return r(Mi.error);const[,n,o]=i,a=["codicon","codicon-"+n];return o&&a.push("codicon-modifier-"+o.substring(1)),a}e.asClassNameArray=r,e.asClassName=function(e){return r(e).join(" ")},e.asCSSSelector=function(e){return"."+r(e).join(".")},e.isThemeIcon=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&(void 0===e.color||Wd.isThemeColor(e.color))};const i=new RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);e.fromString=function(e){const t=i.exec(e);if(!t)return;const[,r]=t;return{id:r}},e.fromId=function(e){return{id:e}},e.modify=function(e,t){let r=e.id;const i=r.lastIndexOf("~");return-1!==i&&(r=r.substring(0,i)),t&&(r=`${r}~${t}`),{id:r}},e.getModifier=function(e){const t=e.id.lastIndexOf("~");if(-1!==t)return e.id.substring(t+1)},e.isEqual=function(e,t){var r,i;return e.id===t.id&&(null===(r=e.color)||void 0===r?void 0:r.id)===(null===(i=t.color)||void 0===i?void 0:i.id)}}(Ud||(Ud={}));const Gd=Bd("commandService"),Jd=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new pr,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(e,t){if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t})}if(e.metadata&&Array.isArray(e.metadata.args)){const t=[];for(const r of e.metadata.args)t.push(r.constraint);const r=e.handler;e.handler=function(e,...i){return function(e,t){const r=Math.min(e.length,t.length);for(let i=0;i