You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2021/12/02 23:14:02 UTC

[camel-karavan] branch main updated: Dataformat Models and Metadata generator (#138)

This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git


The following commit(s) were added to refs/heads/main by this push:
     new fbf353e  Dataformat Models and Metadata generator (#138)
fbf353e is described below

commit fbf353e8770c0c4f74a8f3467395a551c7a83b15
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Thu Dec 2 18:13:56 2021 -0500

    Dataformat Models and Metadata generator (#138)
    
    * DataFormat generator
    
    * Generator for DataFormats
---
 karavan-designer/src/App.tsx                       |    4 +-
 karavan-designer/src/designer/api/CamelApi.tsx     |   84 +
 karavan-designer/src/designer/api/CamelApiExt.tsx  |   19 +-
 .../src/designer/api/CamelMetadata.tsx             |  612 +-
 karavan-designer/src/designer/api/CamelUi.tsx      |    8 +-
 karavan-designer/src/designer/karavan.css          |    1 +
 .../src/designer/model/CamelDataFormat.tsx         |  737 ++
 karavan-designer/src/designer/model/CamelModel.tsx |  166 +-
 karavan-designer/src/designer/ui/DslProperties.tsx |   24 +-
 karavan-designer/src/designer/ui/DslSelector.tsx   |    2 +-
 .../src/designer/ui/KaravanDesigner.tsx            |    1 -
 karavan-generator/pom.xml                          |   18 +-
 .../camel/karavan/generator/AbstractGenerator.java |   86 +
 .../generator/CamelComponentsGenerator.java        |    6 +-
 .../generator/CamelDataFormatGenerator.java        |   89 +
 .../karavan/generator/CamelModelGenerator.java     |  264 +-
 .../camel/karavan/generator/KaravanGenerator.java  |    1 +
 .../src/main/resources/CamelDataFormat.template.tx |    7 +
 .../src/main/resources/CamelDataFormat.tx          |   10 +
 .../src/main/resources/camel-metadata.template     |    8 +-
 .../src/main/resources/camel-model.template        |    3 +-
 .../src/main/resources/camel-yaml-dsl.json         | 7362 --------------------
 karavan-vscode/components/activemq.json            |    2 +-
 karavan-vscode/components/ahc-ws.json              |    2 +-
 karavan-vscode/components/ahc-wss.json             |    2 +-
 karavan-vscode/components/ahc.json                 |    2 +-
 karavan-vscode/components/amqp.json                |    2 +-
 karavan-vscode/components/arangodb.json            |    2 +-
 karavan-vscode/components/as2.json                 |    2 +-
 karavan-vscode/components/asterisk.json            |    2 +-
 karavan-vscode/components/atlasmap.json            |    2 +-
 karavan-vscode/components/atmos.json               |    2 +-
 .../components/atmosphere-websocket.json           |    2 +-
 karavan-vscode/components/atom.json                |    2 +-
 karavan-vscode/components/atomix-map.json          |    2 +-
 karavan-vscode/components/atomix-messaging.json    |    2 +-
 karavan-vscode/components/atomix-multimap.json     |    2 +-
 karavan-vscode/components/atomix-queue.json        |    2 +-
 karavan-vscode/components/atomix-set.json          |    2 +-
 karavan-vscode/components/atomix-value.json        |    2 +-
 karavan-vscode/components/avro.json                |    2 +-
 karavan-vscode/components/aws-secrets-manager.json |    2 +-
 karavan-vscode/components/aws2-athena.json         |    2 +-
 karavan-vscode/components/aws2-cw.json             |    2 +-
 karavan-vscode/components/aws2-ddb.json            |    2 +-
 karavan-vscode/components/aws2-ddbstream.json      |    2 +-
 karavan-vscode/components/aws2-ec2.json            |    2 +-
 karavan-vscode/components/aws2-ecs.json            |    2 +-
 karavan-vscode/components/aws2-eks.json            |    2 +-
 karavan-vscode/components/aws2-eventbridge.json    |    2 +-
 karavan-vscode/components/aws2-iam.json            |    2 +-
 .../components/aws2-kinesis-firehose.json          |    2 +-
 karavan-vscode/components/aws2-kinesis.json        |    2 +-
 karavan-vscode/components/aws2-kms.json            |    2 +-
 karavan-vscode/components/aws2-lambda.json         |    2 +-
 karavan-vscode/components/aws2-mq.json             |    2 +-
 karavan-vscode/components/aws2-msk.json            |    2 +-
 karavan-vscode/components/aws2-s3.json             |    2 +-
 karavan-vscode/components/aws2-ses.json            |    2 +-
 karavan-vscode/components/aws2-sns.json            |    2 +-
 karavan-vscode/components/aws2-sqs.json            |    2 +-
 karavan-vscode/components/aws2-sts.json            |    2 +-
 karavan-vscode/components/aws2-translate.json      |    2 +-
 karavan-vscode/components/azure-cosmosdb.json      |    2 +-
 karavan-vscode/components/azure-eventhubs.json     |    2 +-
 karavan-vscode/components/azure-storage-blob.json  |    2 +-
 .../components/azure-storage-datalake.json         |    2 +-
 karavan-vscode/components/azure-storage-queue.json |    2 +-
 karavan-vscode/components/bean-validator.json      |    2 +-
 karavan-vscode/components/bean.json                |    2 +-
 karavan-vscode/components/beanstalk.json           |    2 +-
 karavan-vscode/components/bonita.json              |    2 +-
 karavan-vscode/components/box.json                 |    2 +-
 karavan-vscode/components/braintree.json           |    2 +-
 karavan-vscode/components/browse.json              |    2 +-
 karavan-vscode/components/caffeine-cache.json      |    2 +-
 karavan-vscode/components/caffeine-loadcache.json  |    2 +-
 karavan-vscode/components/chatscript.json          |    2 +-
 karavan-vscode/components/chunk.json               |    2 +-
 karavan-vscode/components/class.json               |    2 +-
 karavan-vscode/components/cm-sms.json              |    2 +-
 karavan-vscode/components/cmis.json                |    2 +-
 karavan-vscode/components/coap+tcp.json            |    2 +-
 karavan-vscode/components/coap.json                |    2 +-
 karavan-vscode/components/coaps+tcp.json           |    2 +-
 karavan-vscode/components/coaps.json               |    2 +-
 karavan-vscode/components/cometd.json              |    2 +-
 karavan-vscode/components/cometds.json             |    2 +-
 karavan-vscode/components/consul.json              |    2 +-
 karavan-vscode/components/controlbus.json          |    2 +-
 karavan-vscode/components/corda.json               |    2 +-
 karavan-vscode/components/couchbase.json           |    2 +-
 karavan-vscode/components/couchdb.json             |    2 +-
 karavan-vscode/components/cql.json                 |    2 +-
 karavan-vscode/components/cron.json                |    2 +-
 karavan-vscode/components/crypto.json              |    2 +-
 karavan-vscode/components/cxf.json                 |    2 +-
 karavan-vscode/components/cxfrs.json               |    2 +-
 karavan-vscode/components/dataformat.json          |    2 +-
 karavan-vscode/components/dataset-test.json        |    2 +-
 karavan-vscode/components/dataset.json             |    2 +-
 karavan-vscode/components/debezium-mongodb.json    |    2 +-
 karavan-vscode/components/debezium-mysql.json      |    2 +-
 karavan-vscode/components/debezium-postgres.json   |    2 +-
 karavan-vscode/components/debezium-sqlserver.json  |    2 +-
 karavan-vscode/components/digitalocean.json        |    2 +-
 karavan-vscode/components/direct-vm.json           |    2 +-
 karavan-vscode/components/direct.json              |    2 +-
 karavan-vscode/components/disruptor-vm.json        |    2 +-
 karavan-vscode/components/disruptor.json           |    2 +-
 karavan-vscode/components/djl.json                 |    2 +-
 karavan-vscode/components/dns.json                 |    2 +-
 karavan-vscode/components/docker.json              |    2 +-
 karavan-vscode/components/dozer.json               |    2 +-
 karavan-vscode/components/drill.json               |    2 +-
 karavan-vscode/components/dropbox.json             |    2 +-
 karavan-vscode/components/ehcache.json             |    2 +-
 karavan-vscode/components/elasticsearch-rest.json  |    2 +-
 karavan-vscode/components/elsql.json               |    2 +-
 karavan-vscode/components/etcd-keys.json           |    2 +-
 karavan-vscode/components/etcd-stats.json          |    2 +-
 karavan-vscode/components/etcd-watch.json          |    2 +-
 karavan-vscode/components/exec.json                |    2 +-
 karavan-vscode/components/facebook.json            |    2 +-
 karavan-vscode/components/fhir.json                |    2 +-
 karavan-vscode/components/file-watch.json          |    2 +-
 karavan-vscode/components/file.json                |    2 +-
 karavan-vscode/components/flatpack.json            |    2 +-
 karavan-vscode/components/flink.json               |    2 +-
 karavan-vscode/components/fop.json                 |    2 +-
 karavan-vscode/components/freemarker.json          |    2 +-
 karavan-vscode/components/ftp.json                 |    2 +-
 karavan-vscode/components/ftps.json                |    2 +-
 karavan-vscode/components/ganglia.json             |    2 +-
 karavan-vscode/components/geocoder.json            |    2 +-
 karavan-vscode/components/git.json                 |    2 +-
 karavan-vscode/components/github.json              |    2 +-
 karavan-vscode/components/google-bigquery-sql.json |    2 +-
 karavan-vscode/components/google-bigquery.json     |    2 +-
 .../components/google-calendar-stream.json         |    2 +-
 karavan-vscode/components/google-calendar.json     |    2 +-
 karavan-vscode/components/google-drive.json        |    2 +-
 karavan-vscode/components/google-functions.json    |    2 +-
 karavan-vscode/components/google-mail-stream.json  |    2 +-
 karavan-vscode/components/google-mail.json         |    2 +-
 karavan-vscode/components/google-pubsub.json       |    2 +-
 .../components/google-sheets-stream.json           |    2 +-
 karavan-vscode/components/google-sheets.json       |    2 +-
 karavan-vscode/components/google-storage.json      |    2 +-
 karavan-vscode/components/gora.json                |    2 +-
 karavan-vscode/components/grape.json               |    2 +-
 karavan-vscode/components/graphql.json             |    2 +-
 karavan-vscode/components/grpc.json                |    2 +-
 karavan-vscode/components/guava-eventbus.json      |    2 +-
 .../components/hazelcast-atomicvalue.json          |    2 +-
 karavan-vscode/components/hazelcast-instance.json  |    2 +-
 karavan-vscode/components/hazelcast-list.json      |    2 +-
 karavan-vscode/components/hazelcast-map.json       |    2 +-
 karavan-vscode/components/hazelcast-multimap.json  |    2 +-
 karavan-vscode/components/hazelcast-queue.json     |    2 +-
 .../components/hazelcast-replicatedmap.json        |    2 +-
 .../components/hazelcast-ringbuffer.json           |    2 +-
 karavan-vscode/components/hazelcast-seda.json      |    2 +-
 karavan-vscode/components/hazelcast-set.json       |    2 +-
 karavan-vscode/components/hazelcast-topic.json     |    2 +-
 karavan-vscode/components/hbase.json               |    2 +-
 karavan-vscode/components/hdfs.json                |    2 +-
 karavan-vscode/components/http.json                |    2 +-
 karavan-vscode/components/https.json               |    2 +-
 karavan-vscode/components/hwcloud-dms.json         |    2 +-
 .../components/hwcloud-functiongraph.json          |    2 +-
 karavan-vscode/components/hwcloud-iam.json         |    2 +-
 .../components/hwcloud-imagerecognition.json       |    2 +-
 karavan-vscode/components/hwcloud-obs.json         |    2 +-
 karavan-vscode/components/hwcloud-smn.json         |    2 +-
 karavan-vscode/components/iec60870-client.json     |    2 +-
 karavan-vscode/components/iec60870-server.json     |    2 +-
 karavan-vscode/components/ignite-cache.json        |    2 +-
 karavan-vscode/components/ignite-compute.json      |    2 +-
 karavan-vscode/components/ignite-events.json       |    2 +-
 karavan-vscode/components/ignite-idgen.json        |    2 +-
 karavan-vscode/components/ignite-messaging.json    |    2 +-
 karavan-vscode/components/ignite-queue.json        |    2 +-
 karavan-vscode/components/ignite-set.json          |    2 +-
 karavan-vscode/components/imap.json                |    2 +-
 karavan-vscode/components/imaps.json               |    2 +-
 karavan-vscode/components/infinispan-embedded.json |    2 +-
 karavan-vscode/components/infinispan.json          |    2 +-
 karavan-vscode/components/influxdb.json            |    2 +-
 karavan-vscode/components/iota.json                |    2 +-
 karavan-vscode/components/ipfs.json                |    2 +-
 karavan-vscode/components/irc.json                 |    2 +-
 karavan-vscode/components/ironmq.json              |    2 +-
 karavan-vscode/components/jbpm.json                |    2 +-
 karavan-vscode/components/jcache.json              |    2 +-
 karavan-vscode/components/jclouds.json             |    2 +-
 karavan-vscode/components/jcr.json                 |    2 +-
 karavan-vscode/components/jdbc.json                |    2 +-
 karavan-vscode/components/jetty.json               |    2 +-
 karavan-vscode/components/jgroups-raft.json        |    2 +-
 karavan-vscode/components/jgroups.json             |    2 +-
 karavan-vscode/components/jing.json                |    2 +-
 karavan-vscode/components/jira.json                |    2 +-
 karavan-vscode/components/jms.json                 |    2 +-
 karavan-vscode/components/jmx.json                 |    2 +-
 karavan-vscode/components/jolt.json                |    2 +-
 karavan-vscode/components/jooq.json                |    2 +-
 karavan-vscode/components/jpa.json                 |    2 +-
 karavan-vscode/components/jslt.json                |    2 +-
 karavan-vscode/components/json-patch.json          |    2 +-
 karavan-vscode/components/json-validator.json      |    2 +-
 karavan-vscode/components/jsonata.json             |    2 +-
 karavan-vscode/components/jt400.json               |    2 +-
 karavan-vscode/components/kafka.json               |    2 +-
 .../components/kubernetes-config-maps.json         |    2 +-
 .../components/kubernetes-custom-resources.json    |    2 +-
 .../components/kubernetes-deployments.json         |    2 +-
 karavan-vscode/components/kubernetes-hpa.json      |    2 +-
 karavan-vscode/components/kubernetes-job.json      |    2 +-
 .../components/kubernetes-namespaces.json          |    2 +-
 karavan-vscode/components/kubernetes-nodes.json    |    2 +-
 .../kubernetes-persistent-volumes-claims.json      |    2 +-
 .../components/kubernetes-persistent-volumes.json  |    2 +-
 karavan-vscode/components/kubernetes-pods.json     |    2 +-
 .../kubernetes-replication-controllers.json        |    2 +-
 .../components/kubernetes-resources-quota.json     |    2 +-
 karavan-vscode/components/kubernetes-secrets.json  |    2 +-
 .../components/kubernetes-service-accounts.json    |    2 +-
 karavan-vscode/components/kubernetes-services.json |    2 +-
 karavan-vscode/components/kudu.json                |    2 +-
 karavan-vscode/components/language.json            |    2 +-
 karavan-vscode/components/ldap.json                |    2 +-
 karavan-vscode/components/ldif.json                |    2 +-
 karavan-vscode/components/log.json                 |    2 +-
 karavan-vscode/components/lpr.json                 |    2 +-
 karavan-vscode/components/lucene.json              |    2 +-
 karavan-vscode/components/lumberjack.json          |    2 +-
 karavan-vscode/components/master.json              |    2 +-
 karavan-vscode/components/metrics.json             |    2 +-
 karavan-vscode/components/micrometer.json          |    2 +-
 .../components/microprofile-metrics.json           |    2 +-
 karavan-vscode/components/milo-client.json         |    2 +-
 karavan-vscode/components/milo-server.json         |    2 +-
 karavan-vscode/components/mina.json                |    2 +-
 karavan-vscode/components/minio.json               |    2 +-
 karavan-vscode/components/mllp.json                |    2 +-
 karavan-vscode/components/mock.json                |    2 +-
 karavan-vscode/components/mongodb-gridfs.json      |    2 +-
 karavan-vscode/components/mongodb.json             |    2 +-
 karavan-vscode/components/msv.json                 |    2 +-
 karavan-vscode/components/mustache.json            |    2 +-
 karavan-vscode/components/mvel.json                |    2 +-
 karavan-vscode/components/mybatis-bean.json        |    2 +-
 karavan-vscode/components/mybatis.json             |    2 +-
 karavan-vscode/components/nagios.json              |    2 +-
 karavan-vscode/components/nats.json                |    2 +-
 karavan-vscode/components/netty-http.json          |    2 +-
 karavan-vscode/components/netty.json               |    2 +-
 karavan-vscode/components/nitrite.json             |    2 +-
 karavan-vscode/components/nsq.json                 |    2 +-
 karavan-vscode/components/oaipmh.json              |    2 +-
 karavan-vscode/components/olingo2.json             |    2 +-
 karavan-vscode/components/olingo4.json             |    2 +-
 .../components/openshift-build-configs.json        |    2 +-
 karavan-vscode/components/openshift-builds.json    |    2 +-
 karavan-vscode/components/openstack-cinder.json    |    2 +-
 karavan-vscode/components/openstack-glance.json    |    2 +-
 karavan-vscode/components/openstack-keystone.json  |    2 +-
 karavan-vscode/components/openstack-neutron.json   |    2 +-
 karavan-vscode/components/openstack-nova.json      |    2 +-
 karavan-vscode/components/openstack-swift.json     |    2 +-
 karavan-vscode/components/optaplanner.json         |    2 +-
 karavan-vscode/components/paho-mqtt5.json          |    2 +-
 karavan-vscode/components/paho.json                |    2 +-
 karavan-vscode/components/pdf.json                 |    2 +-
 karavan-vscode/components/pg-replication-slot.json |    2 +-
 karavan-vscode/components/pgevent.json             |    2 +-
 karavan-vscode/components/platform-http.json       |    2 +-
 karavan-vscode/components/pop3.json                |    2 +-
 karavan-vscode/components/pop3s.json               |    2 +-
 karavan-vscode/components/pubnub.json              |    2 +-
 karavan-vscode/components/pulsar.json              |    2 +-
 karavan-vscode/components/quartz.json              |    2 +-
 karavan-vscode/components/quickfix.json            |    2 +-
 karavan-vscode/components/rabbitmq.json            |    2 +-
 karavan-vscode/components/reactive-streams.json    |    2 +-
 karavan-vscode/components/ref.json                 |    2 +-
 karavan-vscode/components/rest-api.json            |    2 +-
 karavan-vscode/components/rest-openapi.json        |    2 +-
 karavan-vscode/components/rest-swagger.json        |    2 +-
 karavan-vscode/components/rest.json                |    2 +-
 karavan-vscode/components/resteasy.json            |    2 +-
 karavan-vscode/components/robotframework.json      |    2 +-
 karavan-vscode/components/rss.json                 |    2 +-
 karavan-vscode/components/saga.json                |    2 +-
 karavan-vscode/components/salesforce.json          |    2 +-
 karavan-vscode/components/sap-netweaver.json       |    2 +-
 karavan-vscode/components/scheduler.json           |    2 +-
 karavan-vscode/components/schematron.json          |    2 +-
 karavan-vscode/components/scp.json                 |    2 +-
 karavan-vscode/components/seda.json                |    2 +-
 karavan-vscode/components/service.json             |    2 +-
 karavan-vscode/components/servicenow.json          |    2 +-
 karavan-vscode/components/servlet.json             |    2 +-
 karavan-vscode/components/sftp.json                |    2 +-
 karavan-vscode/components/sip.json                 |    2 +-
 karavan-vscode/components/sips.json                |    2 +-
 karavan-vscode/components/sjms.json                |    2 +-
 karavan-vscode/components/sjms2.json               |    2 +-
 karavan-vscode/components/slack.json               |    2 +-
 karavan-vscode/components/smpp.json                |    2 +-
 karavan-vscode/components/smpps.json               |    2 +-
 karavan-vscode/components/smtp.json                |    2 +-
 karavan-vscode/components/smtps.json               |    2 +-
 karavan-vscode/components/snmp.json                |    2 +-
 karavan-vscode/components/solr.json                |    2 +-
 karavan-vscode/components/solrCloud.json           |    2 +-
 karavan-vscode/components/solrs.json               |    2 +-
 karavan-vscode/components/soroush.json             |    2 +-
 karavan-vscode/components/spark.json               |    2 +-
 karavan-vscode/components/splunk-hec.json          |    2 +-
 karavan-vscode/components/splunk.json              |    2 +-
 karavan-vscode/components/spring-batch.json        |    2 +-
 karavan-vscode/components/spring-event.json        |    2 +-
 karavan-vscode/components/spring-integration.json  |    2 +-
 karavan-vscode/components/spring-jdbc.json         |    2 +-
 karavan-vscode/components/spring-ldap.json         |    2 +-
 karavan-vscode/components/spring-rabbitmq.json     |    2 +-
 karavan-vscode/components/spring-redis.json        |    2 +-
 karavan-vscode/components/spring-ws.json           |    2 +-
 karavan-vscode/components/sql-stored.json          |    2 +-
 karavan-vscode/components/sql.json                 |    2 +-
 karavan-vscode/components/ssh.json                 |    2 +-
 karavan-vscode/components/stax.json                |    2 +-
 karavan-vscode/components/stitch.json              |    2 +-
 karavan-vscode/components/stomp.json               |    2 +-
 karavan-vscode/components/stream.json              |    2 +-
 karavan-vscode/components/string-template.json     |    2 +-
 karavan-vscode/components/stub.json                |    2 +-
 karavan-vscode/components/telegram.json            |    2 +-
 karavan-vscode/components/thrift.json              |    2 +-
 karavan-vscode/components/tika.json                |    2 +-
 karavan-vscode/components/timer.json               |    2 +-
 karavan-vscode/components/twilio.json              |    2 +-
 .../components/twitter-directmessage.json          |    2 +-
 karavan-vscode/components/twitter-search.json      |    2 +-
 karavan-vscode/components/twitter-timeline.json    |    2 +-
 karavan-vscode/components/undertow.json            |    2 +-
 karavan-vscode/components/validator.json           |    2 +-
 karavan-vscode/components/velocity.json            |    2 +-
 karavan-vscode/components/vertx-http.json          |    2 +-
 karavan-vscode/components/vertx-kafka.json         |    2 +-
 karavan-vscode/components/vertx-websocket.json     |    2 +-
 karavan-vscode/components/vertx.json               |    2 +-
 karavan-vscode/components/vm.json                  |    2 +-
 karavan-vscode/components/weather.json             |    2 +-
 karavan-vscode/components/web3j.json               |    2 +-
 karavan-vscode/components/webhook.json             |    2 +-
 karavan-vscode/components/websocket-jsr356.json    |    2 +-
 karavan-vscode/components/websocket.json           |    2 +-
 karavan-vscode/components/weka.json                |    2 +-
 karavan-vscode/components/wordpress.json           |    2 +-
 karavan-vscode/components/workday.json             |    2 +-
 karavan-vscode/components/xchange.json             |    2 +-
 karavan-vscode/components/xj.json                  |    2 +-
 karavan-vscode/components/xmlsecurity-sign.json    |    2 +-
 karavan-vscode/components/xmlsecurity-verify.json  |    2 +-
 karavan-vscode/components/xmpp.json                |    2 +-
 karavan-vscode/components/xquery.json              |    2 +-
 karavan-vscode/components/xslt-saxon.json          |    2 +-
 karavan-vscode/components/xslt.json                |    2 +-
 karavan-vscode/components/yammer.json              |    2 +-
 karavan-vscode/components/zendesk.json             |    2 +-
 karavan-vscode/components/zookeeper-master.json    |    2 +-
 karavan-vscode/components/zookeeper.json           |    2 +-
 375 files changed, 2185 insertions(+), 8033 deletions(-)

diff --git a/karavan-designer/src/App.tsx b/karavan-designer/src/App.tsx
index ccd9be2..4d3f39e 100644
--- a/karavan-designer/src/App.tsx
+++ b/karavan-designer/src/App.tsx
@@ -21,7 +21,6 @@ import {
 import {KaravanDesigner} from "./designer/ui/KaravanDesigner";
 import {KameletApi} from "./designer/api/KameletApi";
 import {ComponentApi} from "./designer/api/ComponentApi";
-import {Expression, SetBodyStep} from "./designer/model/CamelModel";
 
 interface Props {
 }
@@ -45,6 +44,9 @@ class App extends React.Component<Props, State> {
             '    - from:\n' +
             '        uri: \'kamelet:http-secured-source\'\n' +
             '        steps:\n' +
+            '          - unmarshal:\n' +
+            '              json:\n' +
+            '                  library: Gson\n' +
             '          - set-body:\n' +
             '              expression: \n' +
             '                constant: "Hello Yaml !!!"\n' +
diff --git a/karavan-designer/src/designer/api/CamelApi.tsx b/karavan-designer/src/designer/api/CamelApi.tsx
index d8f1939..7db2f49 100644
--- a/karavan-designer/src/designer/api/CamelApi.tsx
+++ b/karavan-designer/src/designer/api/CamelApi.tsx
@@ -72,6 +72,8 @@ import {
     UnmarshalStep, 
 } from '../model/CamelModel' 
 
+import * as dataFormat from '../model/CamelDataFormat'; 
+
 export class CamelApi { 
 
     static capitalizeName = (name: string) => {
@@ -360,6 +362,47 @@ export class CamelApi {
 
     static createMarshal = (element: any): MarshalStep => {
         const marshalStep = element ? new MarshalStep({...element.marshal}) : new MarshalStep();
+        if (element.marshal?.any23 !== undefined) marshalStep.marshal.any23 = new dataFormat.Any23DataFormat(element.marshal.any23);
+        if (element.marshal?.asn1 !== undefined) marshalStep.marshal.asn1 = new dataFormat.ASN1DataFormat(element.marshal.asn1);
+        if (element.marshal?.avro !== undefined) marshalStep.marshal.avro = new dataFormat.AvroDataFormat(element.marshal.avro);
+        if (element.marshal?.barcode !== undefined) marshalStep.marshal.barcode = new dataFormat.BarcodeDataFormat(element.marshal.barcode);
+        if (element.marshal?.base64 !== undefined) marshalStep.marshal.base64 = new dataFormat.Base64DataFormat(element.marshal.base64);
+        if (element.marshal?.beanio !== undefined) marshalStep.marshal.beanio = new dataFormat.BeanioDataFormat(element.marshal.beanio);
+        if (element.marshal?.bindy !== undefined) marshalStep.marshal.bindy = new dataFormat.BindyDataFormat(element.marshal.bindy);
+        if (element.marshal?.cbor !== undefined) marshalStep.marshal.cbor = new dataFormat.CBORDataFormat(element.marshal.cbor);
+        if (element.marshal?.crypto !== undefined) marshalStep.marshal.crypto = new dataFormat.CryptoDataFormat(element.marshal.crypto);
+        if (element.marshal?.csv !== undefined) marshalStep.marshal.csv = new dataFormat.CsvDataFormat(element.marshal.csv);
+        if (element.marshal?.custom !== undefined) marshalStep.marshal.custom = new dataFormat.CustomDataFormat(element.marshal.custom);
+        if (element.marshal?.fhirJson !== undefined) marshalStep.marshal.fhirJson = new dataFormat.FhirJsonDataFormat(element.marshal.fhirJson);
+        if (element.marshal?.fhirXml !== undefined) marshalStep.marshal.fhirXml = new dataFormat.FhirXmlDataFormat(element.marshal.fhirXml);
+        if (element.marshal?.flatpack !== undefined) marshalStep.marshal.flatpack = new dataFormat.FlatpackDataFormat(element.marshal.flatpack);
+        if (element.marshal?.grok !== undefined) marshalStep.marshal.grok = new dataFormat.GrokDataFormat(element.marshal.grok);
+        if (element.marshal?.gzip !== undefined) marshalStep.marshal.gzip = new dataFormat.GzipDataFormat(element.marshal.gzip);
+        if (element.marshal?.hl7 !== undefined) marshalStep.marshal.hl7 = new dataFormat.HL7DataFormat(element.marshal.hl7);
+        if (element.marshal?.ical !== undefined) marshalStep.marshal.ical = new dataFormat.IcalDataFormat(element.marshal.ical);
+        if (element.marshal?.jacksonxml !== undefined) marshalStep.marshal.jacksonxml = new dataFormat.JacksonXMLDataFormat(element.marshal.jacksonxml);
+        if (element.marshal?.jaxb !== undefined) marshalStep.marshal.jaxb = new dataFormat.JaxbDataFormat(element.marshal.jaxb);
+        if (element.marshal?.json !== undefined) marshalStep.marshal.json = new dataFormat.JsonDataFormat(element.marshal.json);
+        if (element.marshal?.jsonApi !== undefined) marshalStep.marshal.jsonApi = new dataFormat.JsonApiDataFormat(element.marshal.jsonApi);
+        if (element.marshal?.lzf !== undefined) marshalStep.marshal.lzf = new dataFormat.LZFDataFormat(element.marshal.lzf);
+        if (element.marshal?.mimeMultipart !== undefined) marshalStep.marshal.mimeMultipart = new dataFormat.MimeMultipartDataFormat(element.marshal.mimeMultipart);
+        if (element.marshal?.pgp !== undefined) marshalStep.marshal.pgp = new dataFormat.PGPDataFormat(element.marshal.pgp);
+        if (element.marshal?.protobuf !== undefined) marshalStep.marshal.protobuf = new dataFormat.ProtobufDataFormat(element.marshal.protobuf);
+        if (element.marshal?.rss !== undefined) marshalStep.marshal.rss = new dataFormat.RssDataFormat(element.marshal.rss);
+        if (element.marshal?.secureXml !== undefined) marshalStep.marshal.secureXml = new dataFormat.XMLSecurityDataFormat(element.marshal.secureXml);
+        if (element.marshal?.soapjaxb !== undefined) marshalStep.marshal.soapjaxb = new dataFormat.SoapJaxbDataFormat(element.marshal.soapjaxb);
+        if (element.marshal?.syslog !== undefined) marshalStep.marshal.syslog = new dataFormat.SyslogDataFormat(element.marshal.syslog);
+        if (element.marshal?.tarfile !== undefined) marshalStep.marshal.tarfile = new dataFormat.TarFileDataFormat(element.marshal.tarfile);
+        if (element.marshal?.thrift !== undefined) marshalStep.marshal.thrift = new dataFormat.ThriftDataFormat(element.marshal.thrift);
+        if (element.marshal?.tidyMarkup !== undefined) marshalStep.marshal.tidyMarkup = new dataFormat.TidyMarkupDataFormat(element.marshal.tidyMarkup);
+        if (element.marshal?.univocityCsv !== undefined) marshalStep.marshal.univocityCsv = new dataFormat.UniVocityCsvDataFormat(element.marshal.univocityCsv);
+        if (element.marshal?.univocityFixed !== undefined) marshalStep.marshal.univocityFixed = new dataFormat.UniVocityFixedWidthDataFormat(element.marshal.univocityFixed);
+        if (element.marshal?.univocityTsv !== undefined) marshalStep.marshal.univocityTsv = new dataFormat.UniVocityTsvDataFormat(element.marshal.univocityTsv);
+        if (element.marshal?.xmlrpc !== undefined) marshalStep.marshal.xmlrpc = new dataFormat.XmlRpcDataFormat(element.marshal.xmlrpc);
+        if (element.marshal?.xstream !== undefined) marshalStep.marshal.xstream = new dataFormat.XStreamDataFormat(element.marshal.xstream);
+        if (element.marshal?.yaml !== undefined) marshalStep.marshal.yaml = new dataFormat.YAMLDataFormat(element.marshal.yaml);
+        if (element.marshal?.zip !== undefined) marshalStep.marshal.zip = new dataFormat.ZipDeflaterDataFormat(element.marshal.zip);
+        if (element.marshal?.zipfile !== undefined) marshalStep.marshal.zipfile = new dataFormat.ZipFileDataFormat(element.marshal.zipfile);
         marshalStep.uuid = element?.uuid ? element.uuid : marshalStep.uuid;
         return marshalStep;
     }
@@ -741,6 +784,47 @@ export class CamelApi {
 
     static createUnmarshal = (element: any): UnmarshalStep => {
         const unmarshalStep = element ? new UnmarshalStep({...element.unmarshal}) : new UnmarshalStep();
+        if (element.unmarshal?.any23 !== undefined) unmarshalStep.unmarshal.any23 = new dataFormat.Any23DataFormat(element.unmarshal.any23);
+        if (element.unmarshal?.asn1 !== undefined) unmarshalStep.unmarshal.asn1 = new dataFormat.ASN1DataFormat(element.unmarshal.asn1);
+        if (element.unmarshal?.avro !== undefined) unmarshalStep.unmarshal.avro = new dataFormat.AvroDataFormat(element.unmarshal.avro);
+        if (element.unmarshal?.barcode !== undefined) unmarshalStep.unmarshal.barcode = new dataFormat.BarcodeDataFormat(element.unmarshal.barcode);
+        if (element.unmarshal?.base64 !== undefined) unmarshalStep.unmarshal.base64 = new dataFormat.Base64DataFormat(element.unmarshal.base64);
+        if (element.unmarshal?.beanio !== undefined) unmarshalStep.unmarshal.beanio = new dataFormat.BeanioDataFormat(element.unmarshal.beanio);
+        if (element.unmarshal?.bindy !== undefined) unmarshalStep.unmarshal.bindy = new dataFormat.BindyDataFormat(element.unmarshal.bindy);
+        if (element.unmarshal?.cbor !== undefined) unmarshalStep.unmarshal.cbor = new dataFormat.CBORDataFormat(element.unmarshal.cbor);
+        if (element.unmarshal?.crypto !== undefined) unmarshalStep.unmarshal.crypto = new dataFormat.CryptoDataFormat(element.unmarshal.crypto);
+        if (element.unmarshal?.csv !== undefined) unmarshalStep.unmarshal.csv = new dataFormat.CsvDataFormat(element.unmarshal.csv);
+        if (element.unmarshal?.custom !== undefined) unmarshalStep.unmarshal.custom = new dataFormat.CustomDataFormat(element.unmarshal.custom);
+        if (element.unmarshal?.fhirJson !== undefined) unmarshalStep.unmarshal.fhirJson = new dataFormat.FhirJsonDataFormat(element.unmarshal.fhirJson);
+        if (element.unmarshal?.fhirXml !== undefined) unmarshalStep.unmarshal.fhirXml = new dataFormat.FhirXmlDataFormat(element.unmarshal.fhirXml);
+        if (element.unmarshal?.flatpack !== undefined) unmarshalStep.unmarshal.flatpack = new dataFormat.FlatpackDataFormat(element.unmarshal.flatpack);
+        if (element.unmarshal?.grok !== undefined) unmarshalStep.unmarshal.grok = new dataFormat.GrokDataFormat(element.unmarshal.grok);
+        if (element.unmarshal?.gzip !== undefined) unmarshalStep.unmarshal.gzip = new dataFormat.GzipDataFormat(element.unmarshal.gzip);
+        if (element.unmarshal?.hl7 !== undefined) unmarshalStep.unmarshal.hl7 = new dataFormat.HL7DataFormat(element.unmarshal.hl7);
+        if (element.unmarshal?.ical !== undefined) unmarshalStep.unmarshal.ical = new dataFormat.IcalDataFormat(element.unmarshal.ical);
+        if (element.unmarshal?.jacksonxml !== undefined) unmarshalStep.unmarshal.jacksonxml = new dataFormat.JacksonXMLDataFormat(element.unmarshal.jacksonxml);
+        if (element.unmarshal?.jaxb !== undefined) unmarshalStep.unmarshal.jaxb = new dataFormat.JaxbDataFormat(element.unmarshal.jaxb);
+        if (element.unmarshal?.json !== undefined) unmarshalStep.unmarshal.json = new dataFormat.JsonDataFormat(element.unmarshal.json);
+        if (element.unmarshal?.jsonApi !== undefined) unmarshalStep.unmarshal.jsonApi = new dataFormat.JsonApiDataFormat(element.unmarshal.jsonApi);
+        if (element.unmarshal?.lzf !== undefined) unmarshalStep.unmarshal.lzf = new dataFormat.LZFDataFormat(element.unmarshal.lzf);
+        if (element.unmarshal?.mimeMultipart !== undefined) unmarshalStep.unmarshal.mimeMultipart = new dataFormat.MimeMultipartDataFormat(element.unmarshal.mimeMultipart);
+        if (element.unmarshal?.pgp !== undefined) unmarshalStep.unmarshal.pgp = new dataFormat.PGPDataFormat(element.unmarshal.pgp);
+        if (element.unmarshal?.protobuf !== undefined) unmarshalStep.unmarshal.protobuf = new dataFormat.ProtobufDataFormat(element.unmarshal.protobuf);
+        if (element.unmarshal?.rss !== undefined) unmarshalStep.unmarshal.rss = new dataFormat.RssDataFormat(element.unmarshal.rss);
+        if (element.unmarshal?.secureXml !== undefined) unmarshalStep.unmarshal.secureXml = new dataFormat.XMLSecurityDataFormat(element.unmarshal.secureXml);
+        if (element.unmarshal?.soapjaxb !== undefined) unmarshalStep.unmarshal.soapjaxb = new dataFormat.SoapJaxbDataFormat(element.unmarshal.soapjaxb);
+        if (element.unmarshal?.syslog !== undefined) unmarshalStep.unmarshal.syslog = new dataFormat.SyslogDataFormat(element.unmarshal.syslog);
+        if (element.unmarshal?.tarfile !== undefined) unmarshalStep.unmarshal.tarfile = new dataFormat.TarFileDataFormat(element.unmarshal.tarfile);
+        if (element.unmarshal?.thrift !== undefined) unmarshalStep.unmarshal.thrift = new dataFormat.ThriftDataFormat(element.unmarshal.thrift);
+        if (element.unmarshal?.tidyMarkup !== undefined) unmarshalStep.unmarshal.tidyMarkup = new dataFormat.TidyMarkupDataFormat(element.unmarshal.tidyMarkup);
+        if (element.unmarshal?.univocityCsv !== undefined) unmarshalStep.unmarshal.univocityCsv = new dataFormat.UniVocityCsvDataFormat(element.unmarshal.univocityCsv);
+        if (element.unmarshal?.univocityFixed !== undefined) unmarshalStep.unmarshal.univocityFixed = new dataFormat.UniVocityFixedWidthDataFormat(element.unmarshal.univocityFixed);
+        if (element.unmarshal?.univocityTsv !== undefined) unmarshalStep.unmarshal.univocityTsv = new dataFormat.UniVocityTsvDataFormat(element.unmarshal.univocityTsv);
+        if (element.unmarshal?.xmlrpc !== undefined) unmarshalStep.unmarshal.xmlrpc = new dataFormat.XmlRpcDataFormat(element.unmarshal.xmlrpc);
+        if (element.unmarshal?.xstream !== undefined) unmarshalStep.unmarshal.xstream = new dataFormat.XStreamDataFormat(element.unmarshal.xstream);
+        if (element.unmarshal?.yaml !== undefined) unmarshalStep.unmarshal.yaml = new dataFormat.YAMLDataFormat(element.unmarshal.yaml);
+        if (element.unmarshal?.zip !== undefined) unmarshalStep.unmarshal.zip = new dataFormat.ZipDeflaterDataFormat(element.unmarshal.zip);
+        if (element.unmarshal?.zipfile !== undefined) unmarshalStep.unmarshal.zipfile = new dataFormat.ZipFileDataFormat(element.unmarshal.zipfile);
         unmarshalStep.uuid = element?.uuid ? element.uuid : unmarshalStep.uuid;
         return unmarshalStep;
     }
diff --git a/karavan-designer/src/designer/api/CamelApiExt.tsx b/karavan-designer/src/designer/api/CamelApiExt.tsx
index 49e1906..58a5143 100644
--- a/karavan-designer/src/designer/api/CamelApiExt.tsx
+++ b/karavan-designer/src/designer/api/CamelApiExt.tsx
@@ -15,9 +15,10 @@
  * limitations under the License.
  */
 import {CamelElement, FromStep, Integration, ProcessorStep} from "../model/CamelModel";
-import {CamelMetadataApi, PropertyMeta} from "./CamelMetadata";
+import {CamelMetadataApi, DataFormats, PropertyMeta} from "./CamelMetadata";
 import {CamelApi} from "./CamelApi";
 import {ComponentApi} from "./ComponentApi";
+import {DataFormat} from "../model/CamelDataFormat";
 
 export class CamelApiExt {
 
@@ -47,13 +48,10 @@ export class CamelApiExt {
             switch (targetFindStep.step?.dslName) {
                 case 'when':
                     return CamelApiExt.addStepToIntegration(integration, sourceStep, targetFindStep.step?.uuid, undefined);
-                    break;
                 case 'otherwise':
                     return CamelApiExt.addStepToIntegration(integration, sourceStep, targetFindStep.step?.uuid, undefined);
-                    break;
                 default:
                     return CamelApiExt.addStepToIntegration(integration, sourceStep, parentUuid, targetFindStep.position);
-                    break;
             }
         }
         return integration;
@@ -74,6 +72,12 @@ export class CamelApiExt {
         }
     }
 
+    static getDataFormat = (element: CamelElement | undefined): [string, DataFormat] | undefined => {
+        const el: any = Object.assign({}, element);
+        const dataFormat = Object.keys(el).find(key => el[key] !== undefined && DataFormats.map(value => value[0]).includes(key));
+        return dataFormat ? [dataFormat, el[dataFormat]] : undefined;
+    }
+
     static getExpressionValue = (element: CamelElement | undefined): string | undefined => {
         const language = CamelApiExt.getExpressionLanguage(element);
         if (language) {
@@ -122,9 +126,9 @@ export class CamelApiExt {
         let expression: any = undefined;
         let parameters: any = undefined;
         if (name) {
-            CamelMetadataApi.getElementMeta(name)?.properties
-                .filter(p => p.name !== 'steps' && p.name !== 'inheritErrorHandler')
-                .filter(p => (name == 'to' && p.name !== 'pattern') || name != 'to')
+            CamelMetadataApi.getCamelModelMetadata(name)?.properties
+                .filter(p => p.name !== 'steps')
+                .filter(p => (name === 'to' && p.name !== 'pattern') || name !== 'to')
                 .filter(p => !p.isObject || (p.isObject && p.name === 'expression'))
                 .forEach(p => {
                     switch (p.name) {
@@ -144,6 +148,7 @@ export class CamelApiExt {
         }
         if (uri) result.unshift(uri)
         if (expression) result.unshift(expression)
+        // if (name && ['marshal', 'unmarshal'].includes(name)) result.unshift(new PropertyMeta("dataFormat"))
         if (parameters) result.push(parameters)
         return result
     }
diff --git a/karavan-designer/src/designer/api/CamelMetadata.tsx b/karavan-designer/src/designer/api/CamelMetadata.tsx
index d654ea2..cd37a61 100644
--- a/karavan-designer/src/designer/api/CamelMetadata.tsx
+++ b/karavan-designer/src/designer/api/CamelMetadata.tsx
@@ -47,8 +47,12 @@ export class PropertyMeta {
 
 export class CamelMetadataApi {
 
-    static getElementMeta = (name: string): ElementMeta | undefined => {
-       return Metadata.find(value => value.name === name);
+    static getCamelModelMetadata = (name: string): ElementMeta | undefined => {
+       return CamelModelMetadata.find(value => value.name === name);
+    }
+
+    static getCamelDataFormatMetadata = (name: string): ElementMeta | undefined => {
+        return CamelDataFormatMetadata.find(value => value.name === name);
     }
 
     static getLanguage = (name: string): [string, string, string] | undefined => {
@@ -77,20 +81,17 @@ export const Languages: [string, string, string][] = [
     ['xquery','XQuery',"Evaluates an XQuery expressions against an XML payload."],
     ['xtokenize','XML Tokenize',"Tokenize XML payloads."],
 ]
-export const Metadata: ElementMeta[] = [
+export const CamelModelMetadata: ElementMeta[] = [
     new ElementMeta('policy', 'Policy', 'Defines a policy the route will use', 'configuration', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('ref', 'Ref', "Sets a reference to use for lookup the policy in the registry.", 'string', '', '', true, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('throwException', 'Throw Exception', 'Throws an exception', 'error', [
         new PropertyMeta('exceptionType', 'Exception Type', "The class of the exception to create using the message.", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('message', 'Message', "To create a new exception instance and use the given message as caused message (supports simple language)", 'string', '', '', false, false, false, false),
         new PropertyMeta('ref', 'Ref', "Reference to the exception instance to lookup from the registry to throw", 'string', '', '', false, false, false, false),
     ]),
     new ElementMeta('choice', 'Choice', 'Route messages based on a series of predicates', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('otherwise', 'Otherwise', "Sets the otherwise node", 'Otherwise', '', '', false, false, false, true),
         new PropertyMeta('when', 'When', "Sets the when nodes", 'array', '', '', false, false, true, true),
     ]),
@@ -99,7 +100,6 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('cacheSize', 'Cache Size', "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 of 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 stopp [...]
         new PropertyMeta('expression', 'Expression', "Expression that computes the endpoint uri to use as the resource endpoint to enrich from", 'Expression', '', '', true, false, false, true),
         new PropertyMeta('ignoreInvalidEndpoint', 'Ignore Invalid Endpoint', "Ignore the invalidate endpoint exception when try to create a producer with that endpoint", 'number', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('strategyMethodAllowNull', 'Strategy Method Allow Null', "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.", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('strategyMethodName', 'Strategy Method Name', "This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.", 'string', '', '', false, false, false, false),
         new PropertyMeta('strategyRef', 'Strategy Ref', "Refers to an 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. The value can either refer to a bean to lookup, or to lookup a singleton bean by its type, or to create a new bean: Lookup bean - This is the default behavior to lookup an existing bean by the bean id (value) reference by type - V [...]
@@ -107,28 +107,23 @@ export const Metadata: ElementMeta[] = [
     ]),
     new ElementMeta('setBody', 'Set Body', 'Sets the contents of the message body', 'eip,transformation', [
         new PropertyMeta('expression', 'Expression', "Expression that returns the new body to use", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
     ]),
     new ElementMeta('stop', 'Stop', 'Stops the processing of the current message', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
     ]),
     new ElementMeta('toD', 'To D', 'Sends the message to a dynamic endpoint', 'eip,routing', [
         new PropertyMeta('allowOptimisedComponents', 'Allow Optimised Components', "Whether to allow components to optimise toD if they are org.apache.camel.spi.SendDynamicAware .", 'boolean', '', 'true', false, false, false, false),
         new PropertyMeta('autoStartComponents', 'Auto Start Components', "Whether to auto startup components when toD is starting up.", 'boolean', '', 'true', false, false, false, false),
         new PropertyMeta('cacheSize', 'Cache Size', "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 of caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as pr [...]
         new PropertyMeta('ignoreInvalidEndpoint', 'Ignore Invalid Endpoint', "Ignore the invalidate endpoint exception when try to create a producer with that endpoint", 'boolean', '', 'false', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('parameters', 'parameters', "parameters", 'object', '', '', false, false, false, false),
-        new PropertyMeta('pattern', 'Pattern', "Sets the optional ExchangePattern used to invoke this endpoint", 'string', 'InOnly, InOptionalOut, InOut', '', false, false, false, false),
+        new PropertyMeta('pattern', 'Pattern', "Sets the optional ExchangePattern used to invoke this endpoint", 'string', 'InOnly, InOut, InOptionalOut', '', false, false, false, false),
         new PropertyMeta('uri', 'Uri', "The uri of the endpoint to send to. The uri can be dynamic computed using the org.apache.camel.language.simple.SimpleLanguage expression.", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('process', 'Process', 'Calls a Camel processor', 'eip,endpoint', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('ref', 'Ref', "Reference to the Processor to lookup in the registry to use.", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('removeHeaders', 'Remove Headers', 'Removes message headers whose name matches a specified pattern', 'eip,transformation', [
         new PropertyMeta('excludePattern', 'Exclude Pattern', "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).", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('pattern', 'Pattern', "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).", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('delay', 'Delay', 'Delays processing for a specified length of time', 'eip,routing', [
@@ -136,7 +131,6 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('callerRunsWhenRejected', 'Caller Runs When Rejected', "Whether or not the caller should run the task when it was rejected by the thread pool. Is by default true", 'boolean', '', 'true', false, false, false, false),
         new PropertyMeta('executorServiceRef', 'Executor Service Ref', "Refers to a custom Thread Pool if asyncDelay has been enabled.", 'string', '', '', false, false, false, false),
         new PropertyMeta('expression', 'Expression', "Expression to define how long time to wait (in millis)", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
     ]),
     new ElementMeta('throttle', 'Throttle', 'Controls the rate at which messages are passed to the next node in the route', 'eip,routing', [
         new PropertyMeta('asyncDelayed', 'Async Delayed', "Enables asynchronous delay which means the thread will not block while delaying.", 'boolean', '', 'false', false, false, false, false),
@@ -144,26 +138,21 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('correlationExpression', 'Correlation Expression', "The expression used to calculate the correlation key to use for throttle grouping. The Exchange which has the same correlation key is throttled together.", 'Expression', '', '', false, false, false, true),
         new PropertyMeta('executorServiceRef', 'Executor Service Ref', "To use a custom thread pool (ScheduledExecutorService) by the throttler.", 'string', '', '', false, false, false, false),
         new PropertyMeta('expression', 'Expression', "Expression to configure the maximum number of messages to throttle per request", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('rejectExecution', 'Reject Execution', "Whether or not throttler throws the ThrottlerRejectedExecutionException when the exchange exceeds the request limit Is by default false", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('timePeriodMillis', 'Time Period Millis', "Sets the time period during which the maximum request count is valid for", 'string', '', '1000', false, false, false, false),
     ]),
     new ElementMeta('otherwise', 'Otherwise', 'Route to be executed when all other choices evaluate to false', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('removeProperty', 'Remove Property', 'Removes a named property from the message exchange', 'eip,transformation', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('propertyName', 'Property Name', "Name of property to remove", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('validate', 'Validate', 'Validates a message based on an expression', 'eip,transformation', [
         new PropertyMeta('expression', 'Expression', "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.", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
     ]),
     new ElementMeta('sort', 'Sort', 'Sorts the contents of the message', 'eip,routing', [
         new PropertyMeta('comparatorRef', 'Comparator Ref', "Sets a reference to lookup for the comparator to use for sorting", 'string', '', '', false, false, false, false),
         new PropertyMeta('expression', 'Expression', "Optional expression to sort by something else than the message body", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
     ]),
     new ElementMeta('from', 'From', 'Act as a message source as input to a route', 'eip,routing', [
         new PropertyMeta('parameters', 'parameters', "parameters", 'object', '', '', false, false, false, false),
@@ -171,19 +160,16 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('uri', 'Uri', "Sets the URI of the endpoint to use", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('to', 'To', 'Sends the message to a static endpoint', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('parameters', 'parameters', "parameters", 'object', '', '', false, false, false, false),
-        new PropertyMeta('pattern', 'Pattern', "Sets the optional ExchangePattern used to invoke this endpoint", 'string', 'InOnly, InOptionalOut, InOut', '', false, false, false, false),
+        new PropertyMeta('pattern', 'Pattern', "Sets the optional ExchangePattern used to invoke this endpoint", 'string', 'InOnly, InOut, InOptionalOut', '', false, false, false, false),
         new PropertyMeta('uri', 'Uri', "Sets the uri of the endpoint to send to.", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('setHeader', 'Set Header', 'Sets the value of a message header', 'eip,transformation', [
         new PropertyMeta('expression', 'Expression', "Expression to return the value of the header", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('name', 'Name', "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.", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('onCompletion', 'On Completion', 'Route to be executed when normal route processing completes', 'configuration', [
         new PropertyMeta('executorServiceRef', 'Executor Service Ref', "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.", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('mode', 'Mode', "Sets the on completion mode. The default value is AfterConsumer", 'string', 'AfterConsumer, BeforeConsumer', 'AfterConsumer', false, false, false, false),
         new PropertyMeta('onCompleteOnly', 'On Complete Only', "Will only synchronize when the org.apache.camel.Exchange completed successfully (no errors).", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('onFailureOnly', 'On Failure Only', "Will only synchronize when the org.apache.camel.Exchange ended with failure (exception or FAULT message).", 'boolean', '', 'false', false, false, false, false),
@@ -194,12 +180,10 @@ export const Metadata: ElementMeta[] = [
     ]),
     new ElementMeta('removeHeader', 'Remove Header', 'Removes a named header from the message', 'eip,transformation', [
         new PropertyMeta('headerName', 'Header Name', "Name of header to remove (deprecated use name instead)", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('name', 'Name', "Name of header to remove", 'string', '', '', false, false, false, false),
     ]),
     new ElementMeta('script', 'Script', 'Executes a script from a language which does not change the message body.', 'eip,transformation', [
         new PropertyMeta('expression', 'Expression', "Expression to return the transformed message body (the new message body to use)", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
     ]),
     new ElementMeta('enrich', 'Enrich', 'Enriches a message with data from a secondary resource', 'eip,transformation', [
         new PropertyMeta('aggregateOnException', 'Aggregate On Exception', "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.", 'boolean', '', 'false', false, false, false, false),
@@ -207,42 +191,69 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('cacheSize', 'Cache Size', "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 of 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 stoppe [...]
         new PropertyMeta('expression', 'Expression', "Expression that computes the endpoint uri to use as the resource endpoint to enrich from", 'Expression', '', '', true, false, false, true),
         new PropertyMeta('ignoreInvalidEndpoint', 'Ignore Invalid Endpoint', "Ignore the invalidate endpoint exception when try to create a producer with that endpoint", 'boolean', '', 'false', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('shareUnitOfWork', 'Share Unit Of Work', "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.", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('strategyMethodAllowNull', 'Strategy Method Allow Null', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('strategyMethodName', 'Strategy Method Name', "This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.", 'string', '', '', false, false, false, false),
         new PropertyMeta('strategyRef', 'Strategy Ref', "Refers to an 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. The value can either refer to a bean to lookup, or to lookup a singleton bean by its type, or to create a new bean: Lookup bean - This is the default behavior to lookup an existing bean by the bean id (value) reference by type - V [...]
     ]),
     new ElementMeta('log', 'Log', 'Logs the defined message to the logger', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('logName', 'Log Name', "Sets the name of the logger", 'string', '', '', false, false, false, false),
         new PropertyMeta('loggerRef', 'Logger Ref', "To refer to a custom logger instance to lookup from the registry.", 'string', '', '', false, false, false, false),
-        new PropertyMeta('loggingLevel', 'Logging Level', "Sets the logging level. The default value is INFO", 'string', 'DEBUG, ERROR, INFO, OFF, TRACE, WARN', 'INFO', false, false, false, false),
+        new PropertyMeta('loggingLevel', 'Logging Level', "Sets the logging level. The default value is INFO", 'string', 'TRACE, DEBUG, INFO, WARN, ERROR, OFF', 'INFO', false, false, false, false),
         new PropertyMeta('marker', 'Marker', "To use slf4j marker", 'string', '', '', false, false, false, false),
         new PropertyMeta('message', 'Message', "Sets the log message (uses simple language)", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('removeProperties', 'Remove Properties', 'Removes message exchange properties whose name matches a specified pattern', 'eip,transformation', [
         new PropertyMeta('excludePattern', 'Exclude Pattern', "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).", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('pattern', 'Pattern', "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).", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('marshal', 'Marshal', 'Marshals data into a specified format for transmission over a transport or component', 'dataformat,transformation', [
-        new PropertyMeta('any23', 'any23', "any23", 'string', '', '', false, false, false, false),
-        new PropertyMeta('asn1', 'asn1', "asn1", 'string', '', '', false, false, false, false),
-        new PropertyMeta('avro', 'avro', "avro", 'string', '', '', false, false, false, false),
-        new PropertyMeta('csv', 'csv', "csv", 'string', '', '', false, false, false, false),
-        new PropertyMeta('custom', 'custom', "custom", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
-        new PropertyMeta('protobuf', 'protobuf', "protobuf", 'string', '', '', false, false, false, false),
-        new PropertyMeta('soapjaxb', 'soapjaxb', "soapjaxb", 'string', '', '', false, false, false, false),
-        new PropertyMeta('thrift', 'thrift', "thrift", 'string', '', '', false, false, false, false),
-        new PropertyMeta('xstream', 'xstream', "xstream", 'string', '', '', false, false, false, false),
+        new PropertyMeta('any23', 'any23', "any23", 'Any23DataFormat', '', '', false, false, false, true),
+        new PropertyMeta('asn1', 'asn1', "asn1", 'ASN1DataFormat', '', '', false, false, false, true),
+        new PropertyMeta('avro', 'avro', "avro", 'AvroDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('barcode', 'barcode', "barcode", 'BarcodeDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('base64', 'base64', "base64", 'Base64DataFormat', '', '', false, false, false, true),
+        new PropertyMeta('beanio', 'beanio', "beanio", 'BeanioDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('bindy', 'bindy', "bindy", 'BindyDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('cbor', 'cbor', "cbor", 'CBORDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('crypto', 'crypto', "crypto", 'CryptoDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('csv', 'csv', "csv", 'CsvDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('custom', 'custom', "custom", 'CustomDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('fhirJson', 'fhirJson', "fhirJson", 'FhirJsonDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('fhirXml', 'fhirXml', "fhirXml", 'FhirXmlDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('flatpack', 'flatpack', "flatpack", 'FlatpackDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('grok', 'grok', "grok", 'GrokDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('gzip', 'gzip', "gzip", 'GzipDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('hl7', 'hl7', "hl7", 'HL7DataFormat', '', '', false, false, false, true),
+        new PropertyMeta('ical', 'ical', "ical", 'IcalDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('jacksonxml', 'jacksonxml', "jacksonxml", 'JacksonXMLDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('jaxb', 'jaxb', "jaxb", 'JaxbDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('json', 'json', "json", 'JsonDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('jsonApi', 'jsonApi', "jsonApi", 'JsonApiDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('lzf', 'lzf', "lzf", 'LZFDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('mimeMultipart', 'mimeMultipart', "mimeMultipart", 'MimeMultipartDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('pgp', 'pgp', "pgp", 'PGPDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('protobuf', 'protobuf', "protobuf", 'ProtobufDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('rss', 'rss', "rss", 'RssDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('secureXml', 'secureXml', "secureXml", 'XMLSecurityDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('soapjaxb', 'soapjaxb', "soapjaxb", 'SoapJaxbDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('syslog', 'syslog', "syslog", 'SyslogDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('tarfile', 'tarfile', "tarfile", 'TarFileDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('thrift', 'thrift', "thrift", 'ThriftDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('tidyMarkup', 'tidyMarkup', "tidyMarkup", 'TidyMarkupDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('univocityCsv', 'univocityCsv', "univocityCsv", 'UniVocityCsvDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('univocityFixed', 'univocityFixed', "univocityFixed", 'UniVocityFixedWidthDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('univocityTsv', 'univocityTsv', "univocityTsv", 'UniVocityTsvDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('xmlrpc', 'xmlrpc', "xmlrpc", 'XmlRpcDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('xstream', 'xstream', "xstream", 'XStreamDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('yaml', 'yaml', "yaml", 'YAMLDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('zip', 'zip', "zip", 'ZipDeflaterDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('zipfile', 'zipfile', "zipfile", 'ZipFileDataFormat', '', '', false, false, false, true),
     ]),
     new ElementMeta('split', 'Split', 'Splits a single message into many sub-messages.', 'eip,routing', [
         new PropertyMeta('delimiter', 'Delimiter', "Delimiter used in splitting messages. Can be turned off using the value false. The default value is ,", 'string', '', ',', false, false, false, false),
         new PropertyMeta('executorServiceRef', 'Executor Service Ref', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('expression', 'Expression', "Expression of how to split the message body, such as as-is, using a tokenizer, or using an xpath.", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('onPrepareRef', 'On Prepare Ref', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('parallelAggregate', 'Parallel Aggregate', "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.", 'bo [...]
         new PropertyMeta('parallelProcessing', 'Parallel Processing', "If enabled then processing each splitted messages occurs concurrently. Note the caller thread will still wait until all messages has been fully processed, before it continues. Its only processing the sub messages from the splitter which happens concurrently.", 'boolean', '', 'false', false, false, false, false),
@@ -257,65 +268,87 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('timeout', 'Timeout', "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  [...]
     ]),
     new ElementMeta('transacted', 'Transacted', 'Enables transaction on the route', 'configuration', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('ref', 'Ref', "Sets a reference to use for lookup the policy in the registry.", 'string', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('interceptFrom', 'Intercept From', 'Intercepts incoming messages', 'configuration', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
         new PropertyMeta('uri', 'Uri', "Intercept incoming messages from the uri or uri pattern. If this option is not configured, then all incoming messages is intercepted.", 'string', '', '', false, false, false, false),
     ]),
     new ElementMeta('doCatch', 'Do Catch', 'Catches exceptions as part of a try, catch, finally block', 'error', [
         new PropertyMeta('exception', 'Exception', "The exception(s) to catch.", 'array', '', '', false, false, true, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('onWhen', 'On When', "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.", 'When', '', '', false, false, false, true),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('circuitBreaker', 'Circuit Breaker', 'Route messages in a fault tolerance way using Circuit Breaker', 'eip,routing', [
         new PropertyMeta('configurationRef', 'Configuration Ref', "Refers to a circuit breaker configuration (such as hystrix, resillience4j, or microprofile-fault-tolerance) to use for configuring the circuit breaker EIP.", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('onFallback', 'onFallback', "onFallback", 'OnFallback', '', '', false, false, false, true),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('convertBodyTo', 'Convert Body To', 'Converts the message body to another type', 'eip,transformation', [
         new PropertyMeta('charset', 'Charset', "To use a specific charset when converting", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('mandatory', 'Mandatory', "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.", 'boolean', '', 'true', false, false, false, false),
         new PropertyMeta('type', 'Type', "The java type to convert to", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('intercept', 'Intercept', 'Intercepts a message at each step in the route', 'configuration', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('unmarshal', 'Unmarshal', 'Converts the message data received from the wire into a format that Apache Camel processors can consume', 'dataformat,transformation', [
-        new PropertyMeta('any23', 'any23', "any23", 'string', '', '', false, false, false, false),
-        new PropertyMeta('asn1', 'asn1', "asn1", 'string', '', '', false, false, false, false),
-        new PropertyMeta('avro', 'avro', "avro", 'string', '', '', false, false, false, false),
-        new PropertyMeta('csv', 'csv', "csv", 'string', '', '', false, false, false, false),
-        new PropertyMeta('custom', 'custom', "custom", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
-        new PropertyMeta('protobuf', 'protobuf', "protobuf", 'string', '', '', false, false, false, false),
-        new PropertyMeta('soapjaxb', 'soapjaxb', "soapjaxb", 'string', '', '', false, false, false, false),
-        new PropertyMeta('thrift', 'thrift', "thrift", 'string', '', '', false, false, false, false),
-        new PropertyMeta('xstream', 'xstream', "xstream", 'string', '', '', false, false, false, false),
-    ]),
-    new ElementMeta('onFallback', 'On Fallback', 'Route to be executed when Hystrix EIP executes fallback', 'eip,routing', [
+        new PropertyMeta('any23', 'any23', "any23", 'Any23DataFormat', '', '', false, false, false, true),
+        new PropertyMeta('asn1', 'asn1', "asn1", 'ASN1DataFormat', '', '', false, false, false, true),
+        new PropertyMeta('avro', 'avro', "avro", 'AvroDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('barcode', 'barcode', "barcode", 'BarcodeDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('base64', 'base64', "base64", 'Base64DataFormat', '', '', false, false, false, true),
+        new PropertyMeta('beanio', 'beanio', "beanio", 'BeanioDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('bindy', 'bindy', "bindy", 'BindyDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('cbor', 'cbor', "cbor", 'CBORDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('crypto', 'crypto', "crypto", 'CryptoDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('csv', 'csv', "csv", 'CsvDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('custom', 'custom', "custom", 'CustomDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('fhirJson', 'fhirJson', "fhirJson", 'FhirJsonDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('fhirXml', 'fhirXml', "fhirXml", 'FhirXmlDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('flatpack', 'flatpack', "flatpack", 'FlatpackDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('grok', 'grok', "grok", 'GrokDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('gzip', 'gzip', "gzip", 'GzipDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('hl7', 'hl7', "hl7", 'HL7DataFormat', '', '', false, false, false, true),
+        new PropertyMeta('ical', 'ical', "ical", 'IcalDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('jacksonxml', 'jacksonxml', "jacksonxml", 'JacksonXMLDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('jaxb', 'jaxb', "jaxb", 'JaxbDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('json', 'json', "json", 'JsonDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('jsonApi', 'jsonApi', "jsonApi", 'JsonApiDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('lzf', 'lzf', "lzf", 'LZFDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('mimeMultipart', 'mimeMultipart', "mimeMultipart", 'MimeMultipartDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('pgp', 'pgp', "pgp", 'PGPDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('protobuf', 'protobuf', "protobuf", 'ProtobufDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('rss', 'rss', "rss", 'RssDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('secureXml', 'secureXml', "secureXml", 'XMLSecurityDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('soapjaxb', 'soapjaxb', "soapjaxb", 'SoapJaxbDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('syslog', 'syslog', "syslog", 'SyslogDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('tarfile', 'tarfile', "tarfile", 'TarFileDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('thrift', 'thrift', "thrift", 'ThriftDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('tidyMarkup', 'tidyMarkup', "tidyMarkup", 'TidyMarkupDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('univocityCsv', 'univocityCsv', "univocityCsv", 'UniVocityCsvDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('univocityFixed', 'univocityFixed', "univocityFixed", 'UniVocityFixedWidthDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('univocityTsv', 'univocityTsv', "univocityTsv", 'UniVocityTsvDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('xmlrpc', 'xmlrpc', "xmlrpc", 'XmlRpcDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('xstream', 'xstream', "xstream", 'XStreamDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('yaml', 'yaml', "yaml", 'YAMLDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('zip', 'zip', "zip", 'ZipDeflaterDataFormat', '', '', false, false, false, true),
+        new PropertyMeta('zipfile', 'zipfile', "zipfile", 'ZipFileDataFormat', '', '', false, false, false, true),
+    ]),
+    new ElementMeta('onFallback', 'On Fallback', 'Route to be executed when Circuit Breaker EIP executes fallback', 'eip,routing', [
         new PropertyMeta('fallbackViaNetwork', 'Fallback Via Network', "Whether the fallback goes over the network. If the fallback will go over the network it is another possible point of failure and so it also needs to be wrapped by a HystrixCommand. 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.", [...]
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('setExchangePattern', 'Set Exchange Pattern', 'Sets the exchange pattern on the message exchange', 'configuration', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
-        new PropertyMeta('pattern', 'Pattern', "Sets the new exchange pattern of the Exchange to be used from this point forward", 'string', 'InOnly, InOptionalOut, InOut', '', true, false, false, false),
+        new PropertyMeta('pattern', 'Pattern', "Sets the new exchange pattern of the Exchange to be used from this point forward", 'string', 'InOnly, InOut, InOptionalOut', '', true, false, false, false),
     ]),
-    new ElementMeta('recipientList', 'Recipient List', 'Route messages to a number of dynamically specified recipients (dynamic to)', 'eip,routing', [
+    new ElementMeta('recipientList', 'Recipient List', 'Route messages to a number of dynamically specified recipients', 'eip,routing', [
         new PropertyMeta('cacheSize', 'Cache Size', "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 of caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as pr [...]
         new PropertyMeta('delimiter', 'Delimiter', "Delimiter used if the Expression returned multiple endpoints. Can be turned off using the value false. The default value is ,", 'string', '', ',', false, false, false, false),
         new PropertyMeta('executorServiceRef', 'Executor Service Ref', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('expression', 'Expression', "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.", 'Expression', '', '', true, false, false, true),
         new PropertyMeta('ignoreInvalidEndpoints', 'Ignore Invalid Endpoints', "Ignore the invalidate endpoint exception when try to create a producer with that endpoint", 'boolean', '', 'false', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('onPrepareRef', 'On Prepare Ref', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('parallelAggregate', 'Parallel Aggregate', "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.", 'bo [...]
         new PropertyMeta('parallelProcessing', 'Parallel Processing', "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.", 'boolean', '', 'false', false, false, false, false),
@@ -331,14 +364,12 @@ export const Metadata: ElementMeta[] = [
     new ElementMeta('bean', 'Bean', 'Calls a Java bean', 'eip,endpoint', [
         new PropertyMeta('beanType', 'Bean Type', "Sets the class name (fully qualified) of the bean to use", 'string', '', '', false, false, false, false),
         new PropertyMeta('cache', 'Cache', "Use singleton option instead", 'boolean', '', 'true', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('method', 'Method', "Sets the method name on the bean to use", 'string', '', '', false, false, false, false),
         new PropertyMeta('ref', 'Ref', "Sets a reference to an exiting bean to use, which is looked up from the registry", 'string', '', '', false, false, false, false),
-        new PropertyMeta('scope', 'Scope', "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  [...]
+        new PropertyMeta('scope', 'Scope', "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  [...]
     ]),
     new ElementMeta('multicast', 'Multicast', 'Routes the same message to multiple paths either sequentially or in parallel.', 'eip,routing', [
         new PropertyMeta('executorServiceRef', 'Executor Service Ref', "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.", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('onPrepareRef', 'On Prepare Ref', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('parallelAggregate', 'Parallel Aggregate', "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.", 'bo [...]
         new PropertyMeta('parallelProcessing', 'Parallel Processing', "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.", 'boolean', '', 'false', false, false, false, false),
@@ -353,7 +384,6 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('timeout', 'Timeout', "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 di [...]
     ]),
     new ElementMeta('inOnly', 'In Only', 'Marks the exchange pattern for the route to one way', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('parameters', 'parameters', "parameters", 'object', '', '', false, false, false, false),
         new PropertyMeta('uri', 'Uri', "Sets the uri of the endpoint to send to.", 'string', '', '', true, false, false, false),
     ]),
@@ -366,18 +396,15 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('cacheSize', 'Cache Size', "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 of caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as prot [...]
         new PropertyMeta('expression', 'Expression', "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.", 'Expression', '', '', true, false, false, true),
         new PropertyMeta('ignoreInvalidEndpoints', 'Ignore Invalid Endpoints', "Ignore the invalidate endpoint exception when try to create a producer with that endpoint", 'boolean', '', 'false', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('uriDelimiter', 'Uri Delimiter', "Sets the uri delimiter to use", 'string', '', ',', false, false, false, false),
     ]),
     new ElementMeta('rollback', 'Rollback', 'Forces a rollback by stopping routing the message', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('markRollbackOnly', 'Mark Rollback Only', "Mark the transaction for rollback only (cannot be overruled to commit)", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('markRollbackOnlyLast', 'Mark Rollback Only Last', "Mark only last sub transaction for rollback only. When using sub transactions (if the transaction manager support this)", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('message', 'Message', "Message to use in rollback exception", 'string', '', '', false, false, false, false),
     ]),
     new ElementMeta('whenSkipSendToEndpoint', 'When Skip Send To Endpoint', 'Predicate to determine if the message should be sent or not to the endpoint, when using interceptSentToEndpoint.', 'configuration', [
         new PropertyMeta('expression', 'Expression', "Expression used as the predicate to evaluate whether the message should be sent or not to the endpoint", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('wireTap', 'Wire Tap', 'Routes a copy of a message (or creates a new message) to a secondary destination while continue routing the original message.', 'eip,routing', [
@@ -389,10 +416,9 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('dynamicUri', 'Dynamic Uri', "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.", 'boolean', '', 'true', false, false, false, false),
         new PropertyMeta('executorServiceRef', 'Executor Service Ref', "Uses a custom thread pool", 'string', '', '', false, false, false, false),
         new PropertyMeta('ignoreInvalidEndpoint', 'Ignore Invalid Endpoint', "Ignore the invalidate endpoint exception when try to create a producer with that endpoint", 'boolean', '', 'false', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('onPrepareRef', 'On Prepare Ref', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('parameters', 'parameters', "parameters", 'object', '', '', false, false, false, false),
-        new PropertyMeta('pattern', 'Pattern', "Sets the optional ExchangePattern used to invoke this endpoint", 'string', 'InOnly, InOptionalOut, InOut', '', false, false, false, false),
+        new PropertyMeta('pattern', 'Pattern', "Sets the optional ExchangePattern used to invoke this endpoint", 'string', 'InOnly, InOut, InOptionalOut', '', false, false, false, false),
         new PropertyMeta('processorRef', 'Processor Ref', "Reference to a Processor to use for creating a new body as the message to use for wire tapping", 'string', '', '', false, false, false, false),
         new PropertyMeta('setHeader', 'setHeader', "setHeader", 'array', '', '', false, false, true, true),
         new PropertyMeta('uri', 'Uri', "The uri of the endpoint to send to. The uri can be dynamic computed using the org.apache.camel.language.simple.SimpleLanguage expression.", 'string', '', '', true, false, false, false),
@@ -402,12 +428,10 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('copy', 'Copy', "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.", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('doWhile', 'Do While', "Enables the while loop that loops until the predicate evaluates to false or null.", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('expression', 'Expression', "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.", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('interceptSendToEndpoint', 'Intercept Send To Endpoint', 'Intercepts messages being sent to an endpoint', 'configuration', [
         new PropertyMeta('afterUri', 'After Uri', "After sending to the endpoint then send the message to this uri which allows to process its result.", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('skipSendToOriginalEndpoint', 'Skip Send To Original Endpoint', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
         new PropertyMeta('uri', 'Uri', "Intercept sending to the uri or uri pattern.", 'string', '', '', true, false, false, false),
@@ -415,12 +439,10 @@ export const Metadata: ElementMeta[] = [
     new ElementMeta('doTry', 'Do Try', 'Marks the beginning of a try, catch, finally block', 'error', [
         new PropertyMeta('doCatch', 'doCatch', "doCatch", 'array', '', '', false, false, true, true),
         new PropertyMeta('doFinally', 'doFinally', "doFinally", 'DoFinally', '', '', false, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('resequence', 'Resequence', 'Resequences (re-order) messages based on an expression', 'eip,routing', [
         new PropertyMeta('expression', 'Expression', "Expression to use for re-ordering the messages, such as a header with a sequence number", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('expression', 'Expression', 'A useful base class for an expression', 'language', [
@@ -449,43 +471,37 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('component', 'Component', "The component to use.", 'string', '', 'http', false, false, false, false),
         new PropertyMeta('configurationRef', 'Configuration Ref', "Refers to a ServiceCall configuration to use", 'string', '', '', false, false, false, false),
         new PropertyMeta('expressionRef', 'Expression Ref', "Set a reference to a custom Expression to use.", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('loadBalancerRef', 'Load Balancer Ref', "Sets a reference to a custom ServiceLoadBalancer to use.", 'string', '', '', false, false, false, false),
         new PropertyMeta('name', 'Name', "Sets the name of the service to use", 'string', '', '', true, false, false, false),
-        new PropertyMeta('pattern', 'Pattern', "Sets the optional ExchangePattern used to invoke this endpoint", 'string', 'InOnly, InOptionalOut, InOut', '', false, false, false, false),
+        new PropertyMeta('pattern', 'Pattern', "Sets the optional ExchangePattern used to invoke this endpoint", 'string', 'InOnly, InOut, InOptionalOut', '', false, false, false, false),
         new PropertyMeta('serviceChooserRef', 'Service Chooser Ref', "Sets a reference to a custom ServiceChooser to use.", 'string', '', '', false, false, false, false),
         new PropertyMeta('serviceDiscoveryRef', 'Service Discovery Ref', "Sets a reference to a custom ServiceDiscovery to use.", 'string', '', '', false, false, false, false),
         new PropertyMeta('serviceFilterRef', 'Service Filter Ref', "Sets a reference to a custom ServiceFilter to use.", 'string', '', '', false, false, false, false),
         new PropertyMeta('uri', 'Uri', "The uri of the endpoint to send to. The uri can be dynamic computed using the org.apache.camel.language.simple.SimpleLanguage expression.", 'string', '', '', false, false, false, false),
     ]),
     new ElementMeta('kamelet', 'Kamelet', 'To call Kamelets', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('name', 'Name', "Name of the Kamelet (templateId/routeId) to call. Options for the kamelet can be specified using uri syntax, eg mynamecount=4&type=gold.", 'string', '', '', true, false, false, false),
         new PropertyMeta('parameters', 'parameters', "parameters", 'object', '', '', false, false, false, false),
     ]),
     new ElementMeta('sample', 'Sample', 'Extract a sample of the messages passing through a route', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('messageFrequency', 'Message Frequency', "Sets the sample message count which only a single Exchange will pass through after this many received.", 'number', '', '', false, false, false, false),
-        new PropertyMeta('samplePeriod', 'Sample Period', "Sets the sample period during which only a single Exchange will pass through.", 'string', '', '1s', false, false, false, false),
-        new PropertyMeta('units', 'Units', "Sets the time units for the sample period, defaulting to seconds.", 'string', 'DAYS, HOURS, MICROSECONDS, MILLISECONDS, MINUTES, NANOSECONDS, SECONDS', 'SECONDS', false, false, false, false),
+        new PropertyMeta('samplePeriod', 'Sample Period', "Sets the sample period during which only a single Exchange will pass through.", 'string', '', '1000', false, false, false, false),
+        new PropertyMeta('units', 'Units', "Sets the time units for the sample period, defaulting to seconds.", 'string', 'NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS', 'SECONDS', false, false, false, false),
     ]),
     new ElementMeta('dynamicRouter', 'Dynamic Router', 'Route messages based on dynamic rules', 'eip,routing', [
         new PropertyMeta('cacheSize', 'Cache Size', "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 of caching by setting this to -1, which allows Camel to not cache both the producers and endpoints; they are regarded as pr [...]
         new PropertyMeta('expression', 'Expression', "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.", 'Expression', '', '', true, false, false, true),
         new PropertyMeta('ignoreInvalidEndpoints', 'Ignore Invalid Endpoints', "Ignore the invalidate endpoint exception when try to create a producer with that endpoint", 'boolean', '', 'false', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('uriDelimiter', 'Uri Delimiter', "Sets the uri delimiter to use", 'string', '', ',', false, false, false, false),
     ]),
     new ElementMeta('pipeline', 'Pipeline', 'Routes the message to a sequence of processors.', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('saga', 'Saga', 'Enables Sagas on the route', 'eip,routing', [
         new PropertyMeta('compensation', 'Compensation', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('completion', 'Completion', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('completionMode', 'Completion Mode', "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.", 'string', 'AUTO, MANUAL', 'AUTO', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
-        new PropertyMeta('propagation', 'Propagation', "Set the Saga propagation mode (REQUIRED, REQUIRES_NEW, MANDATORY, SUPPORTS, NOT_SUPPORTED, NEVER).", 'string', 'MANDATORY, NEVER, NOT_SUPPORTED, REQUIRED, REQUIRES_NEW, SUPPORTS', 'REQUIRED', false, false, false, false),
+        new PropertyMeta('propagation', 'Propagation', "Set the Saga propagation mode (REQUIRED, REQUIRES_NEW, MANDATORY, SUPPORTS, NOT_SUPPORTED, NEVER).", 'string', 'REQUIRED, REQUIRES_NEW, MANDATORY, SUPPORTS, NOT_SUPPORTED, NEVER', 'REQUIRED', false, false, false, false),
         new PropertyMeta('sagaServiceRef', 'Saga Service Ref', "Refers to the id to lookup in the registry for the specific CamelSagaService to use.", 'string', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
         new PropertyMeta('timeout', 'Timeout', "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).", 'string', '', '', false, false, false, false),
@@ -495,35 +511,30 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('allowCoreThreadTimeOut', 'Allow Core Thread Time Out', "Whether idle core threads are allowed to timeout and therefore can shrink the pool size below the core pool size Is by default false", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('callerRunsWhenRejected', 'Caller Runs When Rejected', "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", 'string', '', 'true', false, false, false, false),
         new PropertyMeta('executorServiceRef', 'Executor Service Ref', "To refer to a custom thread pool or use a thread pool profile (as overlay)", 'string', '', '', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('keepAliveTime', 'Keep Alive Time', "Sets the keep alive time for idle threads", 'number', '', '', false, false, false, false),
         new PropertyMeta('maxPoolSize', 'Max Pool Size', "Sets the maximum pool size", 'number', '', '', false, false, false, false),
         new PropertyMeta('maxQueueSize', 'Max Queue Size', "Sets the maximum number of tasks in the work queue. Use -1 or Integer.MAX_VALUE for an unbounded queue", 'number', '', '', false, false, false, false),
         new PropertyMeta('poolSize', 'Pool Size', "Sets the core pool size", 'number', '', '', false, false, false, false),
-        new PropertyMeta('rejectedPolicy', 'Rejected Policy', "Sets the handler for tasks which cannot be executed by the thread pool.", 'string', 'Abort, CallerRuns, Discard, DiscardOldest', '', false, false, false, false),
+        new PropertyMeta('rejectedPolicy', 'Rejected Policy', "Sets the handler for tasks which cannot be executed by the thread pool.", 'string', 'Abort, CallerRuns, DiscardOldest, Discard', '', false, false, false, false),
         new PropertyMeta('threadName', 'Thread Name', "Sets the thread name to use.", 'string', '', 'Threads', false, false, false, false),
-        new PropertyMeta('timeUnit', 'Time Unit', "Sets the keep alive time unit. By default SECONDS is used.", 'string', 'DAYS, HOURS, MICROSECONDS, MILLISECONDS, MINUTES, NANOSECONDS, SECONDS', '', false, false, false, false),
+        new PropertyMeta('timeUnit', 'Time Unit', "Sets the keep alive time unit. By default SECONDS is used.", 'string', 'NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS', '', false, false, false, false),
     ]),
     new ElementMeta('when', 'When', 'Triggers a route when the expression evaluates to true', 'eip,routing', [
         new PropertyMeta('expression', 'Expression', "Expression used as the predicate to evaluate whether this when should trigger and route the message or not.", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('claimCheck', 'Claim Check', '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.', 'eip,routing', [
         new PropertyMeta('filter', 'Filter', "Specified a filter to control what data gets merging 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 pattern uses the following rules are applied in this order: exact match, returns true wildca [...]
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('key', 'Key', "To use a specific key for claim check id (for dynamic keys use simple language syntax as the key).", 'string', '', '', false, false, false, false),
-        new PropertyMeta('operation', 'Operation', "The claim check operation to use. The following operations is supported: Get - Gets (does not remove) the claim check by the given key. GetAndRemove - Gets and remove 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).", 'string', 'Get, Ge [...]
+        new PropertyMeta('operation', 'Operation', "The claim check operation to use. The following operations is supported: Get - Gets (does not remove) the claim check by the given key. GetAndRemove - Gets and remove 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).", 'string', 'Get, Ge [...]
         new PropertyMeta('strategyMethodName', 'Strategy Method Name', "This option can be used to explicit declare the method name to use, when using POJOs as the AggregationStrategy.", 'string', '', '', false, false, false, false),
         new PropertyMeta('strategyRef', 'Strategy Ref', "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. The value can either refer to a bean to lookup, or to lookup a singleton bean by its type, or to create a new bean: Lookup bean - This is the default behavior to lookup an existing bean by the bean id (value) reference by type - Values can refer to singleton beans by  [...]
     ]),
     new ElementMeta('doFinally', 'Do Finally', 'Path traversed when a try, catch, finally block exits', 'error', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('filter', 'Filter', 'Filter out messages based using a predicate', 'eip,routing', [
         new PropertyMeta('expression', 'Expression', "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.", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
     ]),
     new ElementMeta('aggregate', 'Aggregate', 'Aggregates many messages into a single message', 'eip,routing', [
@@ -538,7 +549,7 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('completionSize', 'Completion Size', "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.", 'number', '', '', false, false, false, false),
         new PropertyMeta('completionSizeExpression', 'Completion Size Expression', "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.", 'Expression', '', '', false, false, false, true),
         new PropertyMeta('completionTimeout', 'Completion Timeout', "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 ca [...]
-        new PropertyMeta('completionTimeoutCheckerInterval', 'Completion Timeout Checker Interval', "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.", 'string', '', '1s', false, f [...]
+        new PropertyMeta('completionTimeoutCheckerInterval', 'Completion Timeout Checker Interval', "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.", 'string', '', '1000', false, [...]
         new PropertyMeta('completionTimeoutExpression', 'Completion Timeout Expression', "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, o [...]
         new PropertyMeta('correlationExpression', 'Correlation Expression', "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.", 'Expression', '', '', true, false, false, true),
         new PropertyMeta('discardOnAggregationFailure', 'Discard On Aggregation Failure', "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.", 'boolean', '', 'false', false, false, false, false),
@@ -547,7 +558,6 @@ export const Metadata: ElementMeta[] = [
         new PropertyMeta('executorServiceRef', 'Executor Service Ref', "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.", 'string', '', '', false, false, false, false),
         new PropertyMeta('forceCompletionOnStop', 'Force Completion On Stop', "Indicates to complete all current aggregated exchanges when the context is stopped", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('ignoreInvalidCorrelationKeys', 'Ignore Invalid Correlation Keys', "If a correlation key cannot be successfully evaluated it will be ignored by logging a DEBUG and then just ignore the incoming Exchange.", 'boolean', '', 'false', false, false, false, false),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('optimisticLocking', 'Optimistic Locking', "Turns on using optimistic locking, which requires the aggregationRepository being used, is supporting this by implementing org.apache.camel.spi.OptimisticLockingAggregationRepository .", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('parallelProcessing', 'Parallel Processing', "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.", 'boolean', '', 'false', false, false, false, false),
         new PropertyMeta('steps', 'steps', "steps", 'array', '', '', false, false, true, true),
@@ -558,13 +568,11 @@ export const Metadata: ElementMeta[] = [
     ]),
     new ElementMeta('transform', 'Transform', 'Transforms the message body based on an expression', 'eip,transformation', [
         new PropertyMeta('expression', 'Expression', "Expression to return the transformed message body (the new message body to use)", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
     ]),
     new ElementMeta('idempotentConsumer', 'Idempotent Consumer', 'Filters out duplicate messages', 'eip,routing', [
         new PropertyMeta('completionEager', 'Completion Eager', "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 com [...]
         new PropertyMeta('eager', 'Eager', "Sets whether to eagerly add the key to the idempotent repository or wait until the exchange is complete. Eager is default enabled.", 'boolean', '', 'true', false, false, false, false),
         new PropertyMeta('expression', 'Expression', "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.", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('messageIdRepositoryRef', 'Message Id Repository Ref', "Sets the reference name of the message id repository", 'string', '', '', true, false, false, false),
         new PropertyMeta('removeOnFailure', 'Remove On Failure', "Sets whether to remove or keep the key on failure. The default behavior is to remove the key on failure.", 'boolean', '', 'true', false, false, false, false),
         new PropertyMeta('skipDuplicate', 'Skip Duplicate', "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.", 'boolean', '', 'true', false, false, false, false),
@@ -572,12 +580,416 @@ export const Metadata: ElementMeta[] = [
     ]),
     new ElementMeta('setProperty', 'Set Property', 'Sets a named property on the message exchange', 'eip,transformation', [
         new PropertyMeta('expression', 'Expression', "Expression to return the value of the message exchange property", 'Expression', '', '', true, false, false, true),
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('name', 'Name', "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.", 'string', '', '', true, false, false, false),
     ]),
     new ElementMeta('inOut', 'In Out', 'Marks the exchange pattern for the route to request/reply', 'eip,routing', [
-        new PropertyMeta('inheritErrorHandler', 'inheritErrorHandler', "inheritErrorHandler", 'boolean', '', '', false, false, false, false),
         new PropertyMeta('parameters', 'parameters', "parameters", 'object', '', '', false, false, false, false),
         new PropertyMeta('uri', 'Uri', "Sets the uri of the endpoint to send to.", 'string', '', '', true, false, false, false),
     ]),
 ]
+export const DataFormats: [string, string, string][] = [
+    ['any23','Any23',"Extract RDF data from HTML documents."],
+    ['asn1','ASN.1 File',"Encode and decode data structures using Abstract Syntax Notation One (ASN.1)."],
+    ['avro','Avro',"Serialize and deserialize messages using Apache Avro binary data format."],
+    ['barcode','Barcode',"Transform strings to various 1D/2D barcode bitmap formats and back."],
+    ['base64','Base64',"Encode and decode data using Base64."],
+    ['beanio','BeanIO',"Marshal and unmarshal Java beans to and from flat files (such as CSV, delimited, or fixed length formats)."],
+    ['bindy','Bindy',"Marshal and unmarshal Java beans from and to flat payloads (such as CSV, delimited, fixed length formats, or FIX messages)."],
+    ['cbor','CBOR',"Unmarshal a CBOR payload to POJO and back."],
+    ['crypto','Crypto (Java Cryptographic Extension)',"Encrypt and decrypt messages using Java Cryptography Extension (JCE)."],
+    ['csv','CSV',"Handle CSV (Comma Separated Values) payloads."],
+    ['fhirJson','FHIR JSon',"Marshall and unmarshall FHIR objects to/from JSON."],
+    ['fhirXml','FHIR XML',"Marshall and unmarshall FHIR objects to/from XML."],
+    ['flatpack','Flatpack',"Marshal and unmarshal Java lists and maps to/from flat files (such as CSV, delimited, or fixed length formats) using Flatpack library."],
+    ['grok','Grok',"Unmarshal unstructured data to objects using Logstash based Grok patterns."],
+    ['hl7','HL7',"Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec."],
+    ['ical','iCal',"Marshal and unmarshal iCal (.ics) documents to/from model objects provided by the iCal4j library."],
+    ['jacksonxml','JacksonXML',"Unmarshal a XML payloads to POJOs and back using XMLMapper extension of Jackson."],
+    ['jaxb','JAXB',"Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard."],
+    ['json','JSon',"Marshal POJOs to JSON and back."],
+    ['jsonApi','JSonApi',"Marshal and unmarshal JSON:API resources using JSONAPI-Converter library."],
+    ['lzf','LZF Deflate Compression',"Compress and decompress streams using LZF deflate algorithm."],
+    ['pgp','PGP',"Encrypt and decrypt messages using Java Cryptographic Extension (JCE) and PGP."],
+    ['protobuf','Protobuf',"Serialize and deserialize Java objects using Google's Protocol buffers."],
+    ['rss','RSS',"Transform from ROME SyndFeed Java Objects to XML and vice-versa."],
+    ['soapjaxb','SOAP',"Marshal Java objects to SOAP messages and back."],
+    ['syslog','Syslog',"Marshall SyslogMessages to RFC3164 and RFC5424 messages and back."],
+    ['tarfile','Tar File',"Archive files into tarballs or extract files from tarballs."],
+    ['thrift','Thrift',"Serialize and deserialize messages using Apache Thrift binary data format."],
+    ['tidyMarkup','TidyMarkup',"Parse (potentially invalid) HTML into valid HTML or DOM."],
+    ['xmlrpc','XML RPC',"Marshal and unmarshal XML RPC protocol requests or responses."],
+    ['xstream','XStream',"Marshal and unmarshal POJOs to/from XML using XStream library."],
+    ['yaml','YAML',"Marshal and unmarshal Java objects to and from YAML."],
+    ['zipfile','Zip File',"Compression and decompress streams using java.util.zip.ZipStream."],
+]
+export const CamelDataFormatMetadata: ElementMeta[] = [
+    new ElementMeta('any23', 'Any23', "Extract RDF data from HTML documents.", 'dataformat,transformation', [
+        new PropertyMeta('outputFormat', 'Output Format', "What RDF syntax to unmarshal as, can be: NTRIPLES, TURTLE, NQUADS, RDFXML, JSONLD, RDFJSON, RDF4JMODEL. It is by default: RDF4JMODEL.", 'enum', 'NTRIPLES, TURTLE, NQUADS, RDFXML, JSONLD, RDFJSON, RDF4JMODEL', 'RDF4JMODEL', false, false, false, false),
+        new PropertyMeta('configuration', 'Configuration', "Configurations for Apache Any23 as key-value pairs in order to customize the extraction process. The list of supported parameters can be found here. If not provided, a default configuration is used.", 'array', '', '', false, false, true, false),
+        new PropertyMeta('extractors', 'Extractors', "List of Any23 extractors to be used in the unmarshal operation. A list of the available extractors can be found here here. If not provided, all the available extractors are used.", 'array', '', '', false, false, true, false),
+        new PropertyMeta('baseURI', 'Base URI', "The URI to use as base for building RDF entities if only relative paths are provided.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('asn1', 'ASN.1 File', "Encode and decode data structures using Abstract Syntax Notation One (ASN.1).", 'dataformat,transformation,file', [
+        new PropertyMeta('usingIterator', 'Using Iterator', "If the asn1 file has more then one entry, the setting this option to true, allows to work with the splitter EIP, to split the data using an iterator in a streaming mode.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('unmarshalType', 'Unmarshal Type', "Class to use when unmarshalling.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('avro', 'Avro', "Serialize and deserialize messages using Apache Avro binary data format.", 'dataformat,transformation', [
+        new PropertyMeta('instanceClassName', 'Instance Class Name', "Class name to use for marshal and unmarshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('library', 'Library', "Which Avro library to use.", 'enum', 'apache-avro, jackson', 'ApacheAvro', false, false, false, false),
+        new PropertyMeta('objectMapper', 'Object Mapper', "Lookup and use the existing ObjectMapper with the given id when using Jackson.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('useDefaultObjectMapper', 'Use Default Object Mapper', "Whether to lookup and use default Jackson ObjectMapper from the registry.", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('unmarshalType', 'Unmarshal Type', "Class name of the java type to use when unmarshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('jsonView', 'Json View', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('include', 'Include', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('allowJmsType', 'Allow Jms Type', "Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('collectionType', 'Collection Type', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('useList', 'Use List', "To unmarshal to a List of Map or a List of Pojo.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('moduleClassNames', 'Module Class Names', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('moduleRefs', 'Module Refs', "To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('enableFeatures', 'Enable Features', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('disableFeatures', 'Disable Features', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('allowUnmarshallType', 'Allow Unmarshall Type', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('timezone', 'Timezone', "If set then Jackson will use the Timezone when marshalling/unmarshalling.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('autoDiscoverObjectMapper', 'Auto Discover Object Mapper', "If set to true then Jackson will lookup for an objectMapper into the registry", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('contentTypeHeader', 'Content Type Header', "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", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('schemaResolver', 'Schema Resolver', "Optional schema resolver used to lookup schemas for the data in transit.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('autoDiscoverSchemaResolver', 'Auto Discover Schema Resolver', "When not disabled, the SchemaResolver will be looked up into the registry", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('barcode', 'Barcode', "Transform strings to various 1D/2D barcode bitmap formats and back.", 'dataformat,transformation', [
+        new PropertyMeta('width', 'Width', "Width of the barcode", 'integer', '', '', false, false, false, false),
+        new PropertyMeta('height', 'Height', "Height of the barcode", 'integer', '', '', false, false, false, false),
+        new PropertyMeta('imageType', 'Image Type', "Image type of the barcode such as png", 'string', '', '', false, false, false, false),
+        new PropertyMeta('barcodeFormat', 'Barcode Format', "Barcode format such as QR-Code", 'string', '', '', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('base64', 'Base64', "Encode and decode data using Base64.", 'dataformat,transformation', [
+        new PropertyMeta('lineLength', 'Line Length', "To specific a maximum line length for the encoded data. By default 76 is used.", 'integer', '', '76', false, false, false, false),
+        new PropertyMeta('lineSeparator', 'Line Separator', "The line separators to use. Uses new line characters (CRLF) by default.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('urlSafe', 'Url Safe', "Instead of emitting '' and '/' we emit '-' and '_' respectively. urlSafe is only applied to encode operations. Decoding seamlessly handles both modes. Is by default false.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('beanio', 'BeanIO', "Marshal and unmarshal Java beans to and from flat files (such as CSV, delimited, or fixed length formats).", 'dataformat,transformation,csv', [
+        new PropertyMeta('mapping', 'Mapping', "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.", 'string', '', '', true, false, false, false),
+        new PropertyMeta('streamName', 'Stream Name', "The name of the stream to use.", 'string', '', '', true, false, false, false),
+        new PropertyMeta('ignoreUnidentifiedRecords', 'Ignore Unidentified Records', "Whether to ignore unidentified records.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('ignoreUnexpectedRecords', 'Ignore Unexpected Records', "Whether to ignore unexpected records.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('ignoreInvalidRecords', 'Ignore Invalid Records', "Whether to ignore invalid records.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('encoding', 'Encoding', "The charset to use. Is by default the JVM platform default charset.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('beanReaderErrorHandlerType', 'Bean Reader Error Handler Type', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('unmarshalSingleObject', 'Unmarshal Single Object', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('bindy', 'Bindy', "Marshal and unmarshal Java beans from and to flat payloads (such as CSV, delimited, fixed length formats, or FIX messages).", 'dataformat,transformation,csv', [
+        new PropertyMeta('type', 'Type', "Whether to use Csv, Fixed, or KeyValue.", 'enum', 'Csv, Fixed, KeyValue', '', true, false, false, false),
+        new PropertyMeta('classType', 'Class Type', "Name of model class to use.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('locale', 'Locale', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('unwrapSingleInstance', 'Unwrap Single Instance', "When unmarshalling should a single instance be unwrapped and returned instead of wrapped in a java.util.List.", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('allowEmptyStream', 'Allow Empty Stream', "Whether to allow empty streams in the unmarshal process. If true, no exception will be thrown when a body without records is provided.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('cbor', 'CBOR', "Unmarshal a CBOR payload to POJO and back.", 'dataformat,transformation,json', [
+        new PropertyMeta('objectMapper', 'Object Mapper', "Lookup and use the existing CBOR ObjectMapper with the given id when using Jackson.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('useDefaultObjectMapper', 'Use Default Object Mapper', "Whether to lookup and use default Jackson CBOR ObjectMapper from the registry.", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('unmarshalType', 'Unmarshal Type', "Class name of the java type to use when unmarshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('collectionType', 'Collection Type', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('useList', 'Use List', "To unmarshal to a List of Map or a List of Pojo.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('allowUnmarshallType', 'Allow Unmarshall Type', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('prettyPrint', 'Pretty Print', "To enable pretty printing output nicely formatted. Is by default false.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('allowJmsType', 'Allow Jms Type', "Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('enableFeatures', 'Enable Features', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('disableFeatures', 'Disable Features', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('crypto', 'Crypto (Java Cryptographic Extension)', "Encrypt and decrypt messages using Java Cryptography Extension (JCE).", 'dataformat,transformation,security', [
+        new PropertyMeta('algorithm', 'Algorithm', "The JCE algorithm name indicating the cryptographic algorithm that will be used.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('cryptoProvider', 'Crypto Provider', "The name of the JCE Security Provider that should be used.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('keyRef', 'Key Ref', "Refers to the secret key to lookup from the register to use.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('initVectorRef', 'Init Vector Ref', "Refers to a byte array containing the Initialization Vector that will be used to initialize the Cipher.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('algorithmParameterRef', 'Algorithm Parameter Ref', "A JCE AlgorithmParameterSpec used to initialize the Cipher. Will lookup the type using the given name as a java.security.spec.AlgorithmParameterSpec type.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('buffersize', 'Buffersize', "The size of the buffer used in the signature process.", 'integer', '', '', false, false, false, false),
+        new PropertyMeta('macAlgorithm', 'Mac Algorithm', "The JCE algorithm name indicating the Message Authentication algorithm.", 'string', '', 'HmacSHA1', false, false, false, false),
+        new PropertyMeta('shouldAppendHMAC', 'Should Append HMAC', "Flag indicating that a Message Authentication Code should be calculated and appended to the encrypted data.", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('inline', 'Inline', "Flag indicating that the configured IV should be inlined into the encrypted data stream. Is by default false.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('csv', 'CSV', "Handle CSV (Comma Separated Values) payloads.", 'dataformat,transformation,csv', [
+        new PropertyMeta('formatRef', 'Format Ref', "The reference format to use, it will be updated with the other format options, the default value is CSVFormat.DEFAULT", 'string', '', '', false, false, false, false),
+        new PropertyMeta('formatName', 'Format Name', "The name of the format to use, the default value is CSVFormat.DEFAULT", 'enum', 'DEFAULT, EXCEL, INFORMIX_UNLOAD, INFORMIX_UNLOAD_CSV, MYSQL, RFC4180', '', false, false, false, false),
+        new PropertyMeta('commentMarkerDisabled', 'Comment Marker Disabled', "Disables the comment marker of the reference format.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('commentMarker', 'Comment Marker', "Sets the comment marker of the reference format.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('delimiter', 'Delimiter', "Sets the delimiter to use. The default value is , (comma)", 'string', '', '', false, false, false, false),
+        new PropertyMeta('escapeDisabled', 'Escape Disabled', "Use for disabling using escape character", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('escape', 'Escape', "Sets the escape character to use", 'string', '', '', false, false, false, false),
+        new PropertyMeta('headerDisabled', 'Header Disabled', "Use for disabling headers", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('header', 'Header', "To configure the CSV headers", 'array', '', '', false, false, true, false),
+        new PropertyMeta('allowMissingColumnNames', 'Allow Missing Column Names', "Whether to allow missing column names.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('ignoreEmptyLines', 'Ignore Empty Lines', "Whether to ignore empty lines.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('ignoreSurroundingSpaces', 'Ignore Surrounding Spaces', "Whether to ignore surrounding spaces", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('nullStringDisabled', 'Null String Disabled', "Used to disable null strings", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('nullString', 'Null String', "Sets the null string", 'string', '', '', false, false, false, false),
+        new PropertyMeta('quoteDisabled', 'Quote Disabled', "Used to disable quotes", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('quote', 'Quote', "Sets the quote which by default is", 'string', '', '', false, false, false, false),
+        new PropertyMeta('recordSeparatorDisabled', 'Record Separator Disabled', "Used for disabling record separator", 'string', '', '', false, false, false, false),
+        new PropertyMeta('recordSeparator', 'Record Separator', "Sets the record separator (aka new line) which by default is new line characters (CRLF)", 'string', '', '', false, false, false, false),
+        new PropertyMeta('skipHeaderRecord', 'Skip Header Record', "Whether to skip the header record in the output", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('quoteMode', 'Quote Mode', "Sets the quote mode", 'string', '', '', false, false, false, false),
+        new PropertyMeta('ignoreHeaderCase', 'Ignore Header Case', "Sets whether or not to ignore case when accessing header names.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('trim', 'Trim', "Sets whether or not to trim leading and trailing blanks.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('trailingDelimiter', 'Trailing Delimiter', "Sets whether or not to add a trailing delimiter.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('marshallerFactoryRef', 'Marshaller Factory Ref', "Sets the implementation of the CsvMarshallerFactory interface which is able to customize marshalling/unmarshalling behavior by extending CsvMarshaller or creating it from scratch.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('lazyLoad', 'Lazy Load', "Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at one.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('useMaps', 'Use Maps', "Whether the unmarshalling should produce maps (HashMap)for the lines values instead of lists. It requires to have header (either defined or collected).", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('useOrderedMaps', 'Use Ordered Maps', "Whether the unmarshalling should produce ordered maps (LinkedHashMap) for the lines values instead of lists. It requires to have header (either defined or collected).", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('recordConverterRef', 'Record Converter Ref', "Refers to a custom CsvRecordConverter to lookup from the registry to use.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('captureHeaderRecord', 'Capture Header Record', "Whether the unmarshalling should capture the header record and store it in the message header", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('fhirJson', 'FHIR JSon', "Marshall and unmarshall FHIR objects to/from JSON.", 'dataformat,transformation,hl7,json', [
+        new PropertyMeta('fhirVersion', 'Fhir Version', "The version of FHIR to use. Possible values are: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4", 'enum', 'DSTU2, DSTU2_HL7ORG, DSTU2_1, DSTU3, R4', 'DSTU3', false, false, false, false),
+        new PropertyMeta('prettyPrint', 'Pretty Print', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('serverBaseUrl', 'Server Base Url', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('omitResourceId', 'Omit Resource Id', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('encodeElementsAppliesToChildResourcesOnly', 'Encode Elements Applies To Child Resources Only', "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)", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('encodeElements', 'Encode Elements', "If provided, specifies the elements which should be encoded, to the exclusion of all others. 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 w [...]
+        new PropertyMeta('dontEncodeElements', 'Dont Encode Elements', "If provided, specifies the elements which should NOT be encoded. 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, [...]
+        new PropertyMeta('stripVersionsFromReferences', 'Strip Versions From References', "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  [...]
+        new PropertyMeta('overrideResourceIdWithBundleEntryFullUrl', 'Override Resource Id With Bundle Entry Full Url', "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 re [...]
+        new PropertyMeta('summaryMode', 'Summary Mode', "If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('suppressNarratives', 'Suppress Narratives', "If set to true (default is false), narratives will not be included in the encoded values.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('dontStripVersionsFromReferencesAtPaths', 'Dont Strip Versions From References At Paths', "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. This method provides a finer-grained level of control than setStripVersionsFromReferences(String) and any paths specified by this method will be  [...]
+        new PropertyMeta('contentTypeHeader', 'Content Type Header', "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", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('fhirXml', 'FHIR XML', "Marshall and unmarshall FHIR objects to/from XML.", 'dataformat,transformation,hl7,xml', [
+        new PropertyMeta('fhirVersion', 'Fhir Version', "The version of FHIR to use. Possible values are: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4", 'enum', 'DSTU2, DSTU2_HL7ORG, DSTU2_1, DSTU3, R4', 'DSTU3', false, false, false, false),
+        new PropertyMeta('prettyPrint', 'Pretty Print', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('serverBaseUrl', 'Server Base Url', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('omitResourceId', 'Omit Resource Id', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('encodeElementsAppliesToChildResourcesOnly', 'Encode Elements Applies To Child Resources Only', "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)", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('encodeElements', 'Encode Elements', "If provided, specifies the elements which should be encoded, to the exclusion of all others. 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 w [...]
+        new PropertyMeta('dontEncodeElements', 'Dont Encode Elements', "If provided, specifies the elements which should NOT be encoded. 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, [...]
+        new PropertyMeta('stripVersionsFromReferences', 'Strip Versions From References', "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  [...]
+        new PropertyMeta('overrideResourceIdWithBundleEntryFullUrl', 'Override Resource Id With Bundle Entry Full Url', "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 re [...]
+        new PropertyMeta('summaryMode', 'Summary Mode', "If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('suppressNarratives', 'Suppress Narratives', "If set to true (default is false), narratives will not be included in the encoded values.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('dontStripVersionsFromReferencesAtPaths', 'Dont Strip Versions From References At Paths', "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. This method provides a finer-grained level of control than setStripVersionsFromReferences(String) and any paths specified by this method will be  [...]
+        new PropertyMeta('contentTypeHeader', 'Content Type Header', "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", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('flatpack', 'Flatpack', "Marshal and unmarshal Java lists and maps to/from flat files (such as CSV, delimited, or fixed length formats) using Flatpack library.", 'dataformat,transformation,csv', [
+        new PropertyMeta('definition', 'Definition', "The flatpack pzmap configuration file. Can be omitted in simpler situations, but its preferred to use the pzmap.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('fixed', 'Fixed', "Delimited or fixed. Is by default false = delimited", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('ignoreFirstRecord', 'Ignore First Record', "Whether the first line is ignored for delimited files (for the column headers). Is by default true.", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('textQualifier', 'Text Qualifier', "If the text is qualified with a character. Uses quote character by default.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('delimiter', 'Delimiter', "The delimiter char (could be ; , or similar)", 'string', '', ',', false, false, false, false),
+        new PropertyMeta('allowShortLines', 'Allow Short Lines', "Allows for lines to be shorter than expected and ignores the extra characters", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('ignoreExtraColumns', 'Ignore Extra Columns', "Allows for lines to be longer than expected and ignores the extra characters.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('parserFactoryRef', 'Parser Factory Ref', "References to a custom parser factory to lookup in the registry", 'string', '', '', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('grok', 'Grok', "Unmarshal unstructured data to objects using Logstash based Grok patterns.", 'dataformat,transformation', [
+        new PropertyMeta('pattern', 'Pattern', "The grok pattern to match lines of input", 'string', '', '', false, false, false, false),
+        new PropertyMeta('flattened', 'Flattened', "Turns on flattened mode. In flattened mode the exception is thrown when there are multiple pattern matches with same key.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('allowMultipleMatchesPerLine', 'Allow Multiple Matches Per Line', "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.", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('namedOnly', 'Named Only', "Whether to capture named expressions only or not (i.e. %{IP:ip} but not ${IP})", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('hl7', 'HL7', "Marshal and unmarshal HL7 (Health Care) model objects using the HL7 MLLP codec.", 'dataformat,transformation,hl7', [
+        new PropertyMeta('validate', 'Validate', "Whether to validate the HL7 message Is by default true.", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('ical', 'iCal', "Marshal and unmarshal iCal (.ics) documents to/from model objects provided by the iCal4j library.", 'dataformat,transformation', [
+        new PropertyMeta('validating', 'Validating', "Whether to validate.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('jacksonxml', 'JacksonXML', "Unmarshal a XML payloads to POJOs and back using XMLMapper extension of Jackson.", 'dataformat,transformation,xml', [
+        new PropertyMeta('xmlMapper', 'Xml Mapper', "Lookup and use the existing XmlMapper with the given id.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('prettyPrint', 'Pretty Print', "To enable pretty printing output nicely formatted. Is by default false.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('unmarshalType', 'Unmarshal Type', "Class name of the java type to use when unmarshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('jsonView', 'Json View', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('include', 'Include', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('allowJmsType', 'Allow Jms Type', "Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('collectionType', 'Collection Type', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('useList', 'Use List', "To unmarshal to a List of Map or a List of Pojo.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('enableJaxbAnnotationModule', 'Enable Jaxb Annotation Module', "Whether to enable the JAXB annotations module when using jackson. When enabled then JAXB annotations can be used by Jackson.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('moduleClassNames', 'Module Class Names', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('moduleRefs', 'Module Refs', "To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('enableFeatures', 'Enable Features', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('disableFeatures', 'Disable Features', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('allowUnmarshallType', 'Allow Unmarshall Type', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('contentTypeHeader', 'Content Type Header', "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", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('jaxb', 'JAXB', "Unmarshal XML payloads to POJOs and back using JAXB2 XML marshalling standard.", 'dataformat,transformation,xml', [
+        new PropertyMeta('contextPath', 'Context Path', "Package name where your JAXB classes are located.", 'string', '', '', true, false, false, false),
+        new PropertyMeta('contextPathIsClassName', 'Context Path Is Class Name', "This can be set to true to mark that the contextPath is referring to a classname and not a package name.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('schema', 'Schema', "To validate against an existing schema. Your can use the prefix classpath:, file: or http: to specify how the resource should by resolved. You can separate multiple schema files by using the ',' character.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('schemaSeverityLevel', 'Schema Severity Level', "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.", 'enum', '0, 1, 2', '0', false, false, false, false),
+        new PropertyMeta('prettyPrint', 'Pretty Print', "To enable pretty printing output nicely formatted. Is by default false.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('objectFactory', 'Object Factory', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('ignoreJAXBElement', 'Ignore JAXBElement', "Whether to ignore JAXBElement elements - only needed to be set to false in very special use-cases.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('mustBeJAXBElement', 'Must Be JAXBElement', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('filterNonXmlChars', 'Filter Non Xml Chars', "To ignore non xml characheters and replace them with an empty space.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('encoding', 'Encoding', "To overrule and use a specific encoding", 'string', '', '', false, false, false, false),
+        new PropertyMeta('fragment', 'Fragment', "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 [...]
+        new PropertyMeta('partClass', 'Part Class', "Name of class used for fragment parsing. See more details at the fragment option.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('partNamespace', 'Part Namespace', "XML namespace to use for fragment parsing. See more details at the fragment option.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('namespacePrefixRef', 'Namespace Prefix Ref', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('xmlStreamWriterWrapper', 'Xml Stream Writer Wrapper', "To use a custom xml stream writer.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('schemaLocation', 'Schema Location', "To define the location of the schema", 'string', '', '', false, false, false, false),
+        new PropertyMeta('noNamespaceSchemaLocation', 'No Namespace Schema Location', "To define the location of the namespaceless schema", 'string', '', '', false, false, false, false),
+        new PropertyMeta('jaxbProviderProperties', 'Jaxb Provider Properties', "Refers to a custom java.util.Map to lookup in the registry containing custom JAXB provider properties to be used with the JAXB marshaller.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('contentTypeHeader', 'Content Type Header', "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", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('json', 'JSon', "Marshal POJOs to JSON and back.", 'dataformat,transformation,json', [
+        new PropertyMeta('objectMapper', 'Object Mapper', "Lookup and use the existing ObjectMapper with the given id when using Jackson.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('useDefaultObjectMapper', 'Use Default Object Mapper', "Whether to lookup and use default Jackson ObjectMapper from the registry.", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('prettyPrint', 'Pretty Print', "To enable pretty printing output nicely formatted. Is by default false.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('library', 'Library', "Which json library to use.", 'enum', 'fastjson, gson, jackson, johnzon, jsonb, x-stream', 'Jackson', false, false, false, false),
+        new PropertyMeta('unmarshalType', 'Unmarshal Type', "Class name of the java type to use when unmarshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('jsonView', 'Json View', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('include', 'Include', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('allowJmsType', 'Allow Jms Type', "Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('collectionType', 'Collection Type', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('useList', 'Use List', "To unmarshal to a List of Map or a List of Pojo.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('moduleClassNames', 'Module Class Names', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('moduleRefs', 'Module Refs', "To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('enableFeatures', 'Enable Features', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('disableFeatures', 'Disable Features', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('permissions', 'Permissions', "Adds permissions that controls which Java packages and classes XStream is allowed to use during unmarshal from xml/json to Java beans. A permission must be configured either here or globally using a JVM system property. The permission can be specified in a syntax where a plus sign is allow, and minus sign is deny. Wildcards is supported by using . as prefix. For example to allow com.foo and all subpackages then specfy com.foo.. Mult [...]
+        new PropertyMeta('allowUnmarshallType', 'Allow Unmarshall Type', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('timezone', 'Timezone', "If set then Jackson will use the Timezone when marshalling/unmarshalling. This option will have no effect on the others Json DataFormat, like gson, fastjson and xstream.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('autoDiscoverObjectMapper', 'Auto Discover Object Mapper', "If set to true then Jackson will lookup for an objectMapper into the registry", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('dropRootNode', 'Drop Root Node', "Whether XStream will drop the root node in the generated JSon. You may want to enable this when using POJOs; as then the written object will include the class name as root node, which is often not intended to be written in the JSON output.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('contentTypeHeader', 'Content Type Header', "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", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('schemaResolver', 'Schema Resolver', "Optional schema resolver used to lookup schemas for the data in transit.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('autoDiscoverSchemaResolver', 'Auto Discover Schema Resolver', "When not disabled, the SchemaResolver will be looked up into the registry", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('jsonApi', 'JSonApi', "Marshal and unmarshal JSON:API resources using JSONAPI-Converter library.", 'dataformat,transformation', [
+        new PropertyMeta('dataFormatTypes', 'Data Format Types', "The classes to take into account for the marshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('mainFormatType', 'Main Format Type', "The classes to take into account while unmarshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('lzf', 'LZF Deflate Compression', "Compress and decompress streams using LZF deflate algorithm.", 'dataformat,transformation', [
+        new PropertyMeta('usingParallelCompression', 'Using Parallel Compression', "Enable encoding (compress) using multiple processing cores.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('pgp', 'PGP', "Encrypt and decrypt messages using Java Cryptographic Extension (JCE) and PGP.", 'dataformat,transformation,security', [
+        new PropertyMeta('keyUserid', 'Key Userid', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('signatureKeyUserid', 'Signature Key Userid', "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 b [...]
+        new PropertyMeta('password', 'Password', "Password used when opening the private key (not used for encryption).", 'string', '', '', false, false, false, false),
+        new PropertyMeta('signaturePassword', 'Signature Password', "Password used when opening the private key used for signing (during encryption).", 'string', '', '', false, false, false, false),
+        new PropertyMeta('keyFileName', 'Key File Name', "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).", 'string', '', '', false, false, false, false),
+        new PropertyMeta('signatureKeyFileName', 'Signature Key File Name', "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).", 'string', '', '', false, false, false, false),
+        new PropertyMeta('signatureKeyRing', 'Signature Key Ring', "Keyring used for signing/verifying as byte array. You can not set the signatureKeyFileName and signatureKeyRing at the same time.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('armored', 'Armored', "This option will cause PGP to base64 encode the encrypted text, making it available for copy/paste, etc.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('integrity', 'Integrity', "Adds an integrity check/sign into the encryption file. The default value is true.", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('provider', 'Provider', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('algorithm', 'Algorithm', "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.", 'integer', '', '', false, false, false, false),
+        new PropertyMeta('compressionAlgorithm', 'Compression Algorithm', "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.", 'integer', '', '', false, false, false, false),
+        new PropertyMeta('hashAlgorithm', 'Hash Algorithm', "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.", 'integer', '', '', false, false, false, false),
+        new PropertyMeta('signatureVerificationOption', 'Signature Verification Option', "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. ign [...]
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('protobuf', 'Protobuf', "Serialize and deserialize Java objects using Google's Protocol buffers.", 'dataformat,transformation', [
+        new PropertyMeta('instanceClass', 'Instance Class', "Name of class to use when unmarshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('contentTypeFormat', 'Content Type Format', "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.", 'enum', 'native, json', 'native', false, false, false, false),
+        new PropertyMeta('contentTypeHeader', 'Content Type Header', "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", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('library', 'Library', "Which Protobuf library to use.", 'enum', 'google-protobuf, jackson', 'GoogleProtobuf', false, false, false, false),
+        new PropertyMeta('objectMapper', 'Object Mapper', "Lookup and use the existing ObjectMapper with the given id when using Jackson.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('useDefaultObjectMapper', 'Use Default Object Mapper', "Whether to lookup and use default Jackson ObjectMapper from the registry.", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('unmarshalType', 'Unmarshal Type', "Class name of the java type to use when unmarshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('jsonView', 'Json View', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('include', 'Include', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('allowJmsType', 'Allow Jms Type', "Used for JMS users to allow the JMSType header from the JMS spec to specify a FQN classname to use to unmarshal to.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('collectionType', 'Collection Type', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('useList', 'Use List', "To unmarshal to a List of Map or a List of Pojo.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('moduleClassNames', 'Module Class Names', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('moduleRefs', 'Module Refs', "To use custom Jackson modules referred from the Camel registry. Multiple modules can be separated by comma.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('enableFeatures', 'Enable Features', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('disableFeatures', 'Disable Features', "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", 'string', '', '', false, false, false, false),
+        new PropertyMeta('allowUnmarshallType', 'Allow Unmarshall Type', "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.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('timezone', 'Timezone', "If set then Jackson will use the Timezone when marshalling/unmarshalling.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('autoDiscoverObjectMapper', 'Auto Discover Object Mapper', "If set to true then Jackson will lookup for an objectMapper into the registry", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('schemaResolver', 'Schema Resolver', "Optional schema resolver used to lookup schemas for the data in transit.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('autoDiscoverSchemaResolver', 'Auto Discover Schema Resolver', "When not disabled, the SchemaResolver will be looked up into the registry", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('rss', 'RSS', "Transform from ROME SyndFeed Java Objects to XML and vice-versa.", 'dataformat,transformation', [
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('soapjaxb', 'SOAP', "Marshal Java objects to SOAP messages and back.", 'dataformat,transformation,xml', [
+        new PropertyMeta('contextPath', 'Context Path', "Package name where your JAXB classes are located.", 'string', '', '', true, false, false, false),
+        new PropertyMeta('encoding', 'Encoding', "To overrule and use a specific encoding", 'string', '', '', false, false, false, false),
+        new PropertyMeta('elementNameStrategyRef', 'Element Name Strategy Ref', "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 qNa [...]
+        new PropertyMeta('version', 'Version', "SOAP version should either be 1.1 or 1.2. Is by default 1.1", 'string', '', '1.1', false, false, false, false),
+        new PropertyMeta('namespacePrefixRef', 'Namespace Prefix Ref', "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.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('schema', 'Schema', "To validate against an existing schema. Your can use the prefix classpath:, file: or http: to specify how the resource should by resolved. You can separate multiple schema files by using the ',' character.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('syslog', 'Syslog', "Marshall SyslogMessages to RFC3164 and RFC5424 messages and back.", 'dataformat,transformation,monitoring', [
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('tarfile', 'Tar File', "Archive files into tarballs or extract files from tarballs.", 'dataformat,transformation,file', [
+        new PropertyMeta('usingIterator', 'Using Iterator', "If the tar file has more then one entry, the setting this option to true, allows to work with the splitter EIP, to split the data using an iterator in a streaming mode.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('allowEmptyDirectory', 'Allow Empty Directory', "If the tar file has more then one entry, setting this option to true, allows to get the iterator even if the directory is empty", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('preservePathElements', 'Preserve Path Elements', "If the file name contains path elements, setting this option to true, allows the path to be maintained in the tar file.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('maxDecompressedSize', 'Max Decompressed Size', "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.", 'integer', '', '1073741824', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('thrift', 'Thrift', "Serialize and deserialize messages using Apache Thrift binary data format.", 'dataformat,transformation', [
+        new PropertyMeta('instanceClass', 'Instance Class', "Name of class to use when unmarshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('contentTypeFormat', 'Content Type Format', "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.", 'enum', 'binary, json, sjson', 'binary', false, false, false, false),
+        new PropertyMeta('contentTypeHeader', 'Content Type Header', "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", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('tidyMarkup', 'TidyMarkup', "Parse (potentially invalid) HTML into valid HTML or DOM.", 'dataformat,transformation', [
+        new PropertyMeta('dataObjectType', 'Data Object Type', "What data type to unmarshal as, can either be org.w3c.dom.Node or java.lang.String. Is by default org.w3c.dom.Node", 'string', '', 'org.w3c.dom.Node', false, false, false, false),
+        new PropertyMeta('omitXmlDeclaration', 'Omit Xml Declaration', "When returning a String, do we omit the XML declaration in the top.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('xmlrpc', 'XML RPC', "Marshal and unmarshal XML RPC protocol requests or responses.", 'dataformat,transformation,xml', [
+        new PropertyMeta('request', 'Request', "Whether to marshal/unmarshal request or response Is by default false", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('xstream', 'XStream', "Marshal and unmarshal POJOs to/from XML using XStream library.", 'dataformat,transformation,xml,json', [
+        new PropertyMeta('permissions', 'Permissions', "Adds permissions that controls which Java packages and classes XStream is allowed to use during unmarshal from xml/json to Java beans. A permission must be configured either here or globally using a JVM system property. The permission can be specified in a syntax where a plus sign is allow, and minus sign is deny. Wildcards is supported by using . as prefix. For example to allow com.foo and all subpackages then specify com.foo.. Mul [...]
+        new PropertyMeta('encoding', 'Encoding', "Sets the encoding to use", 'string', '', '', false, false, false, false),
+        new PropertyMeta('driver', 'Driver', "To use a custom XStream driver. The instance must be of type com.thoughtworks.xstream.io.HierarchicalStreamDriver", 'string', '', '', false, false, false, false),
+        new PropertyMeta('driverRef', 'Driver Ref', "To refer to a custom XStream driver to lookup in the registry. The instance must be of type com.thoughtworks.xstream.io.HierarchicalStreamDriver", 'string', '', '', false, false, false, false),
+        new PropertyMeta('mode', 'Mode', "Mode for dealing with duplicate references The possible values are: NO_REFERENCES ID_REFERENCES XPATH_RELATIVE_REFERENCES XPATH_ABSOLUTE_REFERENCES SINGLE_NODE_XPATH_RELATIVE_REFERENCES SINGLE_NODE_XPATH_ABSOLUTE_REFERENCES", 'string', '', '', false, false, false, false),
+        new PropertyMeta('contentTypeHeader', 'Content Type Header', "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", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('converters', 'Converters', "List of class names for using custom XStream converters. The classes must be of type com.thoughtworks.xstream.converters.Converter", 'array', '', '', false, false, true, false),
+        new PropertyMeta('aliases', 'Aliases', "Alias a Class to a shorter name to be used in XML elements.", 'array', '', '', false, false, true, false),
+        new PropertyMeta('omitFields', 'Omit Fields', "Prevents a field from being serialized. To omit a field you must always provide the declaring type and not necessarily the type that is converted. Multiple values can be separated by comma.", 'array', '', '', false, false, true, false),
+        new PropertyMeta('implicitCollections', 'Implicit Collections', "Adds a default implicit collection which is used for any unmapped XML tag. Multiple values can be separated by comma.", 'array', '', '', false, false, true, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('yaml', 'YAML', "Marshal and unmarshal Java objects to and from YAML.", 'dataformat,transformation,yaml', [
+        new PropertyMeta('library', 'Library', "Which yaml library to use. By default it is SnakeYAML", 'enum', 'snake-yaml', 'SnakeYAML', false, false, false, false),
+        new PropertyMeta('unmarshalType', 'Unmarshal Type', "Class name of the java type to use when unmarshalling", 'string', '', '', false, false, false, false),
+        new PropertyMeta('constructor', 'Constructor', "BaseConstructor to construct incoming documents.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('representer', 'Representer', "Representer to emit outgoing objects.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('dumperOptions', 'Dumper Options', "DumperOptions to configure outgoing objects.", 'string', '', '', false, false, false, false),
+        new PropertyMeta('resolver', 'Resolver', "Resolver to detect implicit type", 'string', '', '', false, false, false, false),
+        new PropertyMeta('useApplicationContextClassLoader', 'Use Application Context Class Loader', "Use ApplicationContextClassLoader as custom ClassLoader", 'boolean', '', 'true', false, false, false, false),
+        new PropertyMeta('prettyFlow', 'Pretty Flow', "Force the emitter to produce a pretty YAML document when using the flow style.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('allowAnyType', 'Allow Any Type', "Allow any class to be un-marshaled", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('typeFilter', 'Type Filter', "Set the types SnakeYAML is allowed to un-marshall", 'array', '', '', false, false, true, false),
+        new PropertyMeta('maxAliasesForCollections', 'Max Aliases For Collections', "Set the maximum amount of aliases allowed for collections.", 'integer', '', '50', false, false, false, false),
+        new PropertyMeta('allowRecursiveKeys', 'Allow Recursive Keys', "Set whether recursive keys are allowed.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+    new ElementMeta('zipfile', 'Zip File', "Compression and decompress streams using java.util.zip.ZipStream.", 'dataformat,transformation,file', [
+        new PropertyMeta('usingIterator', 'Using Iterator', "If the zip file has more then one entry, the setting this option to true, allows to work with the splitter EIP, to split the data using an iterator in a streaming mode.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('allowEmptyDirectory', 'Allow Empty Directory', "If the zip file has more then one entry, setting this option to true, allows to get the iterator even if the directory is empty", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('preservePathElements', 'Preserve Path Elements', "If the file name contains path elements, setting this option to true, allows the path to be maintained in the zip file.", 'boolean', '', 'false', false, false, false, false),
+        new PropertyMeta('maxDecompressedSize', 'Max Decompressed Size', "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.", 'integer', '', '1073741824', false, false, false, false),
+        new PropertyMeta('id', 'Id', "The id of this node", 'string', '', '', false, false, false, false),
+    ]),
+]
diff --git a/karavan-designer/src/designer/api/CamelUi.tsx b/karavan-designer/src/designer/api/CamelUi.tsx
index ea0f382..79c19de 100644
--- a/karavan-designer/src/designer/api/CamelUi.tsx
+++ b/karavan-designer/src/designer/api/CamelUi.tsx
@@ -18,12 +18,12 @@ import {KameletApi} from "./KameletApi";
 import {CamelElement} from "../model/CamelModel";
 import {KameletModel, Property} from "../model/KameletModels";
 import {DslMetaModel} from "../model/DslMetaModel";
-import {Metadata} from "./CamelMetadata";
 import {ComponentApi} from "./ComponentApi";
 import {ComponentProperty} from "../model/ComponentModels";
 import {CamelApiExt} from "./CamelApiExt";
 import {CamelApi} from "./CamelApi";
 import {Kamelet} from "../model/CamelModel";
+import {CamelModelMetadata} from "./CamelMetadata";
 
 const DslElements: string[] = [
     "aggregate",
@@ -98,7 +98,7 @@ export class CamelUi {
     ): DslMetaModel[] => {
         if (type === "dsl") {
             if (parentDslName === undefined || parentDslName.length === 0) {
-                return Metadata.filter((m) => m.name === "from").map(
+                return CamelModelMetadata.filter((m) => m.name === "from").map(
                     (m) =>
                         new DslMetaModel({
                             dsl: m.name,
@@ -107,7 +107,7 @@ export class CamelUi {
                         })
                 );
             } else if (parentDslName === "choice") {
-                return Metadata.filter((m) =>
+                return CamelModelMetadata.filter((m) =>
                     ["when", "otherwise"].includes(m.name)
                 ).map(
                     (m) =>
@@ -118,7 +118,7 @@ export class CamelUi {
                         })
                 );
             } else {
-                return Metadata.filter((m) => DslElements.includes(m.name))
+                return CamelModelMetadata.filter((m) => DslElements.includes(m.name))
                     .filter((m) => m.labels.includes(label))
                     .map(
                         (m) =>
diff --git a/karavan-designer/src/designer/karavan.css b/karavan-designer/src/designer/karavan.css
index 4d838ba..6740f4a 100644
--- a/karavan-designer/src/designer/karavan.css
+++ b/karavan-designer/src/designer/karavan.css
@@ -290,6 +290,7 @@
 }
 
 .karavan .dsl-page .properties .expression,
+.karavan .dsl-page .properties .dataformat,
 .karavan .dsl-page .properties .parameters {
     padding-top: 6px;
     padding-left: 16px;
diff --git a/karavan-designer/src/designer/model/CamelDataFormat.tsx b/karavan-designer/src/designer/model/CamelDataFormat.tsx
new file mode 100644
index 0000000..b6e17dd
--- /dev/null
+++ b/karavan-designer/src/designer/model/CamelDataFormat.tsx
@@ -0,0 +1,737 @@
+/**
+ * Generated by karavan build tools - do NOT edit this file!
+ */
+export class DataFormat {
+    id?: string = ''
+
+    constructor(id?: string) {
+        this.id = id;
+    }
+}
+export class ASN1DataFormat extends DataFormat{
+    id?: string; 
+    unmarshalType?: string; 
+    usingIterator?: boolean; 
+
+    public constructor(init?: Partial<ASN1DataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class Any23DataFormat extends DataFormat{
+    baseUri?: string; 
+    configuration?: []; 
+    extractors?: []; 
+    id?: string; 
+    outputFormat?: string; 
+
+    public constructor(init?: Partial<Any23DataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class AvroDataFormat extends DataFormat{
+    allowJmsType?: boolean; 
+    allowUnmarshallType?: boolean; 
+    autoDiscoverObjectMapper?: boolean; 
+    autoDiscoverSchemaResolver?: boolean; 
+    collectionType?: string; 
+    contentTypeHeader?: boolean; 
+    disableFeatures?: string; 
+    enableFeatures?: string; 
+    id?: string; 
+    include?: string; 
+    instanceClassName?: string; 
+    jsonView?: string; 
+    library?: 'ApacheAvro' | 'Jackson' | 'dataFormatName'; 
+    moduleClassNames?: string; 
+    moduleRefs?: string; 
+    objectMapper?: string; 
+    schemaResolver?: string; 
+    timezone?: string; 
+    unmarshalType?: string; 
+    useDefaultObjectMapper?: boolean; 
+    useList?: boolean; 
+
+    public constructor(init?: Partial<AvroDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class BarcodeDataFormat extends DataFormat{
+    barcodeFormat?: string; 
+    height?: number; 
+    id?: string; 
+    imageType?: string; 
+    width?: number; 
+
+    public constructor(init?: Partial<BarcodeDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class Base64DataFormat extends DataFormat{
+    id?: string; 
+    lineLength?: number; 
+    lineSeparator?: string; 
+    urlSafe?: boolean; 
+
+    public constructor(init?: Partial<Base64DataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class BeanioDataFormat extends DataFormat{
+    beanReaderErrorHandlerType?: string; 
+    encoding?: string; 
+    id?: string; 
+    ignoreInvalidRecords?: boolean; 
+    ignoreUnexpectedRecords?: boolean; 
+    ignoreUnidentifiedRecords?: boolean; 
+    mapping?: string; 
+    streamName?: string; 
+    unmarshalSingleObject?: boolean; 
+
+    public constructor(init?: Partial<BeanioDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class BindyDataFormat extends DataFormat{
+    allowEmptyStream?: boolean; 
+    classType?: string; 
+    id?: string; 
+    locale?: string; 
+    type?: string; 
+    unwrapSingleInstance?: boolean; 
+
+    public constructor(init?: Partial<BindyDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class CBORDataFormat extends DataFormat{
+    allowJmsType?: boolean; 
+    allowUnmarshallType?: boolean; 
+    collectionType?: string; 
+    disableFeatures?: string; 
+    enableFeatures?: string; 
+    id?: string; 
+    objectMapper?: string; 
+    prettyPrint?: boolean; 
+    unmarshalType?: string; 
+    useDefaultObjectMapper?: boolean; 
+    useList?: boolean; 
+
+    public constructor(init?: Partial<CBORDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class CryptoDataFormat extends DataFormat{
+    algorithm?: string; 
+    algorithmParameterRef?: string; 
+    buffersize?: number; 
+    cryptoProvider?: string; 
+    id?: string; 
+    initVectorRef?: string; 
+    inline?: boolean; 
+    keyRef?: string; 
+    macAlgorithm?: string; 
+    shouldAppendHmac?: boolean; 
+
+    public constructor(init?: Partial<CryptoDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class CsvDataFormat extends DataFormat{
+    allowMissingColumnNames?: boolean; 
+    captureHeaderRecord?: boolean; 
+    commentMarker?: string; 
+    commentMarkerDisabled?: boolean; 
+    delimiter?: string; 
+    escape?: string; 
+    escapeDisabled?: boolean; 
+    formatName?: string; 
+    formatRef?: string; 
+    header?: []; 
+    headerDisabled?: boolean; 
+    id?: string; 
+    ignoreEmptyLines?: boolean; 
+    ignoreHeaderCase?: boolean; 
+    ignoreSurroundingSpaces?: boolean; 
+    lazyLoad?: boolean; 
+    marshallerFactoryRef?: string; 
+    nullString?: string; 
+    nullStringDisabled?: boolean; 
+    quote?: string; 
+    quoteDisabled?: boolean; 
+    quoteMode?: string; 
+    recordConverterRef?: string; 
+    recordSeparator?: string; 
+    recordSeparatorDisabled?: string; 
+    skipHeaderRecord?: boolean; 
+    trailingDelimiter?: boolean; 
+    trim?: boolean; 
+    useMaps?: boolean; 
+    useOrderedMaps?: boolean; 
+
+    public constructor(init?: Partial<CsvDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class CustomDataFormat extends DataFormat{
+    id?: string; 
+    ref?: string; 
+
+    public constructor(init?: Partial<CustomDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class FhirJsonDataFormat extends DataFormat{
+    contentTypeHeader?: boolean; 
+    dontEncodeElements?: []; 
+    dontStripVersionsFromReferencesAtPaths?: []; 
+    encodeElements?: []; 
+    encodeElementsAppliesToChildResourcesOnly?: boolean; 
+    fhirVersion?: string; 
+    id?: string; 
+    omitResourceId?: boolean; 
+    overrideResourceIdWithBundleEntryFullUrl?: boolean; 
+    prettyPrint?: boolean; 
+    serverBaseUrl?: string; 
+    stripVersionsFromReferences?: boolean; 
+    summaryMode?: boolean; 
+    suppressNarratives?: boolean; 
+
+    public constructor(init?: Partial<FhirJsonDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class FhirXmlDataFormat extends DataFormat{
+    contentTypeHeader?: boolean; 
+    dontEncodeElements?: []; 
+    dontStripVersionsFromReferencesAtPaths?: []; 
+    encodeElements?: []; 
+    encodeElementsAppliesToChildResourcesOnly?: boolean; 
+    fhirVersion?: string; 
+    id?: string; 
+    omitResourceId?: boolean; 
+    overrideResourceIdWithBundleEntryFullUrl?: boolean; 
+    prettyPrint?: boolean; 
+    serverBaseUrl?: string; 
+    stripVersionsFromReferences?: boolean; 
+    summaryMode?: boolean; 
+    suppressNarratives?: boolean; 
+
+    public constructor(init?: Partial<FhirXmlDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class FlatpackDataFormat extends DataFormat{
+    allowShortLines?: boolean; 
+    definition?: string; 
+    delimiter?: string; 
+    fixed?: boolean; 
+    id?: string; 
+    ignoreExtraColumns?: boolean; 
+    ignoreFirstRecord?: boolean; 
+    parserFactoryRef?: string; 
+    textQualifier?: string; 
+
+    public constructor(init?: Partial<FlatpackDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class GrokDataFormat extends DataFormat{
+    allowMultipleMatchesPerLine?: boolean; 
+    flattened?: boolean; 
+    id?: string; 
+    namedOnly?: boolean; 
+    pattern?: string; 
+
+    public constructor(init?: Partial<GrokDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class GzipDataFormat extends DataFormat{
+    id?: string; 
+
+    public constructor(init?: Partial<GzipDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class HL7DataFormat extends DataFormat{
+    id?: string; 
+    validate?: boolean; 
+
+    public constructor(init?: Partial<HL7DataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class IcalDataFormat extends DataFormat{
+    id?: string; 
+    validating?: boolean; 
+
+    public constructor(init?: Partial<IcalDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class JacksonXMLDataFormat extends DataFormat{
+    allowJmsType?: boolean; 
+    allowUnmarshallType?: boolean; 
+    collectionType?: string; 
+    contentTypeHeader?: boolean; 
+    disableFeatures?: string; 
+    enableFeatures?: string; 
+    enableJaxbAnnotationModule?: boolean; 
+    id?: string; 
+    include?: string; 
+    jsonView?: string; 
+    moduleClassNames?: string; 
+    moduleRefs?: string; 
+    prettyPrint?: boolean; 
+    unmarshalType?: string; 
+    useList?: boolean; 
+    xmlMapper?: string; 
+
+    public constructor(init?: Partial<JacksonXMLDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class JaxbDataFormat extends DataFormat{
+    contentTypeHeader?: boolean; 
+    contextPath?: string; 
+    contextPathIsClassName?: boolean; 
+    encoding?: string; 
+    filterNonXmlChars?: boolean; 
+    fragment?: boolean; 
+    id?: string; 
+    ignoreJaxbElement?: boolean; 
+    jaxbProviderProperties?: string; 
+    mustBeJaxbElement?: boolean; 
+    namespacePrefixRef?: string; 
+    noNamespaceSchemaLocation?: string; 
+    objectFactory?: boolean; 
+    partClass?: string; 
+    partNamespace?: string; 
+    prettyPrint?: boolean; 
+    schema?: string; 
+    schemaLocation?: string; 
+    schemaSeverityLevel?: number; 
+    xmlStreamWriterWrapper?: string; 
+
+    public constructor(init?: Partial<JaxbDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class JsonApiDataFormat extends DataFormat{
+    id?: string; 
+    mainFormatType?: string; 
+
+    public constructor(init?: Partial<JsonApiDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class JsonDataFormat extends DataFormat{
+    allowJmsType?: boolean; 
+    allowUnmarshallType?: boolean; 
+    autoDiscoverObjectMapper?: boolean; 
+    autoDiscoverSchemaResolver?: boolean; 
+    collectionType?: string; 
+    contentTypeHeader?: boolean; 
+    disableFeatures?: string; 
+    dropRootNode?: boolean; 
+    enableFeatures?: string; 
+    id?: string; 
+    include?: string; 
+    jsonView?: string; 
+    library?: 'Fastjson' | 'Gson' | 'Jackson' | 'Johnzon' | 'Jsonb' | 'XStream'; 
+    moduleClassNames?: string; 
+    moduleRefs?: string; 
+    objectMapper?: string; 
+    permissions?: string; 
+    prettyPrint?: boolean; 
+    schemaResolver?: string; 
+    timezone?: string; 
+    unmarshalType?: string; 
+    useDefaultObjectMapper?: boolean; 
+    useList?: boolean; 
+
+    public constructor(init?: Partial<JsonDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class LZFDataFormat extends DataFormat{
+    id?: string; 
+    usingParallelCompression?: boolean; 
+
+    public constructor(init?: Partial<LZFDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class MimeMultipartDataFormat extends DataFormat{
+    binaryContent?: boolean; 
+    headersInline?: boolean; 
+    id?: string; 
+    includeHeaders?: string; 
+    multipartSubType?: string; 
+    multipartWithoutAttachment?: boolean; 
+
+    public constructor(init?: Partial<MimeMultipartDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class PGPDataFormat extends DataFormat{
+    algorithm?: number; 
+    armored?: boolean; 
+    compressionAlgorithm?: number; 
+    hashAlgorithm?: number; 
+    id?: string; 
+    integrity?: boolean; 
+    keyFileName?: string; 
+    keyUserid?: string; 
+    password?: string; 
+    provider?: string; 
+    signatureKeyFileName?: string; 
+    signatureKeyRing?: string; 
+    signatureKeyUserid?: string; 
+    signaturePassword?: string; 
+    signatureVerificationOption?: string; 
+
+    public constructor(init?: Partial<PGPDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class ProtobufDataFormat extends DataFormat{
+    allowJmsType?: boolean; 
+    allowUnmarshallType?: boolean; 
+    autoDiscoverObjectMapper?: boolean; 
+    autoDiscoverSchemaResolver?: boolean; 
+    collectionType?: string; 
+    contentTypeFormat?: string; 
+    contentTypeHeader?: boolean; 
+    disableFeatures?: string; 
+    enableFeatures?: string; 
+    id?: string; 
+    include?: string; 
+    instanceClass?: string; 
+    jsonView?: string; 
+    library?: 'GoogleProtobuf' | 'Jackson' | 'dataFormatName'; 
+    moduleClassNames?: string; 
+    moduleRefs?: string; 
+    objectMapper?: string; 
+    schemaResolver?: string; 
+    timezone?: string; 
+    unmarshalType?: string; 
+    useDefaultObjectMapper?: boolean; 
+    useList?: boolean; 
+
+    public constructor(init?: Partial<ProtobufDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class RssDataFormat extends DataFormat{
+    id?: string; 
+
+    public constructor(init?: Partial<RssDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class SoapJaxbDataFormat extends DataFormat{
+    contextPath?: string; 
+    elementNameStrategyRef?: string; 
+    encoding?: string; 
+    id?: string; 
+    namespacePrefixRef?: string; 
+    schema?: string; 
+    version?: string; 
+
+    public constructor(init?: Partial<SoapJaxbDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class SyslogDataFormat extends DataFormat{
+    id?: string; 
+
+    public constructor(init?: Partial<SyslogDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class TarFileDataFormat extends DataFormat{
+    allowEmptyDirectory?: boolean; 
+    id?: string; 
+    maxDecompressedSize?: number; 
+    preservePathElements?: boolean; 
+    usingIterator?: boolean; 
+
+    public constructor(init?: Partial<TarFileDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class ThriftDataFormat extends DataFormat{
+    contentTypeFormat?: string; 
+    contentTypeHeader?: boolean; 
+    id?: string; 
+    instanceClass?: string; 
+
+    public constructor(init?: Partial<ThriftDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class TidyMarkupDataFormat extends DataFormat{
+    dataObjectType?: string; 
+    id?: string; 
+    omitXmlDeclaration?: boolean; 
+
+    public constructor(init?: Partial<TidyMarkupDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class UniVocityCsvDataFormat extends DataFormat{
+    asMap?: boolean; 
+    comment?: string; 
+    delimiter?: string; 
+    emptyValue?: string; 
+    headerExtractionEnabled?: boolean; 
+    headersDisabled?: boolean; 
+    id?: string; 
+    ignoreLeadingWhitespaces?: boolean; 
+    ignoreTrailingWhitespaces?: boolean; 
+    lazyLoad?: boolean; 
+    lineSeparator?: string; 
+    normalizedLineSeparator?: string; 
+    nullValue?: string; 
+    numberOfRecordsToRead?: number; 
+    quote?: string; 
+    quoteAllFields?: boolean; 
+    quoteEscape?: string; 
+    skipEmptyLines?: boolean; 
+    univocityHeader?: []; 
+
+    public constructor(init?: Partial<UniVocityCsvDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class UniVocityFixedWidthDataFormat extends DataFormat{
+    asMap?: boolean; 
+    comment?: string; 
+    emptyValue?: string; 
+    headerExtractionEnabled?: boolean; 
+    headersDisabled?: boolean; 
+    id?: string; 
+    ignoreLeadingWhitespaces?: boolean; 
+    ignoreTrailingWhitespaces?: boolean; 
+    lazyLoad?: boolean; 
+    lineSeparator?: string; 
+    normalizedLineSeparator?: string; 
+    nullValue?: string; 
+    numberOfRecordsToRead?: number; 
+    padding?: string; 
+    recordEndsOnNewline?: boolean; 
+    skipEmptyLines?: boolean; 
+    skipTrailingCharsUntilNewline?: boolean; 
+    univocityHeader?: []; 
+
+    public constructor(init?: Partial<UniVocityFixedWidthDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class UniVocityHeader extends DataFormat{
+    length?: string; 
+    name?: string; 
+
+    public constructor(init?: Partial<UniVocityHeader>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class UniVocityTsvDataFormat extends DataFormat{
+    asMap?: boolean; 
+    comment?: string; 
+    emptyValue?: string; 
+    escapeChar?: string; 
+    headerExtractionEnabled?: boolean; 
+    headersDisabled?: boolean; 
+    id?: string; 
+    ignoreLeadingWhitespaces?: boolean; 
+    ignoreTrailingWhitespaces?: boolean; 
+    lazyLoad?: boolean; 
+    lineSeparator?: string; 
+    normalizedLineSeparator?: string; 
+    nullValue?: string; 
+    numberOfRecordsToRead?: number; 
+    skipEmptyLines?: boolean; 
+    univocityHeader?: []; 
+
+    public constructor(init?: Partial<UniVocityTsvDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class XMLSecurityDataFormat extends DataFormat{
+    addKeyValueForEncryptedKey?: boolean; 
+    digestAlgorithm?: string; 
+    id?: string; 
+    keyCipherAlgorithm?: string; 
+    keyOrTrustStoreParametersRef?: string; 
+    keyPassword?: string; 
+    mgfAlgorithm?: string; 
+    passPhrase?: string; 
+    passPhraseByte?: string; 
+    recipientKeyAlias?: string; 
+    secureTag?: string; 
+    secureTagContents?: boolean; 
+    xmlCipherAlgorithm?: string; 
+
+    public constructor(init?: Partial<XMLSecurityDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class XStreamDataFormat extends DataFormat{
+    aliases?: []; 
+    contentTypeHeader?: boolean; 
+    converters?: []; 
+    driver?: string; 
+    driverRef?: string; 
+    encoding?: string; 
+    id?: string; 
+    implicitCollections?: []; 
+    mode?: string; 
+    omitFields?: []; 
+    permissions?: string; 
+
+    public constructor(init?: Partial<XStreamDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class XmlRpcDataFormat extends DataFormat{
+    id?: string; 
+    request?: boolean; 
+
+    public constructor(init?: Partial<XmlRpcDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class YAMLDataFormat extends DataFormat{
+    allowAnyType?: boolean; 
+    allowRecursiveKeys?: boolean; 
+    _constructor?: string; 
+    dumperOptions?: string; 
+    id?: string; 
+    library?: 'SnakeYAML'; 
+    maxAliasesForCollections?: number; 
+    prettyFlow?: boolean; 
+    representer?: string; 
+    resolver?: string; 
+    typeFilter?: []; 
+    unmarshalType?: string; 
+    useApplicationContextClassLoader?: boolean; 
+
+    public constructor(init?: Partial<YAMLDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class YAMLTypeFilterDefinition extends DataFormat{
+    type?: string; 
+    value?: string; 
+
+    public constructor(init?: Partial<YAMLTypeFilterDefinition>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class ZipDeflaterDataFormat extends DataFormat{
+    compressionLevel?: number; 
+    id?: string; 
+
+    public constructor(init?: Partial<ZipDeflaterDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
+export class ZipFileDataFormat extends DataFormat{
+    allowEmptyDirectory?: boolean; 
+    id?: string; 
+    maxDecompressedSize?: number; 
+    preservePathElements?: boolean; 
+    usingIterator?: boolean; 
+
+    public constructor(init?: Partial<ZipFileDataFormat>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
+
diff --git a/karavan-designer/src/designer/model/CamelModel.tsx b/karavan-designer/src/designer/model/CamelModel.tsx
index 2c05644..103e693 100644
--- a/karavan-designer/src/designer/model/CamelModel.tsx
+++ b/karavan-designer/src/designer/model/CamelModel.tsx
@@ -1,8 +1,9 @@
 /**
  * Generated by karavan build tools - do NOT edit this file!
  */
-import {v4 as uuidv4} from 'uuid'
+import {v4 as uuidv4} from 'uuid';
 import {CamelApi} from "../api/CamelApi";
+import * as dataFormat from '../model/CamelDataFormat';
 
 export class Metadata {
     name: string = '';
@@ -69,7 +70,6 @@ export class ProcessorStepMeta {
 }
 
 export class Policy extends CamelElement { 
-    inheritErrorHandler?: boolean
     ref?: string
     steps?: ProcessorStep [] = []
 
@@ -89,7 +89,6 @@ export class PolicyStep extends ProcessorStep {
 
 export class ThrowException extends CamelElement { 
     exceptionType?: string
-    inheritErrorHandler?: boolean
     message?: string
     ref?: string
 
@@ -108,7 +107,6 @@ export class ThrowExceptionStep extends ProcessorStep {
 }
 
 export class Choice extends CamelElement { 
-    inheritErrorHandler?: boolean
     otherwise?: Otherwise
     when?: When [] = []
 
@@ -131,7 +129,6 @@ export class PollEnrich extends CamelElement {
     cacheSize?: number
     expression?: Expression
     ignoreInvalidEndpoint?: number
-    inheritErrorHandler?: boolean
     strategyMethodAllowNull?: boolean
     strategyMethodName?: string
     strategyRef?: string
@@ -153,7 +150,6 @@ export class PollEnrichStep extends ProcessorStep {
 
 export class SetBody extends CamelElement { 
     expression?: Expression
-    inheritErrorHandler?: boolean
 
     public constructor(init?: Partial<SetBody>) { 
         super('setBody')
@@ -170,7 +166,6 @@ export class SetBodyStep extends ProcessorStep {
 }
 
 export class Stop extends CamelElement { 
-    inheritErrorHandler?: boolean
 
     public constructor(init?: Partial<Stop>) { 
         super('stop')
@@ -191,7 +186,6 @@ export class ToD extends CamelElement {
     autoStartComponents?: boolean
     cacheSize?: number
     ignoreInvalidEndpoint?: boolean
-    inheritErrorHandler?: boolean
     parameters?: any
     pattern?: string
     uri?: string
@@ -211,7 +205,6 @@ export class ToDStep extends ProcessorStep {
 }
 
 export class Process extends CamelElement { 
-    inheritErrorHandler?: boolean
     ref?: string
 
     public constructor(init?: Partial<Process>) { 
@@ -230,7 +223,6 @@ export class ProcessStep extends ProcessorStep {
 
 export class RemoveHeaders extends CamelElement { 
     excludePattern?: string
-    inheritErrorHandler?: boolean
     pattern?: string
 
     public constructor(init?: Partial<RemoveHeaders>) { 
@@ -252,7 +244,6 @@ export class Delay extends CamelElement {
     callerRunsWhenRejected?: boolean
     executorServiceRef?: string
     expression?: Expression
-    inheritErrorHandler?: boolean
 
     public constructor(init?: Partial<Delay>) { 
         super('delay')
@@ -274,7 +265,6 @@ export class Throttle extends CamelElement {
     correlationExpression?: Expression
     executorServiceRef?: string
     expression?: Expression
-    inheritErrorHandler?: boolean
     rejectExecution?: boolean
     timePeriodMillis?: string
 
@@ -293,7 +283,6 @@ export class ThrottleStep extends ProcessorStep {
 }
 
 export class Otherwise extends CamelElement { 
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<Otherwise>) { 
@@ -302,7 +291,6 @@ export class Otherwise extends CamelElement {
     }
 }
 export class RemoveProperty extends CamelElement { 
-    inheritErrorHandler?: boolean
     propertyName?: string
 
     public constructor(init?: Partial<RemoveProperty>) { 
@@ -321,7 +309,6 @@ export class RemovePropertyStep extends ProcessorStep {
 
 export class Validate extends CamelElement { 
     expression?: Expression
-    inheritErrorHandler?: boolean
 
     public constructor(init?: Partial<Validate>) { 
         super('validate')
@@ -340,7 +327,6 @@ export class ValidateStep extends ProcessorStep {
 export class Sort extends CamelElement { 
     comparatorRef?: string
     expression?: Expression
-    inheritErrorHandler?: boolean
 
     public constructor(init?: Partial<Sort>) { 
         super('sort')
@@ -376,7 +362,6 @@ export class FromStep extends ProcessorStep {
 }
 
 export class To extends CamelElement { 
-    inheritErrorHandler?: boolean
     parameters?: any
     pattern?: string
     uri?: string
@@ -397,7 +382,6 @@ export class ToStep extends ProcessorStep {
 
 export class SetHeader extends CamelElement { 
     expression?: Expression
-    inheritErrorHandler?: boolean
     name?: string
 
     public constructor(init?: Partial<SetHeader>) { 
@@ -416,7 +400,6 @@ export class SetHeaderStep extends ProcessorStep {
 
 export class OnCompletion extends CamelElement { 
     executorServiceRef?: string
-    inheritErrorHandler?: boolean
     mode?: string
     onCompleteOnly?: boolean
     onFailureOnly?: boolean
@@ -441,7 +424,6 @@ export class OnCompletionStep extends ProcessorStep {
 
 export class RemoveHeader extends CamelElement { 
     headerName?: string
-    inheritErrorHandler?: boolean
     name?: string
 
     public constructor(init?: Partial<RemoveHeader>) { 
@@ -460,7 +442,6 @@ export class RemoveHeaderStep extends ProcessorStep {
 
 export class Script extends CamelElement { 
     expression?: Expression
-    inheritErrorHandler?: boolean
 
     public constructor(init?: Partial<Script>) { 
         super('script')
@@ -482,7 +463,6 @@ export class Enrich extends CamelElement {
     cacheSize?: number
     expression?: Expression
     ignoreInvalidEndpoint?: boolean
-    inheritErrorHandler?: boolean
     shareUnitOfWork?: boolean
     strategyMethodAllowNull?: string
     strategyMethodName?: string
@@ -503,7 +483,6 @@ export class EnrichStep extends ProcessorStep {
 }
 
 export class Log extends CamelElement { 
-    inheritErrorHandler?: boolean
     logName?: string
     loggerRef?: string
     loggingLevel?: string
@@ -529,7 +508,6 @@ export class Tod extends CamelElement {
     autoStartComponents?: boolean
     cacheSize?: number
     ignoreInvalidEndpoint?: boolean
-    inheritErrorHandler?: boolean
     parameters?: any
     pattern?: string
     uri?: string
@@ -550,7 +528,6 @@ export class TodStep extends ProcessorStep {
 
 export class RemoveProperties extends CamelElement { 
     excludePattern?: string
-    inheritErrorHandler?: boolean
     pattern?: string
 
     public constructor(init?: Partial<RemoveProperties>) { 
@@ -568,16 +545,47 @@ export class RemovePropertiesStep extends ProcessorStep {
 }
 
 export class Marshal extends CamelElement { 
-    any23?: string
-    asn1?: string
-    avro?: string
-    csv?: string
-    custom?: string
-    inheritErrorHandler?: boolean
-    protobuf?: string
-    soapjaxb?: string
-    thrift?: string
-    xstream?: string
+    any23?: dataFormat.Any23DataFormat
+    asn1?: dataFormat.ASN1DataFormat
+    avro?: dataFormat.AvroDataFormat
+    barcode?: dataFormat.BarcodeDataFormat
+    base64?: dataFormat.Base64DataFormat
+    beanio?: dataFormat.BeanioDataFormat
+    bindy?: dataFormat.BindyDataFormat
+    cbor?: dataFormat.CBORDataFormat
+    crypto?: dataFormat.CryptoDataFormat
+    csv?: dataFormat.CsvDataFormat
+    custom?: dataFormat.CustomDataFormat
+    fhirJson?: dataFormat.FhirJsonDataFormat
+    fhirXml?: dataFormat.FhirXmlDataFormat
+    flatpack?: dataFormat.FlatpackDataFormat
+    grok?: dataFormat.GrokDataFormat
+    gzip?: dataFormat.GzipDataFormat
+    hl7?: dataFormat.HL7DataFormat
+    ical?: dataFormat.IcalDataFormat
+    jacksonxml?: dataFormat.JacksonXMLDataFormat
+    jaxb?: dataFormat.JaxbDataFormat
+    json?: dataFormat.JsonDataFormat
+    jsonApi?: dataFormat.JsonApiDataFormat
+    lzf?: dataFormat.LZFDataFormat
+    mimeMultipart?: dataFormat.MimeMultipartDataFormat
+    pgp?: dataFormat.PGPDataFormat
+    protobuf?: dataFormat.ProtobufDataFormat
+    rss?: dataFormat.RssDataFormat
+    secureXml?: dataFormat.XMLSecurityDataFormat
+    soapjaxb?: dataFormat.SoapJaxbDataFormat
+    syslog?: dataFormat.SyslogDataFormat
+    tarfile?: dataFormat.TarFileDataFormat
+    thrift?: dataFormat.ThriftDataFormat
+    tidyMarkup?: dataFormat.TidyMarkupDataFormat
+    univocityCsv?: dataFormat.UniVocityCsvDataFormat
+    univocityFixed?: dataFormat.UniVocityFixedWidthDataFormat
+    univocityTsv?: dataFormat.UniVocityTsvDataFormat
+    xmlrpc?: dataFormat.XmlRpcDataFormat
+    xstream?: dataFormat.XStreamDataFormat
+    yaml?: dataFormat.YAMLDataFormat
+    zip?: dataFormat.ZipDeflaterDataFormat
+    zipfile?: dataFormat.ZipFileDataFormat
 
     public constructor(init?: Partial<Marshal>) { 
         super('marshal')
@@ -597,7 +605,6 @@ export class Split extends CamelElement {
     delimiter?: string
     executorServiceRef?: string
     expression?: Expression
-    inheritErrorHandler?: boolean
     onPrepareRef?: string
     parallelAggregate?: boolean
     parallelProcessing?: boolean
@@ -626,7 +633,6 @@ export class SplitStep extends ProcessorStep {
 }
 
 export class Transacted extends CamelElement { 
-    inheritErrorHandler?: boolean
     ref?: string
     steps?: ProcessorStep [] = []
 
@@ -645,7 +651,6 @@ export class TransactedStep extends ProcessorStep {
 }
 
 export class InterceptFrom extends CamelElement { 
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
     uri?: string
 
@@ -665,7 +670,6 @@ export class InterceptFromStep extends ProcessorStep {
 
 export class DoCatch extends CamelElement { 
     exception?: string [] = []
-    inheritErrorHandler?: boolean
     onWhen?: When
     steps?: ProcessorStep [] = []
 
@@ -685,7 +689,6 @@ export class DoCatchStep extends ProcessorStep {
 
 export class CircuitBreaker extends CamelElement { 
     configurationRef?: string
-    inheritErrorHandler?: boolean
     onFallback?: OnFallback
     steps?: ProcessorStep [] = []
 
@@ -705,7 +708,6 @@ export class CircuitBreakerStep extends ProcessorStep {
 
 export class ConvertBodyTo extends CamelElement { 
     charset?: string
-    inheritErrorHandler?: boolean
     mandatory?: boolean
     type?: string
 
@@ -724,7 +726,6 @@ export class ConvertBodyToStep extends ProcessorStep {
 }
 
 export class Intercept extends CamelElement { 
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<Intercept>) { 
@@ -742,16 +743,47 @@ export class InterceptStep extends ProcessorStep {
 }
 
 export class Unmarshal extends CamelElement { 
-    any23?: string
-    asn1?: string
-    avro?: string
-    csv?: string
-    custom?: string
-    inheritErrorHandler?: boolean
-    protobuf?: string
-    soapjaxb?: string
-    thrift?: string
-    xstream?: string
+    any23?: dataFormat.Any23DataFormat
+    asn1?: dataFormat.ASN1DataFormat
+    avro?: dataFormat.AvroDataFormat
+    barcode?: dataFormat.BarcodeDataFormat
+    base64?: dataFormat.Base64DataFormat
+    beanio?: dataFormat.BeanioDataFormat
+    bindy?: dataFormat.BindyDataFormat
+    cbor?: dataFormat.CBORDataFormat
+    crypto?: dataFormat.CryptoDataFormat
+    csv?: dataFormat.CsvDataFormat
+    custom?: dataFormat.CustomDataFormat
+    fhirJson?: dataFormat.FhirJsonDataFormat
+    fhirXml?: dataFormat.FhirXmlDataFormat
+    flatpack?: dataFormat.FlatpackDataFormat
+    grok?: dataFormat.GrokDataFormat
+    gzip?: dataFormat.GzipDataFormat
+    hl7?: dataFormat.HL7DataFormat
+    ical?: dataFormat.IcalDataFormat
+    jacksonxml?: dataFormat.JacksonXMLDataFormat
+    jaxb?: dataFormat.JaxbDataFormat
+    json?: dataFormat.JsonDataFormat
+    jsonApi?: dataFormat.JsonApiDataFormat
+    lzf?: dataFormat.LZFDataFormat
+    mimeMultipart?: dataFormat.MimeMultipartDataFormat
+    pgp?: dataFormat.PGPDataFormat
+    protobuf?: dataFormat.ProtobufDataFormat
+    rss?: dataFormat.RssDataFormat
+    secureXml?: dataFormat.XMLSecurityDataFormat
+    soapjaxb?: dataFormat.SoapJaxbDataFormat
+    syslog?: dataFormat.SyslogDataFormat
+    tarfile?: dataFormat.TarFileDataFormat
+    thrift?: dataFormat.ThriftDataFormat
+    tidyMarkup?: dataFormat.TidyMarkupDataFormat
+    univocityCsv?: dataFormat.UniVocityCsvDataFormat
+    univocityFixed?: dataFormat.UniVocityFixedWidthDataFormat
+    univocityTsv?: dataFormat.UniVocityTsvDataFormat
+    xmlrpc?: dataFormat.XmlRpcDataFormat
+    xstream?: dataFormat.XStreamDataFormat
+    yaml?: dataFormat.YAMLDataFormat
+    zip?: dataFormat.ZipDeflaterDataFormat
+    zipfile?: dataFormat.ZipFileDataFormat
 
     public constructor(init?: Partial<Unmarshal>) { 
         super('unmarshal')
@@ -769,7 +801,6 @@ export class UnmarshalStep extends ProcessorStep {
 
 export class OnFallback extends CamelElement { 
     fallbackViaNetwork?: boolean
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<OnFallback>) { 
@@ -787,7 +818,6 @@ export class OnFallbackStep extends ProcessorStep {
 }
 
 export class SetExchangePattern extends CamelElement { 
-    inheritErrorHandler?: boolean
     pattern?: string
 
     public constructor(init?: Partial<SetExchangePattern>) { 
@@ -810,7 +840,6 @@ export class RecipientList extends CamelElement {
     executorServiceRef?: string
     expression?: Expression
     ignoreInvalidEndpoints?: boolean
-    inheritErrorHandler?: boolean
     onPrepareRef?: string
     parallelAggregate?: boolean
     parallelProcessing?: boolean
@@ -840,7 +869,6 @@ export class RecipientListStep extends ProcessorStep {
 export class Bean extends CamelElement { 
     beanType?: string
     cache?: boolean
-    inheritErrorHandler?: boolean
     method?: string
     ref?: string
     scope?: string
@@ -861,7 +889,6 @@ export class BeanStep extends ProcessorStep {
 
 export class Multicast extends CamelElement { 
     executorServiceRef?: string
-    inheritErrorHandler?: boolean
     onPrepareRef?: string
     parallelAggregate?: boolean
     parallelProcessing?: boolean
@@ -890,7 +917,6 @@ export class MulticastStep extends ProcessorStep {
 }
 
 export class InOnly extends CamelElement { 
-    inheritErrorHandler?: boolean
     parameters?: any
     uri?: string
 
@@ -931,7 +957,6 @@ export class RoutingSlip extends CamelElement {
     cacheSize?: number
     expression?: Expression
     ignoreInvalidEndpoints?: boolean
-    inheritErrorHandler?: boolean
     uriDelimiter?: string
 
     public constructor(init?: Partial<RoutingSlip>) { 
@@ -949,7 +974,6 @@ export class RoutingSlipStep extends ProcessorStep {
 }
 
 export class Rollback extends CamelElement { 
-    inheritErrorHandler?: boolean
     markRollbackOnly?: boolean
     markRollbackOnlyLast?: boolean
     message?: string
@@ -970,7 +994,6 @@ export class RollbackStep extends ProcessorStep {
 
 export class WhenSkipSendToEndpoint extends CamelElement { 
     expression?: Expression
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<WhenSkipSendToEndpoint>) { 
@@ -996,7 +1019,6 @@ export class WireTap extends CamelElement {
     dynamicUri?: boolean
     executorServiceRef?: string
     ignoreInvalidEndpoint?: boolean
-    inheritErrorHandler?: boolean
     onPrepareRef?: string
     parameters?: any
     pattern?: string
@@ -1023,7 +1045,6 @@ export class Loop extends CamelElement {
     copy?: boolean
     doWhile?: boolean
     expression?: Expression
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<Loop>) { 
@@ -1042,7 +1063,6 @@ export class LoopStep extends ProcessorStep {
 
 export class InterceptSendToEndpoint extends CamelElement { 
     afterUri?: string
-    inheritErrorHandler?: boolean
     skipSendToOriginalEndpoint?: string
     steps?: ProcessorStep [] = []
     uri?: string
@@ -1064,7 +1084,6 @@ export class InterceptSendToEndpointStep extends ProcessorStep {
 export class DoTry extends CamelElement { 
     doCatch?: DoCatchStep [] = []
     doFinally?: DoFinally
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<DoTry>) { 
@@ -1083,7 +1102,6 @@ export class DoTryStep extends ProcessorStep {
 
 export class Resequence extends CamelElement { 
     expression?: Expression
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<Resequence>) { 
@@ -1141,7 +1159,6 @@ export class ServiceCall extends CamelElement {
     component?: string
     configurationRef?: string
     expressionRef?: string
-    inheritErrorHandler?: boolean
     loadBalancerRef?: string
     name?: string
     pattern?: string
@@ -1165,7 +1182,6 @@ export class ServiceCallStep extends ProcessorStep {
 }
 
 export class Kamelet extends CamelElement { 
-    inheritErrorHandler?: boolean
     name?: string
     parameters?: any
 
@@ -1184,7 +1200,6 @@ export class KameletStep extends ProcessorStep {
 }
 
 export class Sample extends CamelElement { 
-    inheritErrorHandler?: boolean
     messageFrequency?: number
     samplePeriod?: string
     units?: string
@@ -1207,7 +1222,6 @@ export class DynamicRouter extends CamelElement {
     cacheSize?: number
     expression?: Expression
     ignoreInvalidEndpoints?: boolean
-    inheritErrorHandler?: boolean
     uriDelimiter?: string
 
     public constructor(init?: Partial<DynamicRouter>) { 
@@ -1225,7 +1239,6 @@ export class DynamicRouterStep extends ProcessorStep {
 }
 
 export class Pipeline extends CamelElement { 
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<Pipeline>) { 
@@ -1246,7 +1259,6 @@ export class Saga extends CamelElement {
     compensation?: string
     completion?: string
     completionMode?: string
-    inheritErrorHandler?: boolean
     propagation?: string
     sagaServiceRef?: string
     steps?: ProcessorStep [] = []
@@ -1271,7 +1283,6 @@ export class Threads extends CamelElement {
     allowCoreThreadTimeOut?: boolean
     callerRunsWhenRejected?: string
     executorServiceRef?: string
-    inheritErrorHandler?: boolean
     keepAliveTime?: number
     maxPoolSize?: number
     maxQueueSize?: number
@@ -1296,7 +1307,6 @@ export class ThreadsStep extends ProcessorStep {
 
 export class When extends CamelElement { 
     expression?: Expression
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<When>) { 
@@ -1306,7 +1316,6 @@ export class When extends CamelElement {
 }
 export class ClaimCheck extends CamelElement { 
     filter?: string
-    inheritErrorHandler?: boolean
     key?: string
     operation?: string
     strategyMethodName?: string
@@ -1327,7 +1336,6 @@ export class ClaimCheckStep extends ProcessorStep {
 }
 
 export class DoFinally extends CamelElement { 
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<DoFinally>) { 
@@ -1346,7 +1354,6 @@ export class DoFinallyStep extends ProcessorStep {
 
 export class Filter extends CamelElement { 
     expression?: Expression
-    inheritErrorHandler?: boolean
     steps?: ProcessorStep [] = []
 
     public constructor(init?: Partial<Filter>) { 
@@ -1384,7 +1391,6 @@ export class Aggregate extends CamelElement {
     executorServiceRef?: string
     forceCompletionOnStop?: boolean
     ignoreInvalidCorrelationKeys?: boolean
-    inheritErrorHandler?: boolean
     optimisticLocking?: boolean
     parallelProcessing?: boolean
     steps?: ProcessorStep [] = []
@@ -1409,7 +1415,6 @@ export class AggregateStep extends ProcessorStep {
 
 export class Transform extends CamelElement { 
     expression?: Expression
-    inheritErrorHandler?: boolean
 
     public constructor(init?: Partial<Transform>) { 
         super('transform')
@@ -1429,7 +1434,6 @@ export class IdempotentConsumer extends CamelElement {
     completionEager?: string
     eager?: boolean
     expression?: Expression
-    inheritErrorHandler?: boolean
     messageIdRepositoryRef?: string
     removeOnFailure?: boolean
     skipDuplicate?: boolean
@@ -1451,7 +1455,6 @@ export class IdempotentConsumerStep extends ProcessorStep {
 
 export class SetProperty extends CamelElement { 
     expression?: Expression
-    inheritErrorHandler?: boolean
     name?: string
 
     public constructor(init?: Partial<SetProperty>) { 
@@ -1469,7 +1472,6 @@ export class SetPropertyStep extends ProcessorStep {
 }
 
 export class InOut extends CamelElement { 
-    inheritErrorHandler?: boolean
     parameters?: any
     uri?: string
 
diff --git a/karavan-designer/src/designer/ui/DslProperties.tsx b/karavan-designer/src/designer/ui/DslProperties.tsx
index 9407e70..80cd53d 100644
--- a/karavan-designer/src/designer/ui/DslProperties.tsx
+++ b/karavan-designer/src/designer/ui/DslProperties.tsx
@@ -29,7 +29,7 @@ import {
     SelectDirection,
     SelectOption,
     TextArea,
-    ExpandableSection, Tooltip,
+    ExpandableSection,
 } from '@patternfly/react-core';
 import '../karavan.css';
 import "@patternfly/patternfly/patternfly.css";
@@ -38,7 +38,7 @@ import {Property} from "../model/KameletModels";
 import {CamelElement, Expression, Integration} from "../model/CamelModel";
 import {CamelApi} from "../api/CamelApi";
 import {CamelApiExt} from "../api/CamelApiExt";
-import {CamelMetadataApi, Languages, PropertyMeta} from "../api/CamelMetadata";
+import {CamelMetadataApi, DataFormats, Languages, PropertyMeta} from "../api/CamelMetadata";
 import {CamelYaml} from "../api/CamelYaml";
 import {CamelUi} from "../api/CamelUi";
 import {ComponentApi} from "../api/ComponentApi";
@@ -161,7 +161,7 @@ export class DslProperties extends React.Component<Props, State> {
         const kamelet = this.state.element && CamelUi.getKamelet(this.state.element)
         const description = this.state.element && kamelet
             ? kamelet.spec.definition.description
-            : this.state.element?.dslName ? CamelMetadataApi.getElementMeta(this.state.element?.dslName)?.description : title;
+            : this.state.element?.dslName ? CamelMetadataApi.getCamelModelMetadata(this.state.element?.dslName)?.description : title;
         return (
             <div className="headers">
                 <Title headingLevel="h1" size="md">{title}</Title>
@@ -396,10 +396,11 @@ export class DslProperties extends React.Component<Props, State> {
                     {selectOptions}
                 </Select>
                 }
-                <div className="expression">
-                    {property.name === 'expression' && property.type === "Expression"
-                    && this.createExpressionProperty(property)}
-                </div>
+                {property.name === 'expression' && property.type === "Expression" &&
+                    <div className="expression">
+                        {this.createExpressionProperty(property)}
+                    </div>
+                }
                 <div className="parameters">
                     {property.name === 'parameters' && CamelUi.isKameletComponent(this.state.element)
                     && CamelUi.getKameletProperties(this.state.element).map(kp => this.createKameletProperty(kp))}
@@ -421,6 +422,11 @@ export class DslProperties extends React.Component<Props, State> {
         )
     }
 
+    setDataFormat = (dataFormat: string, props: any) => {
+        console.log(dataFormat);
+        console.log(props);
+    }
+
     render() {
         return (
             <div key={this.state.step ? this.state.step.uuid : 'integration'} className='properties'>
@@ -430,6 +436,6 @@ export class DslProperties extends React.Component<Props, State> {
                     {this.state.element && CamelApiExt.getElementProperties(this.state.element.dslName).map((property: PropertyMeta) => this.createEipDslProperty(property))}
                 </Form>
             </div>
-        );
+        )
     }
-};
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/karavan-designer/src/designer/ui/DslSelector.tsx b/karavan-designer/src/designer/ui/DslSelector.tsx
index 283099c..44880f3 100644
--- a/karavan-designer/src/designer/ui/DslSelector.tsx
+++ b/karavan-designer/src/designer/ui/DslSelector.tsx
@@ -68,7 +68,7 @@ export class DslSelector extends React.Component<Props, State> {
     }
 
     checkFilter = (dsl: DslMetaModel): boolean => {
-        if (this.state.filter != undefined){
+        if (this.state.filter !== undefined){
             return dsl.title.toLowerCase().includes(this.state.filter.toLowerCase())
                 || dsl.description.toLowerCase().includes(this.state.filter.toLowerCase());
         } else {
diff --git a/karavan-designer/src/designer/ui/KaravanDesigner.tsx b/karavan-designer/src/designer/ui/KaravanDesigner.tsx
index 2478829..2be7170 100644
--- a/karavan-designer/src/designer/ui/KaravanDesigner.tsx
+++ b/karavan-designer/src/designer/ui/KaravanDesigner.tsx
@@ -30,7 +30,6 @@ import {CamelYaml} from "../api/CamelYaml";
 import {CamelApiExt} from "../api/CamelApiExt";
 import {CamelApi} from "../api/CamelApi";
 import {DslConnections} from "./DslConnections";
-import {CamelUi} from "../api/CamelUi";
 import {EventBus} from "../api/EventBus";
 
 interface Props {
diff --git a/karavan-generator/pom.xml b/karavan-generator/pom.xml
index 356f216..b819d68 100644
--- a/karavan-generator/pom.xml
+++ b/karavan-generator/pom.xml
@@ -31,7 +31,7 @@
         <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
         <quarkus.platform.version>2.4.2.Final</quarkus.platform.version>
         <surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
-        <version.camel-quarkus>2.4.0</version.camel-quarkus>
+        <version.camel-core>3.13.0</version.camel-core>
         <version.camel-kamelet>0.5.0</version.camel-kamelet>
     </properties>
     <dependencyManagement>
@@ -55,9 +55,19 @@
             <artifactId>quarkus-vertx</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-catalog</artifactId>
-            <version>${version.camel-quarkus}</version>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-core-model</artifactId>
+            <version>${version.camel-core}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-catalog</artifactId>
+            <version>${version.camel-core}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-yaml-dsl</artifactId>
+            <version>${version.camel-core}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.kamelets</groupId>
diff --git a/karavan-generator/src/main/java/org/apache/camel/karavan/generator/AbstractGenerator.java b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/AbstractGenerator.java
new file mode 100644
index 0000000..5e883a6
--- /dev/null
+++ b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/AbstractGenerator.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.karavan.generator;
+
+import io.vertx.core.Vertx;
+import io.vertx.core.buffer.Buffer;
+import io.vertx.core.json.JsonArray;
+import io.vertx.core.json.JsonObject;
+import org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
+public class AbstractGenerator {
+
+    protected Vertx vertx = Vertx.vertx();
+
+    protected JsonObject getDefinitions(String source){
+        Buffer buffer = vertx.fileSystem().readFileBlocking(source);
+        return new JsonObject(buffer).getJsonObject("items").getJsonObject("definitions");
+    }
+
+    protected String getCamelYamlDSL() {
+        try {
+            InputStream inputStream = YamlRoutesBuilderLoader.class.getResourceAsStream("/camel-yaml-dsl.json");
+            String data = new BufferedReader(new InputStreamReader(inputStream))
+                    .lines().collect(Collectors.joining(System.getProperty("line.separator")));
+            return data;
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    protected String readFileText(String template){
+        Buffer templateBuffer = vertx.fileSystem().readFileBlocking(template);
+        return templateBuffer.toString();
+    }
+
+    protected void writeFileText(String filePath, String data){
+        vertx.fileSystem().writeFileBlocking(filePath, Buffer.buffer(data));
+    }
+
+    protected JsonObject getProperties(JsonObject definitions, String classname) {
+        JsonObject props = definitions.getJsonObject(classname).getJsonObject("properties");
+        JsonArray oneOf = definitions.getJsonObject(classname).getJsonArray("oneOf");
+        if (props != null) {
+            return props;
+        } else {
+            return oneOf.getJsonObject(1).getJsonObject("properties");
+        }
+    }
+
+    protected String camelize(String name, String separator) {
+        return Arrays.stream(name.split(separator)).map(s -> capitalize(s)).collect(Collectors.joining());
+    }
+
+    protected String capitalize(String str) {
+        return str.length() == 0 ? str
+                : str.length() == 1 ? str.toUpperCase()
+                : str.substring(0, 1).toUpperCase() + str.substring(1);
+    }
+
+    protected String deCapitalize(String str) {
+        return str.length() == 0 ? str
+                : str.length() == 1 ? str.toLowerCase()
+                : str.substring(0, 1).toLowerCase() + str.substring(1);
+    }
+
+}
diff --git a/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelComponentsGenerator.java b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelComponentsGenerator.java
index 39e5cc9..e728665 100644
--- a/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelComponentsGenerator.java
+++ b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelComponentsGenerator.java
@@ -18,7 +18,7 @@ package org.apache.camel.karavan.generator;
 
 import io.vertx.core.Vertx;
 import io.vertx.core.json.JsonObject;
-import org.apache.camel.catalog.CamelCatalog;
+import org.apache.camel.builder.RouteBuilder;
 import org.jboss.logging.Logger;
 
 import javax.inject.Inject;
@@ -75,7 +75,7 @@ public final class CamelComponentsGenerator {
 
     public List<String> getComponents() {
         try {
-            InputStream inputStream = CamelCatalog.class.getResourceAsStream("/org/apache/camel/catalog/components.properties");
+            InputStream inputStream = RouteBuilder.class.getResourceAsStream("/org/apache/camel/catalog/components.properties");
             List<String> data = new BufferedReader(new InputStreamReader(inputStream))
                     .lines().collect(Collectors.toList());
             return data;
@@ -87,7 +87,7 @@ public final class CamelComponentsGenerator {
 
     public String getComponent(String name) {
         try {
-            InputStream inputStream = CamelCatalog.class.getResourceAsStream("/org/apache/camel/catalog/components/" + name + ".json");
+            InputStream inputStream = RouteBuilder.class.getResourceAsStream("/org/apache/camel/catalog/components/" + name + ".json");
             String data = new BufferedReader(new InputStreamReader(inputStream))
                     .lines().collect(Collectors.joining(System.getProperty("line.separator")));
             return data;
diff --git a/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelDataFormatGenerator.java b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelDataFormatGenerator.java
new file mode 100644
index 0000000..4f2f60a
--- /dev/null
+++ b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelDataFormatGenerator.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.karavan.generator;
+
+import io.vertx.core.json.JsonArray;
+import io.vertx.core.json.JsonObject;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+public final class CamelDataFormatGenerator extends AbstractGenerator {
+
+    public static void main(String[] args) throws Exception {
+        CamelDataFormatGenerator.generate();
+        System.exit(0);
+    }
+
+    public static void generate() throws Exception {
+        CamelDataFormatGenerator g = new CamelDataFormatGenerator();
+        g.createModels(
+                "karavan-generator/src/main/resources/CamelDataFormat.tx",
+                "karavan-generator/src/main/resources/CamelDataFormat.template.tx",
+                "karavan-designer/src/designer/model/CamelDataFormat.tsx"
+        );
+    }
+
+    private void createModels(String headerPath, String templatePath, String targetModelPath) throws Exception {
+
+        String camelYamlDSL = getCamelYamlDSL();
+        JsonObject definitions = new JsonObject(camelYamlDSL).getJsonObject("items").getJsonObject("definitions");
+
+        List<String> dataFormats = definitions.stream()
+                .filter(e -> e.getKey().startsWith("org.apache.camel.model.dataformat"))
+                .filter(e -> !e.getKey().endsWith("DataFormatsDefinition"))
+                .map(e -> e.getKey())
+                .collect(Collectors.toList());
+
+        StringBuilder dataFormatModel = new StringBuilder();
+        dataFormatModel.append(readFileText(headerPath));
+
+        for (String name : dataFormats){
+            String className = name.replace("org.apache.camel.model.dataformat.", "");
+            String template = readFileText(templatePath);
+            JsonObject properties = getProperties(definitions, name);
+            String model = generateModel(className, template, properties);
+            dataFormatModel.append(model);
+        }
+
+        writeFileText(targetModelPath, dataFormatModel.toString());
+    }
+
+    private String generateModel(String name, String template, JsonObject properties){
+        StringBuilder props = new StringBuilder();
+        properties.forEach(e -> {
+            String propertyName = deCapitalize(camelize(e.getKey(), "-"));
+            if (Objects.equals(propertyName, "constructor")){
+                propertyName = "_" + propertyName;
+            }
+            String propertyType = new JsonObject(e.getValue().toString()).getString("type");
+            JsonArray enumValues = new JsonObject(e.getValue().toString()).getJsonArray("enum");
+            if (Objects.equals(propertyType, "array") ){
+                propertyType = "[]";
+            } else if (enumValues != null){
+                propertyType = enumValues.stream().map(v -> "'" + v.toString() + "'").collect(Collectors.joining(" | "));
+            }
+            props.append(String.format("    %s?: %s; \n", propertyName, propertyType));
+        });
+
+        StringBuilder model = new StringBuilder();
+        model.append(String.format(template, name, props)).append("\n");
+        return model.toString();
+    }
+
+}
diff --git a/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelModelGenerator.java b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelModelGenerator.java
index b68547d..efc3f7d 100644
--- a/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelModelGenerator.java
+++ b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/CamelModelGenerator.java
@@ -16,11 +16,11 @@
  */
 package org.apache.camel.karavan.generator;
 
-import io.vertx.core.Vertx;
 import io.vertx.core.buffer.Buffer;
-import io.vertx.core.json.JsonArray;
 import io.vertx.core.json.JsonObject;
+import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.catalog.CamelCatalog;
+import org.apache.camel.dsl.yaml.YamlRoutesBuilderLoader;
 
 import java.io.BufferedReader;
 import java.io.InputStream;
@@ -29,7 +29,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
-public final class CamelModelGenerator {
+public final class CamelModelGenerator extends AbstractGenerator {
 
     public static void main(String[] args) throws Exception {
         CamelModelGenerator.generate();
@@ -39,7 +39,6 @@ public final class CamelModelGenerator {
     public static void generate() throws Exception {
         CamelModelGenerator g = new CamelModelGenerator();
         g.createModels(
-                "karavan-generator/src/main/resources/camel-yaml-dsl.json",
                 "karavan-generator/src/main/resources/camel-model.template",
                 "karavan-generator/src/main/resources/camel-metadata.template",
                 "karavan-designer/src/designer/model/CamelModel.tsx",
@@ -48,15 +47,13 @@ public final class CamelModelGenerator {
         );
     }
 
-    private void createModels(String source, String template, String metadataTemplate, String targetModel, String targetApi, String targetMetadata) throws Exception {
-        Vertx vertx = Vertx.vertx();
+    private void createModels(String template, String metadataTemplate, String targetModel, String targetApi, String targetMetadata) throws Exception {
 
-        Buffer buffer = vertx.fileSystem().readFileBlocking(source);
-        JsonObject definitions = new JsonObject(buffer).getJsonObject("items").getJsonObject("definitions");
+        String camelYamlDSL = getCamelYamlDSL();
+        JsonObject definitions = new JsonObject(camelYamlDSL).getJsonObject("items").getJsonObject("definitions");
 
         Buffer templateBuffer = vertx.fileSystem().readFileBlocking(template);
 
-
         StringBuilder camelModel = new StringBuilder();
         camelModel.append(templateBuffer.toString());
 
@@ -75,7 +72,7 @@ public final class CamelModelGenerator {
         // fill processors name + class
         Map<String, String> processors = new HashMap();
         procList.getMap().entrySet().stream()
-                .filter(e -> !e.getKey().equals("step") )
+                .filter(e -> !e.getKey().equals("step"))
                 .collect(Collectors.toMap(
                         e -> e.getKey(),
                         e -> e.getValue()
@@ -86,7 +83,7 @@ public final class CamelModelGenerator {
                     processors.put(className, name);
                 });
         procList.getMap().entrySet().stream()
-                .filter(e -> !e.getKey().equals("step") )
+                .filter(e -> !e.getKey().equals("step"))
                 .forEach((s) -> {
                     String name = camelize(s.getKey(), "-");
                     String className = classNameFromRef(procList.getJsonObject(s.getKey()).getString("$ref"));
@@ -99,7 +96,7 @@ public final class CamelModelGenerator {
         models.forEach((name, elementProps) -> {
             String pcode = generateElementCode(name, elementProps);
             camelModel.append(pcode).append(System.lineSeparator());
-            if (!name.equalsIgnoreCase("otherwise") && !name.equalsIgnoreCase("when")){
+            if (!name.equalsIgnoreCase("otherwise") && !name.equalsIgnoreCase("when")) {
                 camelModel.append(generateStepCode(name)).append(System.lineSeparator());
             }
         });
@@ -123,12 +120,13 @@ public final class CamelModelGenerator {
             if (s.equalsIgnoreCase("otherwise")) {
                 camelApi.append("    Otherwise, \n");
             } else if (s.equalsIgnoreCase("when")) {
-                    camelApi.append("    When, \n");
+                camelApi.append("    When, \n");
             } else {
                 camelApi.append("    ").append(s).append("Step, \n");
             }
         });
         camelApi.append("} from '../model/CamelModel' \n\n");
+        camelApi.append("import * as dataFormat from '../model/CamelDataFormat'; \n\n");
 
         camelApi.append("export class CamelApi { \n\n");
 
@@ -175,7 +173,7 @@ public final class CamelModelGenerator {
         processors.values().forEach(s -> {
             if (s.equalsIgnoreCase("otherwise")) {
                 camelApi.append("            case 'otherwise': return (step as Otherwise)\n");
-            } else if (s.equalsIgnoreCase("when")){
+            } else if (s.equalsIgnoreCase("when")) {
                 camelApi.append("            case 'when': return (step as When)\n");
             } else {
                 camelApi.append("            case '").append(deCapitalize(s)).append("Step': return (step as ").append(capitalize(s)).append("Step).").append(deCapitalize(s)).append("\n");
@@ -191,17 +189,17 @@ public final class CamelModelGenerator {
                 "    static addStep = (steps: ProcessorStep[], step: ProcessorStep, parentId: string, position?: number): ProcessorStep[] => {\n" +
                         "        const result: ProcessorStep[] = [];\n" +
                         "        steps.forEach(el => {\n" +
-                        "            switch (el.dslName) {\n" );
+                        "            switch (el.dslName) {\n");
         models.entrySet().forEach(s -> {
             String name = deCapitalize(s.getKey());
             String stepClass = capitalize(s.getKey()).concat("Step");
             String stepField = deCapitalize(s.getKey()).concat("Step");
 
-            if (name.equals("choice")){
+            if (name.equals("choice")) {
                 camelApi.append(getTemplateFile("CamelApi.addStep.choiceStep.tx").concat("\n"));
-            } else if (name.equals("otherwise")){
+            } else if (name.equals("otherwise")) {
                 camelApi.append(getTemplateFile("CamelApi.addStep.otherwise.tx").concat("\n"));
-            } else if (name.equals("when")){
+            } else if (name.equals("when")) {
                 camelApi.append(getTemplateFile("CamelApi.addStep.when.tx").concat("\n"));
             } else if (s.getValue().stream().filter(e -> e.name.equals("steps")).count() > 0) {
                 camelApi.append(String.format(
@@ -228,16 +226,16 @@ public final class CamelModelGenerator {
                         "        if (steps !== undefined){\n" +
                         "            steps.forEach(step => {\n" +
                         "                if (step.uuid !== uuidToDelete){\n" +
-                        "                    switch (step.dslName){\n" );
+                        "                    switch (step.dslName){\n");
         models.entrySet().forEach(s -> {
             String name = deCapitalize(s.getKey());
             String stepClass = capitalize(s.getKey()).concat("Step");
             String stepField = deCapitalize(s.getKey()).concat("Step");
             if (name.equals("otherwise")) {
                 camelApi.append("                        case 'otherwise': (step as Otherwise).steps = CamelApi.deleteStep((step as Otherwise).steps, uuidToDelete); break;\n");
-            } else if (name.equals("when")){
+            } else if (name.equals("when")) {
                 camelApi.append("                        case 'when': (step as When).steps = CamelApi.deleteStep((step as When).steps, uuidToDelete); break;\n");
-            } else if (name.equals("choice")){
+            } else if (name.equals("choice")) {
                 camelApi.append("                        case 'choiceStep':\n" +
                         "                            const otherwise = (step as ChoiceStep).choice.otherwise;\n" +
                         "                            if (otherwise && otherwise.uuid === uuidToDelete) {\n" +
@@ -248,9 +246,9 @@ public final class CamelModelGenerator {
                         "                            }\n" +
                         "                            (step as ChoiceStep).choice.when = CamelApi.deleteWhen((step as ChoiceStep).choice.when, uuidToDelete);\n" +
                         "                            break;\n");
-            } else if (s.getValue().stream().filter(e -> e.name.equals("steps")).count() > 0){
+            } else if (s.getValue().stream().filter(e -> e.name.equals("steps")).count() > 0) {
                 camelApi.append(String.format("                        case '%s': (step as %s).%s.steps = CamelApi.deleteStep((step as %s).%s.steps, uuidToDelete); break;\n",
-                        stepField, stepClass, name, stepClass,name));
+                        stepField, stepClass, name, stepClass, name));
             }
         });
         camelApi.append(
@@ -271,11 +269,11 @@ public final class CamelModelGenerator {
             String stepClass = capitalize(s.getKey()).concat("Step");
             String stepField = deCapitalize(s.getKey()).concat("Step");
 
-            if (name.equals("choice")){
+            if (name.equals("choice")) {
                 camelApi.append(getTemplateFile("CamelApi.findStep.choiceStep.tx").concat("\n"));
-            } else if (name.equals("otherwise")){
+            } else if (name.equals("otherwise")) {
                 camelApi.append(getTemplateFile("CamelApi.findStep.otherwise.tx").concat("\n"));
-            } else if (name.equals("when")){
+            } else if (name.equals("when")) {
                 camelApi.append(getTemplateFile("CamelApi.findStep.when.tx").concat("\n"));
             } else if (s.getValue().stream().filter(e -> e.name.equals("steps")).count() > 0) {
                 camelApi.append(String.format(
@@ -302,58 +300,21 @@ public final class CamelModelGenerator {
         vertx.fileSystem().writeFileBlocking(targetApi, Buffer.buffer(camelApi.toString()));
 
 
-        // Generate Metadata
-        Buffer metadataBuffer = vertx.fileSystem().readFileBlocking(metadataTemplate);
-        StringBuilder metadata = new StringBuilder(metadataBuffer.toString());
-
-        metadata.append("export const Languages: [string, string, string][] = [\n");
-        models.get("expression").forEach(el -> {
-            String name = el.name;
-            String json = getMetaModel(name);
-            JsonObject model = new JsonObject(json).getJsonObject("model");
-            String title = model.getString("title");
-            String description = model.getString("description");
-            metadata.append(String.format("    ['%s','%s',\"%s\"],\n", name, title, description));
-        });
-        metadata.append("]\n");
-
+        // Generate Camel Models Metadata
+        StringBuilder metadata = new StringBuilder(readFileText(metadataTemplate));
+        metadata.append(generateCamelModelMetadata(models));
 
-        metadata.append("export const Metadata: ElementMeta[] = [\n");
-        models.keySet().forEach(s -> {
-            String name = deCapitalize(s);
-            String json = getMetaModel(name);
-            if (json != null) {
-                JsonObject model = new JsonObject(json).getJsonObject("model");
-                JsonObject props = new JsonObject(json).getJsonObject("properties");
-                String title = model.getString("title");
-                String description = model.getString("description");
-                String label = model.getString("label");
-                metadata.append(String.format("    new ElementMeta('%s', '%s', '%s', '%s', [\n", name, title, description, label));
-                models.get(s).forEach(el -> {
-                    String pname = el.name;
-                    JsonObject p = props.getJsonObject(pname);
-                    String displayName = p != null && p.containsKey("displayName") ? p.getString("displayName") : pname;
-                    String desc = p != null && p.containsKey("description") ? p.getString("description") : pname;
-                    String en = p != null && p.containsKey("enum") ? p.getString("enum").replace("[", "").replace("]", "") : "";
-                    String type = p != null && p.containsKey("desc") ? p.getString("type") : el.type;
-                    Boolean required = p != null && p.containsKey("required") ? p.getBoolean("required") : false;
-                    Boolean secret = p != null && p.containsKey("secret") ? p.getBoolean("secret") : false;
-                    String defaultValue = p != null && p.containsKey("defaultValue") ? p.getString("defaultValue") : "";
-                    metadata.append(String.format("        new PropertyMeta('%s', '%s', \"%s\", '%s', '%s', '%s', %b, %b, %b, %b),\n", pname, displayName, desc, type, en, defaultValue, required, secret, el.isArray, (el.isArray ? el.isArrayTypeClass : el.isObject)));
-                });
-                metadata.append("    ]),\n");
-            }
-        });
-        metadata.append("]\n");
-        vertx.fileSystem().writeFileBlocking(targetMetadata, Buffer.buffer(metadata.toString()));
+        // Generate Camel DataFormat Metadata
+        metadata.append(generateCamelDataFormatMetadata(models));
+        writeFileText(targetMetadata, metadata.toString());
     }
 
     private String createCreateFunction(String name, List<ElementProp> elProps) {
-        if (name.equalsIgnoreCase("otherwise")){
+        if (name.equalsIgnoreCase("otherwise")) {
             return getTemplateFile("CamelApi.createOtherwise.tx").concat("\n\n");
-        } else if (name.equalsIgnoreCase("when")){
+        } else if (name.equalsIgnoreCase("when")) {
             return getTemplateFile("CamelApi.createWhen.tx").concat("\n\n");
-        } else if (name.equalsIgnoreCase("choice")){
+        } else if (name.equalsIgnoreCase("choice")) {
             return getTemplateFile("CamelApi.createChoice.tx").concat("\n\n");
         }
         String stepClass = capitalize(name).concat("Step");
@@ -379,6 +340,9 @@ public final class CamelModelGenerator {
                 f.append(String.format("        } else {\n"));
                 f.append(String.format("            %1$s.%2$s.expression = CamelApi.createExpression(element?.%2$s?.expression);\n", stepField, elementName));
                 f.append(String.format("        }\n"));
+            } else if (e.typeCode.startsWith("dataFormat.")) {
+                String temp = "        if (element.%3$s?.%1$s !== undefined) %2$s.%3$s.%1$s = new %4$s(element.%3$s.%1$s);\n";
+                f.append(String.format(temp, e.name, stepField, elementName, e.typeCode));
             } else if (e.isObject) {
                 f.append(String.format("        %s.%s.%s = CamelApi.create%s(element?.%s?.%s);\n", stepField, elementName, e.name, e.type, elementName, e.name));
             }
@@ -401,29 +365,32 @@ public final class CamelModelGenerator {
         return camelElements.toString();
     }
 
-    private JsonObject getProperties(JsonObject definitions, String classname) {
-        JsonObject props = definitions.getJsonObject(classname).getJsonObject("properties");
-        JsonArray oneOf = definitions.getJsonObject(classname).getJsonArray("oneOf");
-        if (props != null) {
-            return props;
-        } else {
-            return oneOf.getJsonObject(1).getJsonObject("properties");
-        }
-    }
-
     private List<ElementProp> generateElementProp(String name, JsonObject properties, JsonObject definitions, Map<String, String> processors) {
+        String modelName = deCapitalize(name.equals("Tod") ? "toD" : name);
+        String json = getMetaModel(modelName);
+        if (json == null) return List.of();
+        JsonObject p = new JsonObject(json).getJsonObject("properties");
         List<ElementProp> props = new ArrayList<>();
         Set<String> keys = new HashSet<>();
-        properties.getMap().forEach((s, o) -> {
-            String propName = deCapitalize(camelize(s, "-"));
+        properties.getMap().entrySet().stream().filter(e -> {
+                    // workaround because camel-yaml-dsl.json and camel-catalogue are not sync
+                    if (e.getKey().equals("inherit-error-handler")) {
+                        JsonObject o = p.getJsonObject("inheritErrorHandler");
+                        return o != null;
+                    }
+                    return true;
+                }
+        ).forEach(e -> {
+            String attr = e.getKey();
+            String propName = deCapitalize(camelize(attr, "-"));
             boolean notStepsForChoice = !(name.equalsIgnoreCase("Choice") && propName.equals("steps"));
             boolean notStepsForKamelet = !(name.equalsIgnoreCase("Kamelet") && propName.equals("steps"));
             if (!keys.contains(propName) && notStepsForChoice && notStepsForKamelet) {
-                String type = properties.getJsonObject(s).getString("type");
-                String ref = properties.getJsonObject(s).getString("$ref");
+                String type = properties.getJsonObject(attr).getString("type");
+                String ref = properties.getJsonObject(attr).getString("$ref");
                 if (type != null) {
-                    if (type.equals("array") && isArrayTypeIsClass(properties.getJsonObject(s))) {
-                        String arrayTypeClass = getArrayTypeClass(properties.getJsonObject(s));
+                    if (type.equals("array") && isArrayTypeIsClass(properties.getJsonObject(attr))) {
+                        String arrayTypeClass = getArrayTypeClass(properties.getJsonObject(attr));
                         String arrayType = processors.get(arrayTypeClass);
                         if (arrayType != null) {
                             String typeCode = propName.equals("when") ? getTypeCode(type, arrayType) : getTypeCode(type, arrayType.concat("Step"));
@@ -431,8 +398,8 @@ public final class CamelModelGenerator {
                         } else if (arrayTypeClass.equals("org.apache.camel.model.ProcessorDefinition")) {
                             props.add(new ElementProp(propName, type, false, true, true, arrayType, true, getTypeCode(type, "ProcessorStep")));
                         }
-                    } else if (type.equals("array") && !isArrayTypeIsClass(properties.getJsonObject(s))) {
-                        String arrayType = getArrayType(properties.getJsonObject(s));
+                    } else if (type.equals("array") && !isArrayTypeIsClass(properties.getJsonObject(attr))) {
+                        String arrayType = getArrayType(properties.getJsonObject(attr));
                         props.add(new ElementProp(propName, type, false, true, false, arrayType, false, getTypeCode(type, arrayType)));
                     } else {
                         props.add(new ElementProp(propName, type, false, false, false, null, false, getTypeCode(type, null)));
@@ -445,6 +412,9 @@ public final class CamelModelGenerator {
                         props.add(new ElementProp(propName, "string", false, false, false, null, false, "string"));
                     } else if (processorName != null) {
                         props.add(new ElementProp(propName, processorName, true, false, false, null, false, capitalize(processorName)));
+                    } else if (className.startsWith("org.apache.camel.model.dataformat")) {
+                        String dataFormatClass = className.replace("org.apache.camel.model.dataformat.", "");
+                        props.add(new ElementProp(propName, dataFormatClass, true, false, false, null, false, "dataFormat." + dataFormatClass));
                     } else if (isClassOneOfString(className, definitions)) {
                         props.add(new ElementProp(propName, "string", false, false, false, null, false, "string"));
                     } else if ("org.apache.camel.model.language.ExpressionDefinition".equals(className)
@@ -491,26 +461,102 @@ public final class CamelModelGenerator {
         return element.toString();
     }
 
+    private String generateCamelModelMetadata(Map<String, List<ElementProp>> models) {
+        // Generate Metadata
+        StringBuilder metadata = new StringBuilder("export const Languages: [string, string, string][] = [\n");
+        models.get("expression").forEach(el -> {
+            String name = el.name;
+            String json = getMetaModel(name);
+            JsonObject model = new JsonObject(json).getJsonObject("model");
+            String title = model.getString("title");
+            String description = model.getString("description");
+            metadata.append(String.format("    ['%s','%s',\"%s\"],\n", name, title, description));
+        });
+        metadata.append("]\n");
 
-    private boolean isClassOneOfString(String classname, JsonObject definitions) {
-        return definitions.getJsonObject(classname).containsKey("oneOf") && definitions.getJsonObject(classname).getJsonArray("oneOf").getJsonObject(0).getString("type").equals("string");
+        metadata.append("export const CamelModelMetadata: ElementMeta[] = [\n");
+        models.keySet().forEach(s -> {
+            String name = deCapitalize(s);
+            String json = getMetaModel(name);
+            if (json != null) {
+                JsonObject model = new JsonObject(json).getJsonObject("model");
+                JsonObject props = new JsonObject(json).getJsonObject("properties");
+                String title = model.getString("title");
+                String description = model.getString("description");
+                String label = model.getString("label");
+                metadata.append(String.format("    new ElementMeta('%s', '%s', '%s', '%s', [\n", name, title, description, label));
+                models.get(s).forEach(el -> {
+                    String pname = el.name;
+                    JsonObject p = props.getJsonObject(pname);
+                    if ("inheritErrorHandler".equals(pname) && p == null) {
+                    } else {
+                        String displayName = p != null && p.containsKey("displayName") ? p.getString("displayName") : pname;
+                        String desc = p != null && p.containsKey("description") ? p.getString("description") : pname;
+                        String en = p != null && p.containsKey("enum") ? p.getString("enum").replace("[", "").replace("]", "") : "";
+                        String type = p != null && p.containsKey("desc") ? p.getString("type") : el.type;
+                        Boolean required = p != null && p.containsKey("required") ? p.getBoolean("required") : false;
+                        Boolean secret = p != null && p.containsKey("secret") ? p.getBoolean("secret") : false;
+                        String defaultValue = p != null && p.containsKey("defaultValue") ? p.getString("defaultValue") : "";
+                        metadata.append(String.format("        new PropertyMeta('%s', '%s', \"%s\", '%s', '%s', '%s', %b, %b, %b, %b),\n", pname, displayName, desc, type, en, defaultValue, required, secret, el.isArray, (el.isArray ? el.isArrayTypeClass : el.isObject)));
+                    }
+                });
+                metadata.append("    ]),\n");
+            }
+        });
+        metadata.append("]\n");
+        return metadata.toString();
     }
 
+    private String generateCamelDataFormatMetadata(Map<String, List<ElementProp>> models) {
 
-    private String camelize(String name, String separator) {
-        return Arrays.stream(name.split(separator)).map(s -> capitalize(s)).collect(Collectors.joining());
-    }
+        List<String> dataformats = models.get("Marshal").stream()
+                .filter(e -> e.typeCode.startsWith("dataFormat."))
+                .map(e -> e.name).collect(Collectors.toList());
+        StringBuilder metadata = new StringBuilder("export const DataFormats: [string, string, string][] = [\n");
+        dataformats.forEach(name -> {
+            String json = getMetaDataFormat(name);
+            if (json != null) {
+                JsonObject model = new JsonObject(json).getJsonObject("model");
+                String title = model.getString("title");
+                String description = model.getString("description");
+                metadata.append(String.format("    ['%s','%s',\"%s\"],\n", name, title, description));
+            }
+        });
+        metadata.append("]\n");
 
-    private String capitalize(String str) {
-        return str.length() == 0 ? str
-                : str.length() == 1 ? str.toUpperCase()
-                : str.substring(0, 1).toUpperCase() + str.substring(1);
+        metadata.append("export const CamelDataFormatMetadata: ElementMeta[] = [\n");
+        dataformats.forEach(s -> {
+            String name = deCapitalize(s);
+            String json = getMetaDataFormat(name);
+            if (json != null) {
+                JsonObject model = new JsonObject(json).getJsonObject("model");
+                JsonObject props = new JsonObject(json).getJsonObject("properties");
+                String title = model.getString("title");
+                String description = model.getString("description");
+                String label = model.getString("label");
+                metadata.append(String.format("    new ElementMeta('%s', '%s', \"%s\", '%s', [\n", name, title, description, label));
+                props.stream().forEach(e -> {
+                    String pname = e.getKey();
+                    JsonObject p = props.getJsonObject(pname);
+                    String displayName = p != null && p.containsKey("displayName") ? p.getString("displayName") : pname;
+                    String desc = p != null && p.containsKey("description") ? p.getString("description") : pname;
+                    String en = p != null && p.containsKey("enum") ? p.getString("enum").replace("[", "").replace("]", "") : "";
+                    String type = p.getString("type");
+                    Boolean required = p != null && p.containsKey("required") ? p.getBoolean("required") : false;
+                    Boolean secret = p != null && p.containsKey("secret") ? p.getBoolean("secret") : false;
+                    String defaultValue = p != null && p.containsKey("defaultValue") ? p.getString("defaultValue") : "";
+                    boolean isObject = false; //(el.isArray ? el.isArrayTypeClass : el.isObject);
+                    metadata.append(String.format("        new PropertyMeta('%s', '%s', \"%s\", '%s', '%s', '%s', %b, %b, %b, %b),\n", pname, displayName, desc, type, en, defaultValue, required, secret, "array".equals(type), isObject));
+                });
+                metadata.append("    ]),\n");
+            }
+        });
+        metadata.append("]\n");
+        return metadata.toString();
     }
 
-    private String deCapitalize(String str) {
-        return str.length() == 0 ? str
-                : str.length() == 1 ? str.toLowerCase()
-                : str.substring(0, 1).toLowerCase() + str.substring(1);
+    private boolean isClassOneOfString(String classname, JsonObject definitions) {
+        return definitions.getJsonObject(classname).containsKey("oneOf") && definitions.getJsonObject(classname).getJsonArray("oneOf").getJsonObject(0).getString("type").equals("string");
     }
 
     private String getTabs(int n) {
@@ -548,6 +594,7 @@ public final class CamelModelGenerator {
         }
     }
 
+
     public String getMetaModel(String name) {
         try {
             InputStream inputStream = CamelCatalog.class.getResourceAsStream("/org/apache/camel/catalog/models/" + name + ".json");
@@ -559,6 +606,17 @@ public final class CamelModelGenerator {
         }
     }
 
+    public String getMetaDataFormat(String name) {
+        try {
+            InputStream inputStream = RouteBuilder.class.getResourceAsStream("/org/apache/camel/model/dataformat/" + name + ".json");
+            String data = new BufferedReader(new InputStreamReader(inputStream))
+                    .lines().collect(Collectors.joining(System.getProperty("line.separator")));
+            return data;
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
     public String getTemplateFile(String name) {
         try {
             InputStream inputStream = CamelModelGenerator.class.getClassLoader().getResourceAsStream(name);
diff --git a/karavan-generator/src/main/java/org/apache/camel/karavan/generator/KaravanGenerator.java b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/KaravanGenerator.java
index 6d4495c..9914495 100644
--- a/karavan-generator/src/main/java/org/apache/camel/karavan/generator/KaravanGenerator.java
+++ b/karavan-generator/src/main/java/org/apache/camel/karavan/generator/KaravanGenerator.java
@@ -22,6 +22,7 @@ public final class KaravanGenerator {
         CamelModelGenerator.generate();
         KameletGenerator.generate();
         CamelComponentsGenerator.generate();
+        CamelDataFormatGenerator.generate();
         System.exit(0);
     }
 
diff --git a/karavan-generator/src/main/resources/CamelDataFormat.template.tx b/karavan-generator/src/main/resources/CamelDataFormat.template.tx
new file mode 100644
index 0000000..5ff38a1
--- /dev/null
+++ b/karavan-generator/src/main/resources/CamelDataFormat.template.tx
@@ -0,0 +1,7 @@
+export class %1$s extends DataFormat{
+%2$s
+    public constructor(init?: Partial<%1$s>) {
+        super(init?.id);
+        Object.assign(this, init);
+    }
+}
diff --git a/karavan-generator/src/main/resources/CamelDataFormat.tx b/karavan-generator/src/main/resources/CamelDataFormat.tx
new file mode 100644
index 0000000..7cb55ec
--- /dev/null
+++ b/karavan-generator/src/main/resources/CamelDataFormat.tx
@@ -0,0 +1,10 @@
+/**
+ * Generated by karavan build tools - do NOT edit this file!
+ */
+export class DataFormat {
+    id?: string = ''
+
+    constructor(id?: string) {
+        this.id = id;
+    }
+}
diff --git a/karavan-generator/src/main/resources/camel-metadata.template b/karavan-generator/src/main/resources/camel-metadata.template
index ede79a4..97be905 100644
--- a/karavan-generator/src/main/resources/camel-metadata.template
+++ b/karavan-generator/src/main/resources/camel-metadata.template
@@ -47,8 +47,12 @@ export class PropertyMeta {
 
 export class CamelMetadataApi {
 
-    static getElementMeta = (name: string): ElementMeta | undefined => {
-       return Metadata.find(value => value.name === name);
+    static getCamelModelMetadata = (name: string): ElementMeta | undefined => {
+       return CamelModelMetadata.find(value => value.name === name);
+    }
+
+    static getCamelDataFormatMetadata = (name: string): ElementMeta | undefined => {
+        return CamelDataFormatMetadata.find(value => value.name === name);
     }
 
     static getLanguage = (name: string): [string, string, string] | undefined => {
diff --git a/karavan-generator/src/main/resources/camel-model.template b/karavan-generator/src/main/resources/camel-model.template
index a84f8c9..5e0e2df 100644
--- a/karavan-generator/src/main/resources/camel-model.template
+++ b/karavan-generator/src/main/resources/camel-model.template
@@ -1,8 +1,9 @@
 /**
  * Generated by karavan build tools - do NOT edit this file!
  */
-import {v4 as uuidv4} from 'uuid'
+import {v4 as uuidv4} from 'uuid';
 import {CamelApi} from "../api/CamelApi";
+import * as dataFormat from '../model/CamelDataFormat';
 
 export class Metadata {
     name: string = '';
diff --git a/karavan-generator/src/main/resources/camel-yaml-dsl.json b/karavan-generator/src/main/resources/camel-yaml-dsl.json
deleted file mode 100644
index 47f34cf..0000000
--- a/karavan-generator/src/main/resources/camel-yaml-dsl.json
+++ /dev/null
@@ -1,7362 +0,0 @@
-{
-  "$schema" : "http://json-schema.org/draft-04/schema#",
-  "type" : "array",
-  "items" : {
-    "maxProperties" : 1,
-    "definitions" : {
-      "org.apache.camel.model.ProcessorDefinition" : {
-        "type" : "object",
-        "maxProperties" : 1,
-        "properties" : {
-          "aggregate" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.AggregateDefinition"
-          },
-          "bean" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.BeanDefinition"
-          },
-          "do-catch" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.CatchDefinition"
-          },
-          "doCatch" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.CatchDefinition"
-          },
-          "choice" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ChoiceDefinition"
-          },
-          "circuit-breaker" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.CircuitBreakerDefinition"
-          },
-          "circuitBreaker" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.CircuitBreakerDefinition"
-          },
-          "claim-check" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ClaimCheckDefinition"
-          },
-          "claimCheck" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ClaimCheckDefinition"
-          },
-          "convert-body-to" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ConvertBodyDefinition"
-          },
-          "convertBodyTo" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ConvertBodyDefinition"
-          },
-          "delay" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.DelayDefinition"
-          },
-          "dynamic-router" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.DynamicRouterDefinition"
-          },
-          "dynamicRouter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.DynamicRouterDefinition"
-          },
-          "enrich" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.EnrichDefinition"
-          },
-          "filter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.FilterDefinition"
-          },
-          "do-finally" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.FinallyDefinition"
-          },
-          "doFinally" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.FinallyDefinition"
-          },
-          "idempotent-consumer" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.IdempotentConsumerDefinition"
-          },
-          "idempotentConsumer" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.IdempotentConsumerDefinition"
-          },
-          "in-only" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.InOnlyDefinition"
-          },
-          "inOnly" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.InOnlyDefinition"
-          },
-          "in-out" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.InOutDefinition"
-          },
-          "inOut" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.InOutDefinition"
-          },
-          "intercept" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.InterceptDefinition"
-          },
-          "intercept-from" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.InterceptFromDefinition"
-          },
-          "interceptFrom" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.InterceptFromDefinition"
-          },
-          "intercept-send-to-endpoint" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.InterceptSendToEndpointDefinition"
-          },
-          "interceptSendToEndpoint" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.InterceptSendToEndpointDefinition"
-          },
-          "kamelet" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.KameletDefinition"
-          },
-          "load-balance" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.LoadBalanceDefinition"
-          },
-          "loadBalance" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.LoadBalanceDefinition"
-          },
-          "log" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.LogDefinition"
-          },
-          "loop" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.LoopDefinition"
-          },
-          "marshal" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.MarshalDefinition"
-          },
-          "multicast" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.MulticastDefinition"
-          },
-          "on-completion" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.OnCompletionDefinition"
-          },
-          "onCompletion" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.OnCompletionDefinition"
-          },
-          "on-fallback" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.OnFallbackDefinition"
-          },
-          "onFallback" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.OnFallbackDefinition"
-          },
-          "otherwise" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.OtherwiseDefinition"
-          },
-          "pipeline" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.PipelineDefinition"
-          },
-          "policy" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.PolicyDefinition"
-          },
-          "poll-enrich" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.PollEnrichDefinition"
-          },
-          "pollEnrich" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.PollEnrichDefinition"
-          },
-          "process" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ProcessDefinition"
-          },
-          "recipient-list" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RecipientListDefinition"
-          },
-          "recipientList" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RecipientListDefinition"
-          },
-          "remove-header" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RemoveHeaderDefinition"
-          },
-          "removeHeader" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RemoveHeaderDefinition"
-          },
-          "remove-headers" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RemoveHeadersDefinition"
-          },
-          "removeHeaders" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RemoveHeadersDefinition"
-          },
-          "remove-properties" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RemovePropertiesDefinition"
-          },
-          "removeProperties" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RemovePropertiesDefinition"
-          },
-          "remove-property" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RemovePropertyDefinition"
-          },
-          "removeProperty" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RemovePropertyDefinition"
-          },
-          "resequence" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ResequenceDefinition"
-          },
-          "rollback" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RollbackDefinition"
-          },
-          "routing-slip" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RoutingSlipDefinition"
-          },
-          "routingSlip" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RoutingSlipDefinition"
-          },
-          "saga" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SagaDefinition"
-          },
-          "sample" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SamplingDefinition"
-          },
-          "script" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ScriptDefinition"
-          },
-          "set-body" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SetBodyDefinition"
-          },
-          "setBody" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SetBodyDefinition"
-          },
-          "set-exchange-pattern" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SetExchangePatternDefinition"
-          },
-          "setExchangePattern" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SetExchangePatternDefinition"
-          },
-          "set-header" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SetHeaderDefinition"
-          },
-          "setHeader" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SetHeaderDefinition"
-          },
-          "set-property" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SetPropertyDefinition"
-          },
-          "setProperty" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SetPropertyDefinition"
-          },
-          "sort" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SortDefinition"
-          },
-          "split" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SplitDefinition"
-          },
-          "step" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.StepDefinition"
-          },
-          "stop" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.StopDefinition"
-          },
-          "threads" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ThreadsDefinition"
-          },
-          "throttle" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ThrottleDefinition"
-          },
-          "throw-exception" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ThrowExceptionDefinition"
-          },
-          "throwException" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ThrowExceptionDefinition"
-          },
-          "to" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ToDefinition"
-          },
-          "to-d" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ToDynamicDefinition"
-          },
-          "toD" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ToDynamicDefinition"
-          },
-          "tod" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ToDynamicDefinition"
-          },
-          "transacted" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.TransactedDefinition"
-          },
-          "transform" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.TransformDefinition"
-          },
-          "do-try" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.TryDefinition"
-          },
-          "doTry" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.TryDefinition"
-          },
-          "unmarshal" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.UnmarshalDefinition"
-          },
-          "validate" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ValidateDefinition"
-          },
-          "when" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.WhenDefinition"
-          },
-          "when-skip-send-to-endpoint" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.WhenSkipSendToEndpointDefinition"
-          },
-          "whenSkipSendToEndpoint" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.WhenSkipSendToEndpointDefinition"
-          },
-          "wire-tap" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.WireTapDefinition"
-          },
-          "wireTap" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.WireTapDefinition"
-          },
-          "service-call" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.ServiceCallDefinition"
-          },
-          "serviceCall" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.ServiceCallDefinition"
-          }
-        }
-      },
-      "org.apache.camel.builder.DeadLetterChannelBuilder" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "async-delayed-redelivery" : {
-              "type" : "boolean"
-            },
-            "dead-letter-handle-new-exception" : {
-              "type" : "boolean"
-            },
-            "use-original-body" : {
-              "type" : "boolean"
-            },
-            "use-original-message" : {
-              "type" : "boolean"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.builder.DefaultErrorHandlerBuilder" : {
-        "type" : "object",
-        "properties" : {
-          "async-delayed-redelivery" : {
-            "type" : "boolean"
-          },
-          "dead-letter-handle-new-exception" : {
-            "type" : "boolean"
-          },
-          "use-original-body" : {
-            "type" : "boolean"
-          },
-          "use-original-message" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.builder.ErrorHandlerBuilderRef" : {
-        "type" : "object",
-        "properties" : {
-          "dead-letter-channel" : {
-            "$ref" : "#/items/definitions/org.apache.camel.builder.DeadLetterChannelBuilder"
-          },
-          "log" : {
-            "$ref" : "#/items/definitions/org.apache.camel.builder.DefaultErrorHandlerBuilder"
-          },
-          "none" : {
-            "$ref" : "#/items/definitions/org.apache.camel.builder.NoErrorHandlerBuilder"
-          },
-          "ref" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.builder.NoErrorHandlerBuilder" : {
-        "type" : "object"
-      },
-      "org.apache.camel.dsl.yaml.deserializers.BeansDeserializer" : {
-        "type" : "array",
-        "items" : {
-          "$ref" : "#/items/definitions/org.apache.camel.dsl.yaml.deserializers.NamedBeanDefinition"
-        }
-      },
-      "org.apache.camel.dsl.yaml.deserializers.NamedBeanDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "name" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "object"
-          },
-          "type" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "name", "type" ]
-      },
-      "org.apache.camel.dsl.yaml.deserializers.OutputAwareFromDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "parameters" : {
-            "type" : "object"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "uri" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "steps", "uri" ]
-      },
-      "org.apache.camel.dsl.yaml.deserializers.RouteFromDefinitionDeserializer" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.dsl.yaml.deserializers.OutputAwareFromDefinition"
-        } ],
-        "properties" : {
-          "parameters" : {
-            "type" : "object"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "uri" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "steps", "uri" ]
-      },
-      "org.apache.camel.model.AggregateDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "aggregate-controller-ref" : {
-            "type" : "string"
-          },
-          "aggregation-repository-ref" : {
-            "type" : "string"
-          },
-          "close-correlation-key-on-completion" : {
-            "type" : "number"
-          },
-          "complete-all-on-stop" : {
-            "type" : "boolean"
-          },
-          "completion-from-batch-consumer" : {
-            "type" : "boolean"
-          },
-          "completion-interval" : {
-            "type" : "string"
-          },
-          "completion-on-new-correlation-group" : {
-            "type" : "boolean"
-          },
-          "completion-predicate" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ExpressionSubElementDefinition"
-          },
-          "completion-size" : {
-            "type" : "number"
-          },
-          "completion-size-expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ExpressionSubElementDefinition"
-          },
-          "completion-timeout" : {
-            "type" : "string"
-          },
-          "completion-timeout-checker-interval" : {
-            "type" : "string"
-          },
-          "completion-timeout-expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ExpressionSubElementDefinition"
-          },
-          "correlation-expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ExpressionSubElementDefinition"
-          },
-          "discard-on-aggregation-failure" : {
-            "type" : "boolean"
-          },
-          "discard-on-completion-timeout" : {
-            "type" : "boolean"
-          },
-          "eager-check-completion" : {
-            "type" : "boolean"
-          },
-          "executor-service-ref" : {
-            "type" : "string"
-          },
-          "force-completion-on-stop" : {
-            "type" : "boolean"
-          },
-          "ignore-invalid-correlation-keys" : {
-            "type" : "boolean"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "optimistic-lock-retry-policy" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.OptimisticLockRetryPolicyDefinition"
-          },
-          "optimistic-locking" : {
-            "type" : "boolean"
-          },
-          "parallel-processing" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "strategy-method-allow-null" : {
-            "type" : "boolean"
-          },
-          "strategy-method-name" : {
-            "type" : "string"
-          },
-          "strategy-ref" : {
-            "type" : "string"
-          },
-          "timeout-checker-executor-service-ref" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.BeanDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "bean-type" : {
-              "type" : "string"
-            },
-            "cache" : {
-              "type" : "boolean"
-            },
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "method" : {
-              "type" : "string"
-            },
-            "ref" : {
-              "type" : "string"
-            },
-            "scope" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.CatchDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "exception" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "on-when" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.WhenDefinition"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.ChoiceDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "otherwise" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.OtherwiseDefinition"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "when" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.WhenDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.CircuitBreakerDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "configuration-ref" : {
-            "type" : "string"
-          },
-          "fault-tolerance-configuration" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.FaultToleranceConfigurationDefinition"
-          },
-          "hystrix-configuration" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.HystrixConfigurationDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "on-fallback" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.OnFallbackDefinition"
-          },
-          "resilience4j-configuration" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.Resilience4jConfigurationDefinition"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.ClaimCheckDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "filter" : {
-            "type" : "string"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "key" : {
-            "type" : "string"
-          },
-          "operation" : {
-            "type" : "string"
-          },
-          "strategy-method-name" : {
-            "type" : "string"
-          },
-          "strategy-ref" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "operation" ]
-      },
-      "org.apache.camel.model.ContextScanDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "excludes" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "include-non-singletons" : {
-            "type" : "boolean"
-          },
-          "includes" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.ConvertBodyDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "charset" : {
-              "type" : "string"
-            },
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "mandatory" : {
-              "type" : "boolean"
-            },
-            "type" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "type" ]
-      },
-      "org.apache.camel.model.DataFormatDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.DelayDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "async-delayed" : {
-            "type" : "boolean"
-          },
-          "caller-runs-when-rejected" : {
-            "type" : "boolean"
-          },
-          "executor-service-ref" : {
-            "type" : "string"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.DescriptionDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "lang" : {
-              "type" : "string"
-            },
-            "text" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.DynamicRouterDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "cache-size" : {
-            "type" : "number"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "ignore-invalid-endpoints" : {
-            "type" : "boolean"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "uri-delimiter" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.EnrichDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "aggregate-on-exception" : {
-            "type" : "boolean"
-          },
-          "allow-optimised-components" : {
-            "type" : "boolean"
-          },
-          "cache-size" : {
-            "type" : "number"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "ignore-invalid-endpoint" : {
-            "type" : "boolean"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "share-unit-of-work" : {
-            "type" : "boolean"
-          },
-          "strategy-method-allow-null" : {
-            "type" : "string"
-          },
-          "strategy-method-name" : {
-            "type" : "string"
-          },
-          "strategy-ref" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.ExpressionSubElementDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "constant" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ConstantExpression"
-          },
-          "csimple" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.CSimpleExpression"
-          },
-          "datasonnet" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.DatasonnetExpression"
-          },
-          "exchange-property" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExchangePropertyExpression"
-          },
-          "exchangeProperty" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExchangePropertyExpression"
-          },
-          "groovy" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.GroovyExpression"
-          },
-          "header" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.HeaderExpression"
-          },
-          "hl7terser" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.Hl7TerserExpression"
-          },
-          "joor" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.JoorExpression"
-          },
-          "jsonpath" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.JsonPathExpression"
-          },
-          "language" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.LanguageExpression"
-          },
-          "method" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.MethodCallExpression"
-          },
-          "mvel" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.MvelExpression"
-          },
-          "ognl" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.OgnlExpression"
-          },
-          "ref" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.RefExpression"
-          },
-          "simple" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.SimpleExpression"
-          },
-          "spel" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.SpELExpression"
-          },
-          "tokenize" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.TokenizerExpression"
-          },
-          "xpath" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.XPathExpression"
-          },
-          "xquery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.XQueryExpression"
-          },
-          "xtokenize" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.XMLTokenizerExpression"
-          }
-        }
-      },
-      "org.apache.camel.model.FaultToleranceConfigurationDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "bulkhead-enabled" : {
-            "type" : "boolean"
-          },
-          "bulkhead-executor-service-ref" : {
-            "type" : "string"
-          },
-          "bulkhead-max-concurrent-calls" : {
-            "type" : "number"
-          },
-          "bulkhead-waiting-task-queue" : {
-            "type" : "number"
-          },
-          "circuit-breaker-ref" : {
-            "type" : "string"
-          },
-          "delay" : {
-            "type" : "string"
-          },
-          "failure-ratio" : {
-            "type" : "number"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "request-volume-threshold" : {
-            "type" : "number"
-          },
-          "success-threshold" : {
-            "type" : "number"
-          },
-          "timeout-duration" : {
-            "type" : "string"
-          },
-          "timeout-enabled" : {
-            "type" : "boolean"
-          },
-          "timeout-pool-size" : {
-            "type" : "number"
-          },
-          "timeout-scheduled-executor-service-ref" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.FilterDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.FinallyDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.FromDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "parameters" : {
-              "type" : "object"
-            },
-            "uri" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "uri" ]
-      },
-      "org.apache.camel.model.GlobalOptionDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "key" : {
-            "type" : "string"
-          },
-          "value" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "key", "value" ]
-      },
-      "org.apache.camel.model.GlobalOptionsDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "global-option" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.GlobalOptionDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.HystrixConfigurationDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "allow-maximum-size-to-diverge-from-core-size" : {
-            "type" : "boolean"
-          },
-          "circuit-breaker-enabled" : {
-            "type" : "boolean"
-          },
-          "circuit-breaker-error-threshold-percentage" : {
-            "type" : "number"
-          },
-          "circuit-breaker-force-closed" : {
-            "type" : "boolean"
-          },
-          "circuit-breaker-force-open" : {
-            "type" : "boolean"
-          },
-          "circuit-breaker-request-volume-threshold" : {
-            "type" : "number"
-          },
-          "circuit-breaker-sleep-window-in-milliseconds" : {
-            "type" : "number"
-          },
-          "core-pool-size" : {
-            "type" : "number"
-          },
-          "execution-isolation-semaphore-max-concurrent-requests" : {
-            "type" : "number"
-          },
-          "execution-isolation-strategy" : {
-            "type" : "string"
-          },
-          "execution-isolation-thread-interrupt-on-timeout" : {
-            "type" : "boolean"
-          },
-          "execution-timeout-enabled" : {
-            "type" : "boolean"
-          },
-          "execution-timeout-in-milliseconds" : {
-            "type" : "number"
-          },
-          "fallback-enabled" : {
-            "type" : "boolean"
-          },
-          "fallback-isolation-semaphore-max-concurrent-requests" : {
-            "type" : "number"
-          },
-          "group-key" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "keep-alive-time" : {
-            "type" : "number"
-          },
-          "max-queue-size" : {
-            "type" : "number"
-          },
-          "maximum-size" : {
-            "type" : "number"
-          },
-          "metrics-health-snapshot-interval-in-milliseconds" : {
-            "type" : "number"
-          },
-          "metrics-rolling-percentile-bucket-size" : {
-            "type" : "number"
-          },
-          "metrics-rolling-percentile-enabled" : {
-            "type" : "boolean"
-          },
-          "metrics-rolling-percentile-window-buckets" : {
-            "type" : "number"
-          },
-          "metrics-rolling-percentile-window-in-milliseconds" : {
-            "type" : "number"
-          },
-          "metrics-rolling-statistical-window-buckets" : {
-            "type" : "number"
-          },
-          "metrics-rolling-statistical-window-in-milliseconds" : {
-            "type" : "number"
-          },
-          "queue-size-rejection-threshold" : {
-            "type" : "number"
-          },
-          "request-log-enabled" : {
-            "type" : "boolean"
-          },
-          "thread-pool-key" : {
-            "type" : "string"
-          },
-          "thread-pool-rolling-number-statistical-window-buckets" : {
-            "type" : "number"
-          },
-          "thread-pool-rolling-number-statistical-window-in-milliseconds" : {
-            "type" : "number"
-          }
-        }
-      },
-      "org.apache.camel.model.IdempotentConsumerDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "completion-eager" : {
-            "type" : "string"
-          },
-          "eager" : {
-            "type" : "boolean"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "message-id-repository-ref" : {
-            "type" : "string"
-          },
-          "remove-on-failure" : {
-            "type" : "boolean"
-          },
-          "skip-duplicate" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        },
-        "required" : [ "message-id-repository-ref" ]
-      },
-      "org.apache.camel.model.InOnlyDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "parameters" : {
-              "type" : "object"
-            },
-            "uri" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "uri" ]
-      },
-      "org.apache.camel.model.InOutDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "parameters" : {
-              "type" : "object"
-            },
-            "uri" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "uri" ]
-      },
-      "org.apache.camel.model.InputTypeDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "urn" : {
-            "type" : "string"
-          },
-          "validate" : {
-            "type" : "boolean"
-          }
-        },
-        "required" : [ "urn" ]
-      },
-      "org.apache.camel.model.InterceptDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.InterceptFromDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "steps" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-              }
-            },
-            "uri" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.InterceptSendToEndpointDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "after-uri" : {
-              "type" : "string"
-            },
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "skip-send-to-original-endpoint" : {
-              "type" : "string"
-            },
-            "steps" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-              }
-            },
-            "uri" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "uri" ]
-      },
-      "org.apache.camel.model.KameletDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "name" : {
-              "type" : "string"
-            },
-            "parameters" : {
-              "type" : "object"
-            },
-            "steps" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-              }
-            }
-          }
-        } ],
-        "required" : [ "name" ]
-      },
-      "org.apache.camel.model.LoadBalanceDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "custom-load-balancer" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.loadbalancer.CustomLoadBalancerDefinition"
-          },
-          "failover" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.loadbalancer.FailoverLoadBalancerDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "random" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.loadbalancer.RandomLoadBalancerDefinition"
-          },
-          "round-robin" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.loadbalancer.RoundRobinLoadBalancerDefinition"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "sticky" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.loadbalancer.StickyLoadBalancerDefinition"
-          },
-          "topic" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.loadbalancer.TopicLoadBalancerDefinition"
-          },
-          "weighted" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.loadbalancer.WeightedLoadBalancerDefinition"
-          }
-        }
-      },
-      "org.apache.camel.model.LoadBalancerDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.LogDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "log-name" : {
-              "type" : "string"
-            },
-            "logger-ref" : {
-              "type" : "string"
-            },
-            "logging-level" : {
-              "type" : "string"
-            },
-            "marker" : {
-              "type" : "string"
-            },
-            "message" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "message" ]
-      },
-      "org.apache.camel.model.LoopDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "break-on-shutdown" : {
-            "type" : "boolean"
-          },
-          "copy" : {
-            "type" : "boolean"
-          },
-          "do-while" : {
-            "type" : "boolean"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.MarshalDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "any23" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.Any23DataFormat"
-          },
-          "asn1" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ASN1DataFormat"
-          },
-          "avro" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.AvroDataFormat"
-          },
-          "barcode" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.BarcodeDataFormat"
-          },
-          "base64" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.Base64DataFormat"
-          },
-          "beanio" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.BeanioDataFormat"
-          },
-          "bindy" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.BindyDataFormat"
-          },
-          "cbor" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CBORDataFormat"
-          },
-          "crypto" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CryptoDataFormat"
-          },
-          "csv" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CsvDataFormat"
-          },
-          "custom" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CustomDataFormat"
-          },
-          "fhir-json" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.FhirJsonDataFormat"
-          },
-          "fhir-xml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.FhirXmlDataFormat"
-          },
-          "flatpack" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.FlatpackDataFormat"
-          },
-          "grok" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.GrokDataFormat"
-          },
-          "gzip" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.GzipDataFormat"
-          },
-          "hl7" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.HL7DataFormat"
-          },
-          "ical" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.IcalDataFormat"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "jacksonxml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JacksonXMLDataFormat"
-          },
-          "jaxb" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JaxbDataFormat"
-          },
-          "json" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JsonDataFormat"
-          },
-          "json-api" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JsonApiDataFormat"
-          },
-          "lzf" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.LZFDataFormat"
-          },
-          "mime-multipart" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.MimeMultipartDataFormat"
-          },
-          "pgp" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.PGPDataFormat"
-          },
-          "protobuf" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ProtobufDataFormat"
-          },
-          "rss" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.RssDataFormat"
-          },
-          "secure-xml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.XMLSecurityDataFormat"
-          },
-          "soapjaxb" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.SoapJaxbDataFormat"
-          },
-          "syslog" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.SyslogDataFormat"
-          },
-          "tarfile" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.TarFileDataFormat"
-          },
-          "thrift" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ThriftDataFormat"
-          },
-          "tidy-markup" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.TidyMarkupDataFormat"
-          },
-          "univocity-csv" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityCsvDataFormat"
-          },
-          "univocity-fixed" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityFixedWidthDataFormat"
-          },
-          "univocity-tsv" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityTsvDataFormat"
-          },
-          "xmlrpc" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.XmlRpcDataFormat"
-          },
-          "xstream" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.XStreamDataFormat"
-          },
-          "yaml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.YAMLDataFormat"
-          },
-          "zip" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ZipDeflaterDataFormat"
-          },
-          "zipfile" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ZipFileDataFormat"
-          }
-        }
-      },
-      "org.apache.camel.model.MulticastDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "executor-service-ref" : {
-            "type" : "string"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "on-prepare-ref" : {
-            "type" : "string"
-          },
-          "parallel-aggregate" : {
-            "type" : "boolean"
-          },
-          "parallel-processing" : {
-            "type" : "boolean"
-          },
-          "share-unit-of-work" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "stop-on-aggregate-exception" : {
-            "type" : "boolean"
-          },
-          "stop-on-exception" : {
-            "type" : "boolean"
-          },
-          "strategy-method-allow-null" : {
-            "type" : "boolean"
-          },
-          "strategy-method-name" : {
-            "type" : "string"
-          },
-          "strategy-ref" : {
-            "type" : "string"
-          },
-          "streaming" : {
-            "type" : "boolean"
-          },
-          "timeout" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.OnCompletionDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "executor-service-ref" : {
-            "type" : "string"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "mode" : {
-            "type" : "string"
-          },
-          "on-complete-only" : {
-            "type" : "boolean"
-          },
-          "on-failure-only" : {
-            "type" : "boolean"
-          },
-          "on-when" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.WhenDefinition"
-          },
-          "parallel-processing" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "use-original-message" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.OnExceptionDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "continued" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ExpressionSubElementDefinition"
-          },
-          "exception" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "handled" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ExpressionSubElementDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "on-exception-occurred-ref" : {
-            "type" : "string"
-          },
-          "on-redelivery-ref" : {
-            "type" : "string"
-          },
-          "on-when" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.WhenDefinition"
-          },
-          "redelivery-policy" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RedeliveryPolicyDefinition"
-          },
-          "redelivery-policy-ref" : {
-            "type" : "string"
-          },
-          "retry-while" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ExpressionSubElementDefinition"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "use-original-body" : {
-            "type" : "boolean"
-          },
-          "use-original-message" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.OnFallbackDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "fallback-via-network" : {
-            "type" : "boolean"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.OptimisticLockRetryPolicyDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "exponential-back-off" : {
-            "type" : "boolean"
-          },
-          "maximum-retries" : {
-            "type" : "number"
-          },
-          "maximum-retry-delay" : {
-            "type" : "string"
-          },
-          "random-back-off" : {
-            "type" : "boolean"
-          },
-          "retry-delay" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.OtherwiseDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.OutputDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.OutputTypeDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "urn" : {
-            "type" : "string"
-          },
-          "validate" : {
-            "type" : "boolean"
-          }
-        },
-        "required" : [ "urn" ]
-      },
-      "org.apache.camel.model.PackageScanDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "excludes" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "includes" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "package" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.PipelineDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.PolicyDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "ref" : {
-            "type" : "string"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        },
-        "required" : [ "ref" ]
-      },
-      "org.apache.camel.model.PollEnrichDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "aggregate-on-exception" : {
-            "type" : "boolean"
-          },
-          "cache-size" : {
-            "type" : "number"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "ignore-invalid-endpoint" : {
-            "type" : "number"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "strategy-method-allow-null" : {
-            "type" : "boolean"
-          },
-          "strategy-method-name" : {
-            "type" : "string"
-          },
-          "strategy-ref" : {
-            "type" : "string"
-          },
-          "timeout" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.ProcessDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "ref" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "ref" ]
-      },
-      "org.apache.camel.model.PropertyDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "key" : {
-            "type" : "string"
-          },
-          "value" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "key", "value" ]
-      },
-      "org.apache.camel.model.RecipientListDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "cache-size" : {
-            "type" : "number"
-          },
-          "delimiter" : {
-            "type" : "string"
-          },
-          "executor-service-ref" : {
-            "type" : "string"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "ignore-invalid-endpoints" : {
-            "type" : "boolean"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "on-prepare-ref" : {
-            "type" : "string"
-          },
-          "parallel-aggregate" : {
-            "type" : "boolean"
-          },
-          "parallel-processing" : {
-            "type" : "boolean"
-          },
-          "share-unit-of-work" : {
-            "type" : "boolean"
-          },
-          "stop-on-aggregate-exception" : {
-            "type" : "boolean"
-          },
-          "stop-on-exception" : {
-            "type" : "boolean"
-          },
-          "strategy-method-allow-null" : {
-            "type" : "boolean"
-          },
-          "strategy-method-name" : {
-            "type" : "string"
-          },
-          "strategy-ref" : {
-            "type" : "string"
-          },
-          "streaming" : {
-            "type" : "boolean"
-          },
-          "timeout" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.RedeliveryPolicyDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "allow-redelivery-while-stopping" : {
-            "type" : "boolean"
-          },
-          "async-delayed-redelivery" : {
-            "type" : "boolean"
-          },
-          "back-off-multiplier" : {
-            "type" : "number"
-          },
-          "collision-avoidance-factor" : {
-            "type" : "number"
-          },
-          "delay-pattern" : {
-            "type" : "string"
-          },
-          "disable-redelivery" : {
-            "type" : "boolean"
-          },
-          "exchange-formatter-ref" : {
-            "type" : "string"
-          },
-          "log-continued" : {
-            "type" : "boolean"
-          },
-          "log-exhausted" : {
-            "type" : "boolean"
-          },
-          "log-exhausted-message-body" : {
-            "type" : "boolean"
-          },
-          "log-exhausted-message-history" : {
-            "type" : "boolean"
-          },
-          "log-handled" : {
-            "type" : "boolean"
-          },
-          "log-new-exception" : {
-            "type" : "boolean"
-          },
-          "log-retry-attempted" : {
-            "type" : "boolean"
-          },
-          "log-retry-stack-trace" : {
-            "type" : "boolean"
-          },
-          "log-stack-trace" : {
-            "type" : "boolean"
-          },
-          "maximum-redeliveries" : {
-            "type" : "number"
-          },
-          "maximum-redelivery-delay" : {
-            "type" : "string"
-          },
-          "redelivery-delay" : {
-            "type" : "string"
-          },
-          "retries-exhausted-log-level" : {
-            "type" : "string"
-          },
-          "retry-attempted-log-interval" : {
-            "type" : "number"
-          },
-          "retry-attempted-log-level" : {
-            "type" : "string"
-          },
-          "use-collision-avoidance" : {
-            "type" : "boolean"
-          },
-          "use-exponential-back-off" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.RemoveHeaderDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "header-name" : {
-              "type" : "string"
-            },
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "name" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.RemoveHeadersDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "exclude-pattern" : {
-              "type" : "string"
-            },
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "pattern" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "pattern" ]
-      },
-      "org.apache.camel.model.RemovePropertiesDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "exclude-pattern" : {
-              "type" : "string"
-            },
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "pattern" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "pattern" ]
-      },
-      "org.apache.camel.model.RemovePropertyDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "property-name" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "property-name" ]
-      },
-      "org.apache.camel.model.ResequenceDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "batch-config" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.config.BatchResequencerConfig"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "stream-config" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.config.StreamResequencerConfig"
-          }
-        },
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.Resilience4jConfigurationDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "automatic-transition-from-open-to-half-open-enabled" : {
-            "type" : "boolean"
-          },
-          "circuit-breaker-ref" : {
-            "type" : "string"
-          },
-          "config-ref" : {
-            "type" : "string"
-          },
-          "failure-rate-threshold" : {
-            "type" : "number"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "minimum-number-of-calls" : {
-            "type" : "number"
-          },
-          "permitted-number-of-calls-in-half-open-state" : {
-            "type" : "number"
-          },
-          "sliding-window-size" : {
-            "type" : "number"
-          },
-          "sliding-window-type" : {
-            "type" : "string"
-          },
-          "slow-call-duration-threshold" : {
-            "type" : "number"
-          },
-          "slow-call-rate-threshold" : {
-            "type" : "number"
-          },
-          "wait-duration-in-open-state" : {
-            "type" : "number"
-          },
-          "writable-stack-trace-enabled" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.RestContextRefDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "ref" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "ref" ]
-      },
-      "org.apache.camel.model.RollbackDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "mark-rollback-only" : {
-              "type" : "boolean"
-            },
-            "mark-rollback-only-last" : {
-              "type" : "boolean"
-            },
-            "message" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.RouteBuilderDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "id" : {
-              "type" : "string"
-            },
-            "ref" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "ref" ]
-      },
-      "org.apache.camel.model.RouteConfigurationDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "id" : {
-              "type" : "string"
-            },
-            "intercept" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.InterceptDefinition"
-              }
-            },
-            "intercept-from" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.InterceptFromDefinition"
-              }
-            },
-            "intercept-send-to-endpoint" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.InterceptSendToEndpointDefinition"
-              }
-            },
-            "on-completion" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.OnCompletionDefinition"
-              }
-            },
-            "on-exception" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.OnExceptionDefinition"
-              }
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.RouteContextRefDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "ref" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "ref" ]
-      },
-      "org.apache.camel.model.RouteDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "from" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.FromDefinition"
-          },
-          "group" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "route-configuration-id" : {
-            "type" : "string"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        },
-        "required" : [ "from", "steps" ]
-      },
-      "org.apache.camel.model.RouteTemplateBeanDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "bean-type" : {
-              "type" : "string"
-            },
-            "name" : {
-              "type" : "string"
-            },
-            "properties" : {
-              "type" : "object"
-            },
-            "property" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-              }
-            },
-            "script" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.RouteTemplateScriptDefinition"
-            },
-            "type" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "name", "type" ]
-      },
-      "org.apache.camel.model.RouteTemplateDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "beans" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.dsl.yaml.deserializers.NamedBeanDefinition"
-            }
-          },
-          "from" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.FromDefinition"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "parameters" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.RouteTemplateParameterDefinition"
-            }
-          }
-        },
-        "required" : [ "from", "id" ]
-      },
-      "org.apache.camel.model.RouteTemplateParameterDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "default-value" : {
-            "type" : "string"
-          },
-          "description" : {
-            "type" : "string"
-          },
-          "name" : {
-            "type" : "string"
-          },
-          "required" : {
-            "type" : "boolean"
-          }
-        },
-        "required" : [ "name" ]
-      },
-      "org.apache.camel.model.RouteTemplateScriptDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "script" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.RoutingSlipDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "cache-size" : {
-              "type" : "number"
-            },
-            "expression" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-            },
-            "ignore-invalid-endpoints" : {
-              "type" : "boolean"
-            },
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "uri-delimiter" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ]
-      },
-      "org.apache.camel.model.SagaActionUriDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "parameters" : {
-              "type" : "object"
-            },
-            "uri" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "uri" ]
-      },
-      "org.apache.camel.model.SagaDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "compensation" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SagaActionUriDefinition"
-          },
-          "completion" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.SagaActionUriDefinition"
-          },
-          "completion-mode" : {
-            "type" : "string"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "option" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.SagaOptionDefinition"
-            }
-          },
-          "propagation" : {
-            "type" : "string"
-          },
-          "saga-service-ref" : {
-            "type" : "string"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "timeout" : {
-            "type" : "string"
-          },
-          "timeout-in-milliseconds" : {
-            "type" : "number"
-          }
-        }
-      },
-      "org.apache.camel.model.SagaOptionDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "option-name" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "option-name" ]
-      },
-      "org.apache.camel.model.SamplingDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "message-frequency" : {
-            "type" : "number"
-          },
-          "sample-period" : {
-            "type" : "string"
-          },
-          "units" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.ScriptDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.SetBodyDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.SetExchangePatternDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "pattern" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "pattern" ]
-      },
-      "org.apache.camel.model.SetHeaderDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "name" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "name" ]
-      },
-      "org.apache.camel.model.SetPropertyDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "name" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "name" ]
-      },
-      "org.apache.camel.model.SortDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "comparator-ref" : {
-            "type" : "string"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.SplitDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "delimiter" : {
-            "type" : "string"
-          },
-          "executor-service-ref" : {
-            "type" : "string"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "on-prepare-ref" : {
-            "type" : "string"
-          },
-          "parallel-aggregate" : {
-            "type" : "boolean"
-          },
-          "parallel-processing" : {
-            "type" : "boolean"
-          },
-          "share-unit-of-work" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "stop-on-aggregate-exception" : {
-            "type" : "boolean"
-          },
-          "stop-on-exception" : {
-            "type" : "boolean"
-          },
-          "strategy-method-allow-null" : {
-            "type" : "boolean"
-          },
-          "strategy-method-name" : {
-            "type" : "string"
-          },
-          "strategy-ref" : {
-            "type" : "string"
-          },
-          "streaming" : {
-            "type" : "boolean"
-          },
-          "timeout" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.StepDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.StopDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.ThreadPoolProfileDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "allow-core-thread-time-out" : {
-            "type" : "boolean"
-          },
-          "default-profile" : {
-            "type" : "boolean"
-          },
-          "keep-alive-time" : {
-            "type" : "number"
-          },
-          "max-pool-size" : {
-            "type" : "number"
-          },
-          "max-queue-size" : {
-            "type" : "number"
-          },
-          "pool-size" : {
-            "type" : "number"
-          },
-          "rejected-policy" : {
-            "type" : "string"
-          },
-          "time-unit" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.ThreadsDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "allow-core-thread-time-out" : {
-            "type" : "boolean"
-          },
-          "caller-runs-when-rejected" : {
-            "type" : "string"
-          },
-          "executor-service-ref" : {
-            "type" : "string"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "keep-alive-time" : {
-            "type" : "number"
-          },
-          "max-pool-size" : {
-            "type" : "number"
-          },
-          "max-queue-size" : {
-            "type" : "number"
-          },
-          "pool-size" : {
-            "type" : "number"
-          },
-          "rejected-policy" : {
-            "type" : "string"
-          },
-          "thread-name" : {
-            "type" : "string"
-          },
-          "time-unit" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.ThrottleDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "async-delayed" : {
-            "type" : "boolean"
-          },
-          "caller-runs-when-rejected" : {
-            "type" : "boolean"
-          },
-          "correlation-expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ExpressionSubElementDefinition"
-          },
-          "executor-service-ref" : {
-            "type" : "string"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "reject-execution" : {
-            "type" : "boolean"
-          },
-          "time-period-millis" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.ThrowExceptionDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "exception-type" : {
-            "type" : "string"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "message" : {
-            "type" : "string"
-          },
-          "ref" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.ToDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "parameters" : {
-              "type" : "object"
-            },
-            "pattern" : {
-              "type" : "string"
-            },
-            "uri" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "uri" ]
-      },
-      "org.apache.camel.model.ToDynamicDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "allow-optimised-components" : {
-              "type" : "boolean"
-            },
-            "auto-start-components" : {
-              "type" : "boolean"
-            },
-            "cache-size" : {
-              "type" : "number"
-            },
-            "ignore-invalid-endpoint" : {
-              "type" : "boolean"
-            },
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "parameters" : {
-              "type" : "object"
-            },
-            "pattern" : {
-              "type" : "string"
-            },
-            "uri" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "uri" ]
-      },
-      "org.apache.camel.model.TransactedDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "ref" : {
-            "type" : "string"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.TransformDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.TryDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "do-catch" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.CatchDefinition"
-            }
-          },
-          "do-finally" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.FinallyDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.UnmarshalDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "any23" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.Any23DataFormat"
-          },
-          "asn1" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ASN1DataFormat"
-          },
-          "avro" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.AvroDataFormat"
-          },
-          "barcode" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.BarcodeDataFormat"
-          },
-          "base64" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.Base64DataFormat"
-          },
-          "beanio" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.BeanioDataFormat"
-          },
-          "bindy" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.BindyDataFormat"
-          },
-          "cbor" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CBORDataFormat"
-          },
-          "crypto" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CryptoDataFormat"
-          },
-          "csv" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CsvDataFormat"
-          },
-          "custom" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CustomDataFormat"
-          },
-          "fhir-json" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.FhirJsonDataFormat"
-          },
-          "fhir-xml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.FhirXmlDataFormat"
-          },
-          "flatpack" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.FlatpackDataFormat"
-          },
-          "grok" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.GrokDataFormat"
-          },
-          "gzip" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.GzipDataFormat"
-          },
-          "hl7" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.HL7DataFormat"
-          },
-          "ical" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.IcalDataFormat"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "jacksonxml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JacksonXMLDataFormat"
-          },
-          "jaxb" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JaxbDataFormat"
-          },
-          "json" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JsonDataFormat"
-          },
-          "json-api" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JsonApiDataFormat"
-          },
-          "lzf" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.LZFDataFormat"
-          },
-          "mime-multipart" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.MimeMultipartDataFormat"
-          },
-          "pgp" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.PGPDataFormat"
-          },
-          "protobuf" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ProtobufDataFormat"
-          },
-          "rss" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.RssDataFormat"
-          },
-          "secure-xml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.XMLSecurityDataFormat"
-          },
-          "soapjaxb" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.SoapJaxbDataFormat"
-          },
-          "syslog" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.SyslogDataFormat"
-          },
-          "tarfile" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.TarFileDataFormat"
-          },
-          "thrift" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ThriftDataFormat"
-          },
-          "tidy-markup" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.TidyMarkupDataFormat"
-          },
-          "univocity-csv" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityCsvDataFormat"
-          },
-          "univocity-fixed" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityFixedWidthDataFormat"
-          },
-          "univocity-tsv" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityTsvDataFormat"
-          },
-          "xmlrpc" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.XmlRpcDataFormat"
-          },
-          "xstream" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.XStreamDataFormat"
-          },
-          "yaml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.YAMLDataFormat"
-          },
-          "zip" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ZipDeflaterDataFormat"
-          },
-          "zipfile" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ZipFileDataFormat"
-          }
-        }
-      },
-      "org.apache.camel.model.ValidateDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.WhenDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.WhenSkipSendToEndpointDefinition" : {
-        "type" : "object",
-        "anyOf" : [ {
-          "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-        } ],
-        "properties" : {
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.WireTapDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "allow-optimised-components" : {
-            "type" : "boolean"
-          },
-          "auto-start-components" : {
-            "type" : "boolean"
-          },
-          "body" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ExpressionSubElementDefinition"
-          },
-          "cache-size" : {
-            "type" : "number"
-          },
-          "copy" : {
-            "type" : "boolean"
-          },
-          "dynamic-uri" : {
-            "type" : "boolean"
-          },
-          "executor-service-ref" : {
-            "type" : "string"
-          },
-          "ignore-invalid-endpoint" : {
-            "type" : "boolean"
-          },
-          "inherit-error-handler" : {
-            "type" : "boolean"
-          },
-          "on-prepare-ref" : {
-            "type" : "string"
-          },
-          "parameters" : {
-            "type" : "object"
-          },
-          "pattern" : {
-            "type" : "string"
-          },
-          "processor-ref" : {
-            "type" : "string"
-          },
-          "set-header" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.SetHeaderDefinition"
-            }
-          },
-          "uri" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "uri" ]
-      },
-      "org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "servers" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.CachingServiceCallServiceDiscoveryConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "combined-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CombinedServiceCallServiceDiscoveryConfiguration"
-          },
-          "consul-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.ConsulServiceCallServiceDiscoveryConfiguration"
-          },
-          "dns-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.DnsServiceCallServiceDiscoveryConfiguration"
-          },
-          "etcd-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.EtcdServiceCallServiceDiscoveryConfiguration"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "kubernetes-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.KubernetesServiceCallServiceDiscoveryConfiguration"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "static-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration"
-          },
-          "timeout" : {
-            "type" : "number"
-          },
-          "units" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.CombinedServiceCallServiceDiscoveryConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "caching-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CachingServiceCallServiceDiscoveryConfiguration"
-          },
-          "consul-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.ConsulServiceCallServiceDiscoveryConfiguration"
-          },
-          "dns-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.DnsServiceCallServiceDiscoveryConfiguration"
-          },
-          "etcd-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.EtcdServiceCallServiceDiscoveryConfiguration"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "kubernetes-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.KubernetesServiceCallServiceDiscoveryConfiguration"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "static-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration"
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.CombinedServiceCallServiceFilterConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "blacklist-service-filter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration"
-          },
-          "custom-service-filter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CustomServiceCallServiceFilterConfiguration"
-          },
-          "healthy-service-filter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.HealthyServiceCallServiceFilterConfiguration"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "pass-through-service-filter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.PassThroughServiceCallServiceFilterConfiguration"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.ConsulServiceCallServiceDiscoveryConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "acl-token" : {
-            "type" : "string"
-          },
-          "block-seconds" : {
-            "type" : "number"
-          },
-          "connect-timeout-millis" : {
-            "type" : "number"
-          },
-          "datacenter" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "password" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "read-timeout-millis" : {
-            "type" : "number"
-          },
-          "url" : {
-            "type" : "string"
-          },
-          "user-name" : {
-            "type" : "string"
-          },
-          "write-timeout-millis" : {
-            "type" : "number"
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.CustomServiceCallServiceFilterConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "ref" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.DefaultServiceCallServiceLoadBalancerConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.DnsServiceCallServiceDiscoveryConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "domain" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "proto" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.EtcdServiceCallServiceDiscoveryConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "password" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "service-path" : {
-            "type" : "string"
-          },
-          "timeout" : {
-            "type" : "number"
-          },
-          "type" : {
-            "type" : "string"
-          },
-          "uris" : {
-            "type" : "string"
-          },
-          "user-name" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.HealthyServiceCallServiceFilterConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.KubernetesServiceCallServiceDiscoveryConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "api-version" : {
-            "type" : "string"
-          },
-          "ca-cert-data" : {
-            "type" : "string"
-          },
-          "ca-cert-file" : {
-            "type" : "string"
-          },
-          "client-cert-data" : {
-            "type" : "string"
-          },
-          "client-cert-file" : {
-            "type" : "string"
-          },
-          "client-key-algo" : {
-            "type" : "string"
-          },
-          "client-key-data" : {
-            "type" : "string"
-          },
-          "client-key-file" : {
-            "type" : "string"
-          },
-          "client-key-passphrase" : {
-            "type" : "string"
-          },
-          "dns-domain" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "lookup" : {
-            "type" : "string"
-          },
-          "master-url" : {
-            "type" : "string"
-          },
-          "namespace" : {
-            "type" : "string"
-          },
-          "oauth-token" : {
-            "type" : "string"
-          },
-          "password" : {
-            "type" : "string"
-          },
-          "port-name" : {
-            "type" : "string"
-          },
-          "port-protocol" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "trust-certs" : {
-            "type" : "boolean"
-          },
-          "username" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.PassThroughServiceCallServiceFilterConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.RibbonServiceCallServiceLoadBalancerConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "client-name" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "namespace" : {
-            "type" : "string"
-          },
-          "password" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "username" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.ServiceCallConfigurationDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "blacklist-service-filter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration"
-          },
-          "caching-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CachingServiceCallServiceDiscoveryConfiguration"
-          },
-          "combined-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CombinedServiceCallServiceDiscoveryConfiguration"
-          },
-          "combined-service-filter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CombinedServiceCallServiceFilterConfiguration"
-          },
-          "component" : {
-            "type" : "string"
-          },
-          "consul-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.ConsulServiceCallServiceDiscoveryConfiguration"
-          },
-          "custom-service-filter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CustomServiceCallServiceFilterConfiguration"
-          },
-          "default-load-balancer" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.DefaultServiceCallServiceLoadBalancerConfiguration"
-          },
-          "dns-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.DnsServiceCallServiceDiscoveryConfiguration"
-          },
-          "etcd-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.EtcdServiceCallServiceDiscoveryConfiguration"
-          },
-          "expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.ServiceCallExpressionConfiguration"
-          },
-          "expression-ref" : {
-            "type" : "string"
-          },
-          "healthy-service-filter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.HealthyServiceCallServiceFilterConfiguration"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "kubernetes-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.KubernetesServiceCallServiceDiscoveryConfiguration"
-          },
-          "load-balancer-ref" : {
-            "type" : "string"
-          },
-          "pass-through-service-filter" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.PassThroughServiceCallServiceFilterConfiguration"
-          },
-          "pattern" : {
-            "type" : "string"
-          },
-          "ribbon-load-balancer" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.RibbonServiceCallServiceLoadBalancerConfiguration"
-          },
-          "service-chooser-ref" : {
-            "type" : "string"
-          },
-          "service-discovery-ref" : {
-            "type" : "string"
-          },
-          "service-filter-ref" : {
-            "type" : "string"
-          },
-          "static-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration"
-          },
-          "uri" : {
-            "type" : "string"
-          },
-          "zookeeper-service-discovery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.cloud.ZooKeeperServiceCallServiceDiscoveryConfiguration"
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.ServiceCallDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "blacklist-service-filter" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.BlacklistServiceCallServiceFilterConfiguration"
-            },
-            "caching-service-discovery" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CachingServiceCallServiceDiscoveryConfiguration"
-            },
-            "combined-service-discovery" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CombinedServiceCallServiceDiscoveryConfiguration"
-            },
-            "combined-service-filter" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CombinedServiceCallServiceFilterConfiguration"
-            },
-            "component" : {
-              "type" : "string"
-            },
-            "configuration-ref" : {
-              "type" : "string"
-            },
-            "consul-service-discovery" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.ConsulServiceCallServiceDiscoveryConfiguration"
-            },
-            "custom-service-filter" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.CustomServiceCallServiceFilterConfiguration"
-            },
-            "default-load-balancer" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.DefaultServiceCallServiceLoadBalancerConfiguration"
-            },
-            "dns-service-discovery" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.DnsServiceCallServiceDiscoveryConfiguration"
-            },
-            "etcd-service-discovery" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.EtcdServiceCallServiceDiscoveryConfiguration"
-            },
-            "expression" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.ServiceCallExpressionConfiguration"
-            },
-            "expression-ref" : {
-              "type" : "string"
-            },
-            "healthy-service-filter" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.HealthyServiceCallServiceFilterConfiguration"
-            },
-            "inherit-error-handler" : {
-              "type" : "boolean"
-            },
-            "kubernetes-service-discovery" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.KubernetesServiceCallServiceDiscoveryConfiguration"
-            },
-            "load-balancer-ref" : {
-              "type" : "string"
-            },
-            "name" : {
-              "type" : "string"
-            },
-            "pass-through-service-filter" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.PassThroughServiceCallServiceFilterConfiguration"
-            },
-            "pattern" : {
-              "type" : "string"
-            },
-            "ribbon-load-balancer" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.RibbonServiceCallServiceLoadBalancerConfiguration"
-            },
-            "service-chooser-ref" : {
-              "type" : "string"
-            },
-            "service-discovery-ref" : {
-              "type" : "string"
-            },
-            "service-filter-ref" : {
-              "type" : "string"
-            },
-            "static-service-discovery" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration"
-            },
-            "uri" : {
-              "type" : "string"
-            },
-            "zookeeper-service-discovery" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.cloud.ZooKeeperServiceCallServiceDiscoveryConfiguration"
-            }
-          }
-        } ],
-        "required" : [ "name" ]
-      },
-      "org.apache.camel.model.cloud.ServiceCallExpressionConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "expression-type" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExpressionDefinition"
-          },
-          "host-header" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "port-header" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.ServiceCallServiceChooserConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.ServiceCallServiceDiscoveryConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.ServiceCallServiceFilterConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.ServiceCallServiceLoadBalancerConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "servers" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.cloud.ZooKeeperServiceCallServiceDiscoveryConfiguration" : {
-        "type" : "object",
-        "properties" : {
-          "base-path" : {
-            "type" : "string"
-          },
-          "connection-timeout" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "namespace" : {
-            "type" : "string"
-          },
-          "nodes" : {
-            "type" : "string"
-          },
-          "properties" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-            }
-          },
-          "reconnect-base-sleep-time" : {
-            "type" : "string"
-          },
-          "reconnect-max-retries" : {
-            "type" : "string"
-          },
-          "reconnect-max-sleep-time" : {
-            "type" : "string"
-          },
-          "session-timeout" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "base-path", "nodes" ]
-      },
-      "org.apache.camel.model.config.BatchResequencerConfig" : {
-        "type" : "object",
-        "properties" : {
-          "allow-duplicates" : {
-            "type" : "boolean"
-          },
-          "batch-size" : {
-            "type" : "number"
-          },
-          "batch-timeout" : {
-            "type" : "string"
-          },
-          "ignore-invalid-exchanges" : {
-            "type" : "boolean"
-          },
-          "reverse" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.config.StreamResequencerConfig" : {
-        "type" : "object",
-        "properties" : {
-          "capacity" : {
-            "type" : "number"
-          },
-          "comparator-ref" : {
-            "type" : "string"
-          },
-          "delivery-attempt-interval" : {
-            "type" : "string"
-          },
-          "ignore-invalid-exchanges" : {
-            "type" : "boolean"
-          },
-          "reject-old" : {
-            "type" : "boolean"
-          },
-          "timeout" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.ASN1DataFormat" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "id" : {
-              "type" : "string"
-            },
-            "unmarshal-type" : {
-              "type" : "string"
-            },
-            "using-iterator" : {
-              "type" : "boolean"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.dataformat.Any23DataFormat" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "base-uri" : {
-              "type" : "string"
-            },
-            "configuration" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-              }
-            },
-            "extractors" : {
-              "type" : "array",
-              "items" : {
-                "type" : "string"
-              }
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "output-format" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.dataformat.AvroDataFormat" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "allow-jms-type" : {
-              "type" : "boolean"
-            },
-            "allow-unmarshall-type" : {
-              "type" : "boolean"
-            },
-            "auto-discover-object-mapper" : {
-              "type" : "boolean"
-            },
-            "auto-discover-schema-resolver" : {
-              "type" : "boolean"
-            },
-            "collection-type" : {
-              "type" : "string"
-            },
-            "content-type-header" : {
-              "type" : "boolean"
-            },
-            "disable-features" : {
-              "type" : "string"
-            },
-            "enable-features" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "include" : {
-              "type" : "string"
-            },
-            "instance-class-name" : {
-              "type" : "string"
-            },
-            "json-view" : {
-              "type" : "string"
-            },
-            "library" : {
-              "type" : "string",
-              "enum" : [ "ApacheAvro", "Jackson", "dataFormatName" ]
-            },
-            "module-class-names" : {
-              "type" : "string"
-            },
-            "module-refs" : {
-              "type" : "string"
-            },
-            "object-mapper" : {
-              "type" : "string"
-            },
-            "schema-resolver" : {
-              "type" : "string"
-            },
-            "timezone" : {
-              "type" : "string"
-            },
-            "unmarshal-type" : {
-              "type" : "string"
-            },
-            "use-default-object-mapper" : {
-              "type" : "boolean"
-            },
-            "use-list" : {
-              "type" : "boolean"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.dataformat.BarcodeDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "barcode-format" : {
-            "type" : "string"
-          },
-          "height" : {
-            "type" : "number"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "image-type" : {
-            "type" : "string"
-          },
-          "width" : {
-            "type" : "number"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.Base64DataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "line-length" : {
-            "type" : "number"
-          },
-          "line-separator" : {
-            "type" : "string"
-          },
-          "url-safe" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.BeanioDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "bean-reader-error-handler-type" : {
-            "type" : "string"
-          },
-          "encoding" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "ignore-invalid-records" : {
-            "type" : "boolean"
-          },
-          "ignore-unexpected-records" : {
-            "type" : "boolean"
-          },
-          "ignore-unidentified-records" : {
-            "type" : "boolean"
-          },
-          "mapping" : {
-            "type" : "string"
-          },
-          "stream-name" : {
-            "type" : "string"
-          },
-          "unmarshal-single-object" : {
-            "type" : "boolean"
-          }
-        },
-        "required" : [ "mapping", "stream-name" ]
-      },
-      "org.apache.camel.model.dataformat.BindyDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "allow-empty-stream" : {
-            "type" : "boolean"
-          },
-          "class-type" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "locale" : {
-            "type" : "string"
-          },
-          "type" : {
-            "type" : "string"
-          },
-          "unwrap-single-instance" : {
-            "type" : "boolean"
-          }
-        },
-        "required" : [ "type" ]
-      },
-      "org.apache.camel.model.dataformat.CBORDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "allow-jms-type" : {
-            "type" : "boolean"
-          },
-          "allow-unmarshall-type" : {
-            "type" : "boolean"
-          },
-          "collection-type" : {
-            "type" : "string"
-          },
-          "disable-features" : {
-            "type" : "string"
-          },
-          "enable-features" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "object-mapper" : {
-            "type" : "string"
-          },
-          "pretty-print" : {
-            "type" : "boolean"
-          },
-          "unmarshal-type" : {
-            "type" : "string"
-          },
-          "use-default-object-mapper" : {
-            "type" : "boolean"
-          },
-          "use-list" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.CryptoDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "algorithm" : {
-            "type" : "string"
-          },
-          "algorithm-parameter-ref" : {
-            "type" : "string"
-          },
-          "buffersize" : {
-            "type" : "number"
-          },
-          "crypto-provider" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "init-vector-ref" : {
-            "type" : "string"
-          },
-          "inline" : {
-            "type" : "boolean"
-          },
-          "key-ref" : {
-            "type" : "string"
-          },
-          "mac-algorithm" : {
-            "type" : "string"
-          },
-          "should-append-hmac" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.CsvDataFormat" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "allow-missing-column-names" : {
-              "type" : "boolean"
-            },
-            "capture-header-record" : {
-              "type" : "boolean"
-            },
-            "comment-marker" : {
-              "type" : "string"
-            },
-            "comment-marker-disabled" : {
-              "type" : "boolean"
-            },
-            "delimiter" : {
-              "type" : "string"
-            },
-            "escape" : {
-              "type" : "string"
-            },
-            "escape-disabled" : {
-              "type" : "boolean"
-            },
-            "format-name" : {
-              "type" : "string"
-            },
-            "format-ref" : {
-              "type" : "string"
-            },
-            "header" : {
-              "type" : "array",
-              "items" : {
-                "type" : "string"
-              }
-            },
-            "header-disabled" : {
-              "type" : "boolean"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "ignore-empty-lines" : {
-              "type" : "boolean"
-            },
-            "ignore-header-case" : {
-              "type" : "boolean"
-            },
-            "ignore-surrounding-spaces" : {
-              "type" : "boolean"
-            },
-            "lazy-load" : {
-              "type" : "boolean"
-            },
-            "marshaller-factory-ref" : {
-              "type" : "string"
-            },
-            "null-string" : {
-              "type" : "string"
-            },
-            "null-string-disabled" : {
-              "type" : "boolean"
-            },
-            "quote" : {
-              "type" : "string"
-            },
-            "quote-disabled" : {
-              "type" : "boolean"
-            },
-            "quote-mode" : {
-              "type" : "string"
-            },
-            "record-converter-ref" : {
-              "type" : "string"
-            },
-            "record-separator" : {
-              "type" : "string"
-            },
-            "record-separator-disabled" : {
-              "type" : "string"
-            },
-            "skip-header-record" : {
-              "type" : "boolean"
-            },
-            "trailing-delimiter" : {
-              "type" : "boolean"
-            },
-            "trim" : {
-              "type" : "boolean"
-            },
-            "use-maps" : {
-              "type" : "boolean"
-            },
-            "use-ordered-maps" : {
-              "type" : "boolean"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.dataformat.CustomDataFormat" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "id" : {
-              "type" : "string"
-            },
-            "ref" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "ref" ]
-      },
-      "org.apache.camel.model.dataformat.DataFormatsDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "any23" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.Any23DataFormat"
-          },
-          "asn1" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ASN1DataFormat"
-          },
-          "avro" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.AvroDataFormat"
-          },
-          "barcode" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.BarcodeDataFormat"
-          },
-          "base64" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.Base64DataFormat"
-          },
-          "beanio" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.BeanioDataFormat"
-          },
-          "bindy" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.BindyDataFormat"
-          },
-          "cbor" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CBORDataFormat"
-          },
-          "crypto" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CryptoDataFormat"
-          },
-          "csv" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CsvDataFormat"
-          },
-          "custom" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.CustomDataFormat"
-          },
-          "fhir-json" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.FhirJsonDataFormat"
-          },
-          "fhir-xml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.FhirXmlDataFormat"
-          },
-          "flatpack" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.FlatpackDataFormat"
-          },
-          "grok" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.GrokDataFormat"
-          },
-          "gzip" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.GzipDataFormat"
-          },
-          "hl7" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.HL7DataFormat"
-          },
-          "ical" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.IcalDataFormat"
-          },
-          "jacksonxml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JacksonXMLDataFormat"
-          },
-          "jaxb" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JaxbDataFormat"
-          },
-          "json" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JsonDataFormat"
-          },
-          "json-api" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.JsonApiDataFormat"
-          },
-          "lzf" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.LZFDataFormat"
-          },
-          "mime-multipart" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.MimeMultipartDataFormat"
-          },
-          "pgp" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.PGPDataFormat"
-          },
-          "protobuf" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ProtobufDataFormat"
-          },
-          "rss" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.RssDataFormat"
-          },
-          "secure-xml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.XMLSecurityDataFormat"
-          },
-          "soapjaxb" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.SoapJaxbDataFormat"
-          },
-          "syslog" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.SyslogDataFormat"
-          },
-          "tarfile" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.TarFileDataFormat"
-          },
-          "thrift" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ThriftDataFormat"
-          },
-          "tidy-markup" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.TidyMarkupDataFormat"
-          },
-          "univocity-csv" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityCsvDataFormat"
-          },
-          "univocity-fixed" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityFixedWidthDataFormat"
-          },
-          "univocity-tsv" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityTsvDataFormat"
-          },
-          "xmlrpc" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.XmlRpcDataFormat"
-          },
-          "xstream" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.XStreamDataFormat"
-          },
-          "yaml" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.YAMLDataFormat"
-          },
-          "zip" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ZipDeflaterDataFormat"
-          },
-          "zipfile" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.ZipFileDataFormat"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.FhirJsonDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "content-type-header" : {
-            "type" : "boolean"
-          },
-          "dont-encode-elements" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "dont-strip-versions-from-references-at-paths" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "encode-elements" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "encode-elements-applies-to-child-resources-only" : {
-            "type" : "boolean"
-          },
-          "fhir-version" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "omit-resource-id" : {
-            "type" : "boolean"
-          },
-          "override-resource-id-with-bundle-entry-full-url" : {
-            "type" : "boolean"
-          },
-          "pretty-print" : {
-            "type" : "boolean"
-          },
-          "server-base-url" : {
-            "type" : "string"
-          },
-          "strip-versions-from-references" : {
-            "type" : "boolean"
-          },
-          "summary-mode" : {
-            "type" : "boolean"
-          },
-          "suppress-narratives" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.FhirXmlDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "content-type-header" : {
-            "type" : "boolean"
-          },
-          "dont-encode-elements" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "dont-strip-versions-from-references-at-paths" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "encode-elements" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "encode-elements-applies-to-child-resources-only" : {
-            "type" : "boolean"
-          },
-          "fhir-version" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "omit-resource-id" : {
-            "type" : "boolean"
-          },
-          "override-resource-id-with-bundle-entry-full-url" : {
-            "type" : "boolean"
-          },
-          "pretty-print" : {
-            "type" : "boolean"
-          },
-          "server-base-url" : {
-            "type" : "string"
-          },
-          "strip-versions-from-references" : {
-            "type" : "boolean"
-          },
-          "summary-mode" : {
-            "type" : "boolean"
-          },
-          "suppress-narratives" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.FlatpackDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "allow-short-lines" : {
-            "type" : "boolean"
-          },
-          "definition" : {
-            "type" : "string"
-          },
-          "delimiter" : {
-            "type" : "string"
-          },
-          "fixed" : {
-            "type" : "boolean"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "ignore-extra-columns" : {
-            "type" : "boolean"
-          },
-          "ignore-first-record" : {
-            "type" : "boolean"
-          },
-          "parser-factory-ref" : {
-            "type" : "string"
-          },
-          "text-qualifier" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.GrokDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "allow-multiple-matches-per-line" : {
-            "type" : "boolean"
-          },
-          "flattened" : {
-            "type" : "boolean"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "named-only" : {
-            "type" : "boolean"
-          },
-          "pattern" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "pattern" ]
-      },
-      "org.apache.camel.model.dataformat.GzipDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.HL7DataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "validate" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.IcalDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "validating" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.JacksonXMLDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "allow-jms-type" : {
-            "type" : "boolean"
-          },
-          "allow-unmarshall-type" : {
-            "type" : "boolean"
-          },
-          "collection-type" : {
-            "type" : "string"
-          },
-          "content-type-header" : {
-            "type" : "boolean"
-          },
-          "disable-features" : {
-            "type" : "string"
-          },
-          "enable-features" : {
-            "type" : "string"
-          },
-          "enable-jaxb-annotation-module" : {
-            "type" : "boolean"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "include" : {
-            "type" : "string"
-          },
-          "json-view" : {
-            "type" : "string"
-          },
-          "module-class-names" : {
-            "type" : "string"
-          },
-          "module-refs" : {
-            "type" : "string"
-          },
-          "pretty-print" : {
-            "type" : "boolean"
-          },
-          "unmarshal-type" : {
-            "type" : "string"
-          },
-          "use-list" : {
-            "type" : "boolean"
-          },
-          "xml-mapper" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.JaxbDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "content-type-header" : {
-            "type" : "boolean"
-          },
-          "context-path" : {
-            "type" : "string"
-          },
-          "context-path-is-class-name" : {
-            "type" : "boolean"
-          },
-          "encoding" : {
-            "type" : "string"
-          },
-          "filter-non-xml-chars" : {
-            "type" : "boolean"
-          },
-          "fragment" : {
-            "type" : "boolean"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "ignore-jaxb-element" : {
-            "type" : "boolean"
-          },
-          "jaxb-provider-properties" : {
-            "type" : "string"
-          },
-          "must-be-jaxb-element" : {
-            "type" : "boolean"
-          },
-          "namespace-prefix-ref" : {
-            "type" : "string"
-          },
-          "no-namespace-schema-location" : {
-            "type" : "string"
-          },
-          "object-factory" : {
-            "type" : "boolean"
-          },
-          "part-class" : {
-            "type" : "string"
-          },
-          "part-namespace" : {
-            "type" : "string"
-          },
-          "pretty-print" : {
-            "type" : "boolean"
-          },
-          "schema" : {
-            "type" : "string"
-          },
-          "schema-location" : {
-            "type" : "string"
-          },
-          "schema-severity-level" : {
-            "type" : "number"
-          },
-          "xml-stream-writer-wrapper" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "context-path" ]
-      },
-      "org.apache.camel.model.dataformat.JsonApiDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "main-format-type" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.JsonDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "allow-jms-type" : {
-            "type" : "boolean"
-          },
-          "allow-unmarshall-type" : {
-            "type" : "boolean"
-          },
-          "auto-discover-object-mapper" : {
-            "type" : "boolean"
-          },
-          "auto-discover-schema-resolver" : {
-            "type" : "boolean"
-          },
-          "collection-type" : {
-            "type" : "string"
-          },
-          "content-type-header" : {
-            "type" : "boolean"
-          },
-          "disable-features" : {
-            "type" : "string"
-          },
-          "drop-root-node" : {
-            "type" : "boolean"
-          },
-          "enable-features" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "include" : {
-            "type" : "string"
-          },
-          "json-view" : {
-            "type" : "string"
-          },
-          "library" : {
-            "type" : "string",
-            "enum" : [ "Fastjson", "Gson", "Jackson", "Johnzon", "Jsonb", "XStream" ]
-          },
-          "module-class-names" : {
-            "type" : "string"
-          },
-          "module-refs" : {
-            "type" : "string"
-          },
-          "object-mapper" : {
-            "type" : "string"
-          },
-          "permissions" : {
-            "type" : "string"
-          },
-          "pretty-print" : {
-            "type" : "boolean"
-          },
-          "schema-resolver" : {
-            "type" : "string"
-          },
-          "timezone" : {
-            "type" : "string"
-          },
-          "unmarshal-type" : {
-            "type" : "string"
-          },
-          "use-default-object-mapper" : {
-            "type" : "boolean"
-          },
-          "use-list" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.LZFDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "using-parallel-compression" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.MimeMultipartDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "binary-content" : {
-            "type" : "boolean"
-          },
-          "headers-inline" : {
-            "type" : "boolean"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "include-headers" : {
-            "type" : "string"
-          },
-          "multipart-sub-type" : {
-            "type" : "string"
-          },
-          "multipart-without-attachment" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.PGPDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "algorithm" : {
-            "type" : "number"
-          },
-          "armored" : {
-            "type" : "boolean"
-          },
-          "compression-algorithm" : {
-            "type" : "number"
-          },
-          "hash-algorithm" : {
-            "type" : "number"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "integrity" : {
-            "type" : "boolean"
-          },
-          "key-file-name" : {
-            "type" : "string"
-          },
-          "key-userid" : {
-            "type" : "string"
-          },
-          "password" : {
-            "type" : "string"
-          },
-          "provider" : {
-            "type" : "string"
-          },
-          "signature-key-file-name" : {
-            "type" : "string"
-          },
-          "signature-key-ring" : {
-            "type" : "string"
-          },
-          "signature-key-userid" : {
-            "type" : "string"
-          },
-          "signature-password" : {
-            "type" : "string"
-          },
-          "signature-verification-option" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.ProtobufDataFormat" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "allow-jms-type" : {
-              "type" : "boolean"
-            },
-            "allow-unmarshall-type" : {
-              "type" : "boolean"
-            },
-            "auto-discover-object-mapper" : {
-              "type" : "boolean"
-            },
-            "auto-discover-schema-resolver" : {
-              "type" : "boolean"
-            },
-            "collection-type" : {
-              "type" : "string"
-            },
-            "content-type-format" : {
-              "type" : "string"
-            },
-            "content-type-header" : {
-              "type" : "boolean"
-            },
-            "disable-features" : {
-              "type" : "string"
-            },
-            "enable-features" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "include" : {
-              "type" : "string"
-            },
-            "instance-class" : {
-              "type" : "string"
-            },
-            "json-view" : {
-              "type" : "string"
-            },
-            "library" : {
-              "type" : "string",
-              "enum" : [ "GoogleProtobuf", "Jackson", "dataFormatName" ]
-            },
-            "module-class-names" : {
-              "type" : "string"
-            },
-            "module-refs" : {
-              "type" : "string"
-            },
-            "object-mapper" : {
-              "type" : "string"
-            },
-            "schema-resolver" : {
-              "type" : "string"
-            },
-            "timezone" : {
-              "type" : "string"
-            },
-            "unmarshal-type" : {
-              "type" : "string"
-            },
-            "use-default-object-mapper" : {
-              "type" : "boolean"
-            },
-            "use-list" : {
-              "type" : "boolean"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.dataformat.RssDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.SoapJaxbDataFormat" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "context-path" : {
-              "type" : "string"
-            },
-            "element-name-strategy-ref" : {
-              "type" : "string"
-            },
-            "encoding" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "namespace-prefix-ref" : {
-              "type" : "string"
-            },
-            "schema" : {
-              "type" : "string"
-            },
-            "version" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "context-path" ]
-      },
-      "org.apache.camel.model.dataformat.SyslogDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.TarFileDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "allow-empty-directory" : {
-            "type" : "boolean"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "max-decompressed-size" : {
-            "type" : "number"
-          },
-          "preserve-path-elements" : {
-            "type" : "boolean"
-          },
-          "using-iterator" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.ThriftDataFormat" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "content-type-format" : {
-              "type" : "string"
-            },
-            "content-type-header" : {
-              "type" : "boolean"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "instance-class" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.dataformat.TidyMarkupDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "data-object-type" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "omit-xml-declaration" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.UniVocityCsvDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "as-map" : {
-            "type" : "boolean"
-          },
-          "comment" : {
-            "type" : "string"
-          },
-          "delimiter" : {
-            "type" : "string"
-          },
-          "empty-value" : {
-            "type" : "string"
-          },
-          "header-extraction-enabled" : {
-            "type" : "boolean"
-          },
-          "headers-disabled" : {
-            "type" : "boolean"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "ignore-leading-whitespaces" : {
-            "type" : "boolean"
-          },
-          "ignore-trailing-whitespaces" : {
-            "type" : "boolean"
-          },
-          "lazy-load" : {
-            "type" : "boolean"
-          },
-          "line-separator" : {
-            "type" : "string"
-          },
-          "normalized-line-separator" : {
-            "type" : "string"
-          },
-          "null-value" : {
-            "type" : "string"
-          },
-          "number-of-records-to-read" : {
-            "type" : "number"
-          },
-          "quote" : {
-            "type" : "string"
-          },
-          "quote-all-fields" : {
-            "type" : "boolean"
-          },
-          "quote-escape" : {
-            "type" : "string"
-          },
-          "skip-empty-lines" : {
-            "type" : "boolean"
-          },
-          "univocity-header" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityHeader"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.UniVocityFixedWidthDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "as-map" : {
-            "type" : "boolean"
-          },
-          "comment" : {
-            "type" : "string"
-          },
-          "empty-value" : {
-            "type" : "string"
-          },
-          "header-extraction-enabled" : {
-            "type" : "boolean"
-          },
-          "headers-disabled" : {
-            "type" : "boolean"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "ignore-leading-whitespaces" : {
-            "type" : "boolean"
-          },
-          "ignore-trailing-whitespaces" : {
-            "type" : "boolean"
-          },
-          "lazy-load" : {
-            "type" : "boolean"
-          },
-          "line-separator" : {
-            "type" : "string"
-          },
-          "normalized-line-separator" : {
-            "type" : "string"
-          },
-          "null-value" : {
-            "type" : "string"
-          },
-          "number-of-records-to-read" : {
-            "type" : "number"
-          },
-          "padding" : {
-            "type" : "string"
-          },
-          "record-ends-on-newline" : {
-            "type" : "boolean"
-          },
-          "skip-empty-lines" : {
-            "type" : "boolean"
-          },
-          "skip-trailing-chars-until-newline" : {
-            "type" : "boolean"
-          },
-          "univocity-header" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityHeader"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.UniVocityHeader" : {
-        "type" : "object",
-        "properties" : {
-          "length" : {
-            "type" : "string"
-          },
-          "name" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.UniVocityTsvDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "as-map" : {
-            "type" : "boolean"
-          },
-          "comment" : {
-            "type" : "string"
-          },
-          "empty-value" : {
-            "type" : "string"
-          },
-          "escape-char" : {
-            "type" : "string"
-          },
-          "header-extraction-enabled" : {
-            "type" : "boolean"
-          },
-          "headers-disabled" : {
-            "type" : "boolean"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "ignore-leading-whitespaces" : {
-            "type" : "boolean"
-          },
-          "ignore-trailing-whitespaces" : {
-            "type" : "boolean"
-          },
-          "lazy-load" : {
-            "type" : "boolean"
-          },
-          "line-separator" : {
-            "type" : "string"
-          },
-          "normalized-line-separator" : {
-            "type" : "string"
-          },
-          "null-value" : {
-            "type" : "string"
-          },
-          "number-of-records-to-read" : {
-            "type" : "number"
-          },
-          "skip-empty-lines" : {
-            "type" : "boolean"
-          },
-          "univocity-header" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.UniVocityHeader"
-            }
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.XMLSecurityDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "add-key-value-for-encrypted-key" : {
-            "type" : "boolean"
-          },
-          "digest-algorithm" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "key-cipher-algorithm" : {
-            "type" : "string"
-          },
-          "key-or-trust-store-parameters-ref" : {
-            "type" : "string"
-          },
-          "key-password" : {
-            "type" : "string"
-          },
-          "mgf-algorithm" : {
-            "type" : "string"
-          },
-          "pass-phrase" : {
-            "type" : "string"
-          },
-          "pass-phrase-byte" : {
-            "type" : "string"
-          },
-          "recipient-key-alias" : {
-            "type" : "string"
-          },
-          "secure-tag" : {
-            "type" : "string"
-          },
-          "secure-tag-contents" : {
-            "type" : "boolean"
-          },
-          "xml-cipher-algorithm" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.XStreamDataFormat" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "aliases" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-              }
-            },
-            "content-type-header" : {
-              "type" : "boolean"
-            },
-            "converters" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-              }
-            },
-            "driver" : {
-              "type" : "string"
-            },
-            "driver-ref" : {
-              "type" : "string"
-            },
-            "encoding" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "implicit-collections" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-              }
-            },
-            "mode" : {
-              "type" : "string"
-            },
-            "omit-fields" : {
-              "type" : "array",
-              "items" : {
-                "$ref" : "#/items/definitions/org.apache.camel.model.PropertyDefinition"
-              }
-            },
-            "permissions" : {
-              "type" : "string"
-            }
-          }
-        } ]
-      },
-      "org.apache.camel.model.dataformat.XmlRpcDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          },
-          "request" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.YAMLDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "allow-any-type" : {
-            "type" : "boolean"
-          },
-          "allow-recursive-keys" : {
-            "type" : "boolean"
-          },
-          "constructor" : {
-            "type" : "string"
-          },
-          "dumper-options" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "library" : {
-            "type" : "string",
-            "enum" : [ "SnakeYAML" ]
-          },
-          "max-aliases-for-collections" : {
-            "type" : "number"
-          },
-          "pretty-flow" : {
-            "type" : "boolean"
-          },
-          "representer" : {
-            "type" : "string"
-          },
-          "resolver" : {
-            "type" : "string"
-          },
-          "type-filter" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.dataformat.YAMLTypeFilterDefinition"
-            }
-          },
-          "unmarshal-type" : {
-            "type" : "string"
-          },
-          "use-application-context-class-loader" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.YAMLTypeFilterDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "type" : {
-            "type" : "string"
-          },
-          "value" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.ZipDeflaterDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "compression-level" : {
-            "type" : "number"
-          },
-          "id" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.dataformat.ZipFileDataFormat" : {
-        "type" : "object",
-        "properties" : {
-          "allow-empty-directory" : {
-            "type" : "boolean"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "max-decompressed-size" : {
-            "type" : "number"
-          },
-          "preserve-path-elements" : {
-            "type" : "boolean"
-          },
-          "using-iterator" : {
-            "type" : "boolean"
-          }
-        }
-      },
-      "org.apache.camel.model.language.CSimpleExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "result-type" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.ConstantExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "result-type" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.DatasonnetExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "body-media-type" : {
-              "type" : "string"
-            },
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "output-media-type" : {
-              "type" : "string"
-            },
-            "result-type" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.ExchangePropertyExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.ExpressionDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "constant" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ConstantExpression"
-          },
-          "csimple" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.CSimpleExpression"
-          },
-          "datasonnet" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.DatasonnetExpression"
-          },
-          "exchange-property" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExchangePropertyExpression"
-          },
-          "exchangeProperty" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.ExchangePropertyExpression"
-          },
-          "groovy" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.GroovyExpression"
-          },
-          "header" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.HeaderExpression"
-          },
-          "hl7terser" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.Hl7TerserExpression"
-          },
-          "joor" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.JoorExpression"
-          },
-          "jsonpath" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.JsonPathExpression"
-          },
-          "language" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.LanguageExpression"
-          },
-          "method" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.MethodCallExpression"
-          },
-          "mvel" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.MvelExpression"
-          },
-          "ognl" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.OgnlExpression"
-          },
-          "ref" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.RefExpression"
-          },
-          "simple" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.SimpleExpression"
-          },
-          "spel" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.SpELExpression"
-          },
-          "tokenize" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.TokenizerExpression"
-          },
-          "xpath" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.XPathExpression"
-          },
-          "xquery" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.XQueryExpression"
-          },
-          "xtokenize" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.language.XMLTokenizerExpression"
-          }
-        }
-      },
-      "org.apache.camel.model.language.GroovyExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.HeaderExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.Hl7TerserExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.JoorExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "pre-compile" : {
-              "type" : "boolean"
-            },
-            "result-type" : {
-              "type" : "string"
-            },
-            "single-quotes" : {
-              "type" : "boolean"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.JsonPathExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "allow-easy-predicate" : {
-              "type" : "boolean"
-            },
-            "allow-simple" : {
-              "type" : "boolean"
-            },
-            "expression" : {
-              "type" : "string"
-            },
-            "header-name" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "option" : {
-              "type" : "string"
-            },
-            "result-type" : {
-              "type" : "string"
-            },
-            "suppress-exceptions" : {
-              "type" : "boolean"
-            },
-            "trim" : {
-              "type" : "boolean"
-            },
-            "write-as-string" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.LanguageExpression" : {
-        "type" : "object",
-        "properties" : {
-          "expression" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "language" : {
-            "type" : "string"
-          },
-          "trim" : {
-            "type" : "boolean"
-          }
-        },
-        "required" : [ "expression", "language" ]
-      },
-      "org.apache.camel.model.language.MethodCallExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "bean-type" : {
-              "type" : "string"
-            },
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "method" : {
-              "type" : "string"
-            },
-            "ref" : {
-              "type" : "string"
-            },
-            "scope" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.MvelExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.OgnlExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.RefExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.SimpleExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "result-type" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.SpELExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.TokenizerExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "end-token" : {
-              "type" : "string"
-            },
-            "expression" : {
-              "type" : "string"
-            },
-            "group" : {
-              "type" : "string"
-            },
-            "group-delimiter" : {
-              "type" : "string"
-            },
-            "header-name" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "include-tokens" : {
-              "type" : "boolean"
-            },
-            "inherit-namespace-tag-name" : {
-              "type" : "string"
-            },
-            "regex" : {
-              "type" : "boolean"
-            },
-            "skip-first" : {
-              "type" : "boolean"
-            },
-            "token" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            },
-            "xml" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression", "token" ]
-      },
-      "org.apache.camel.model.language.XMLTokenizerExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
-            "group" : {
-              "type" : "number"
-            },
-            "header-name" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "mode" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.XPathExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "document-type" : {
-              "type" : "string"
-            },
-            "expression" : {
-              "type" : "string"
-            },
-            "factory-ref" : {
-              "type" : "string"
-            },
-            "header-name" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "log-namespaces" : {
-              "type" : "boolean"
-            },
-            "object-model" : {
-              "type" : "string"
-            },
-            "pre-compile" : {
-              "type" : "boolean"
-            },
-            "result-type" : {
-              "type" : "string"
-            },
-            "saxon" : {
-              "type" : "boolean"
-            },
-            "thread-safety" : {
-              "type" : "boolean"
-            },
-            "trim" : {
-              "type" : "boolean"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.language.XQueryExpression" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "configuration-ref" : {
-              "type" : "string"
-            },
-            "expression" : {
-              "type" : "string"
-            },
-            "header-name" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "trim" : {
-              "type" : "boolean"
-            },
-            "type" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "expression" ]
-      },
-      "org.apache.camel.model.loadbalancer.CustomLoadBalancerDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "id" : {
-              "type" : "string"
-            },
-            "ref" : {
-              "type" : "string"
-            }
-          }
-        } ],
-        "required" : [ "ref" ]
-      },
-      "org.apache.camel.model.loadbalancer.FailoverLoadBalancerDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "exception" : {
-            "type" : "array",
-            "items" : {
-              "type" : "string"
-            }
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "maximum-failover-attempts" : {
-            "type" : "string"
-          },
-          "round-robin" : {
-            "type" : "string"
-          },
-          "sticky" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.loadbalancer.RandomLoadBalancerDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.loadbalancer.RoundRobinLoadBalancerDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.loadbalancer.StickyLoadBalancerDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "correlation-expression" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ExpressionSubElementDefinition"
-          },
-          "id" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.loadbalancer.TopicLoadBalancerDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "id" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.loadbalancer.WeightedLoadBalancerDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "distribution-ratio" : {
-            "type" : "string"
-          },
-          "distribution-ratio-delimiter" : {
-            "type" : "string"
-          },
-          "id" : {
-            "type" : "string"
-          },
-          "round-robin" : {
-            "type" : "string"
-          }
-        },
-        "required" : [ "distribution-ratio" ]
-      },
-      "org.apache.camel.model.rest.DeleteVerbDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "api-docs" : {
-            "type" : "string"
-          },
-          "binding-mode" : {
-            "type" : "string"
-          },
-          "client-request-validation" : {
-            "type" : "string"
-          },
-          "consumes" : {
-            "type" : "string"
-          },
-          "deprecated" : {
-            "type" : "boolean"
-          },
-          "enable-cors" : {
-            "type" : "string"
-          },
-          "method" : {
-            "type" : "string"
-          },
-          "out-type" : {
-            "type" : "string"
-          },
-          "param" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.rest.RestOperationParamDefinition"
-            }
-          },
-          "produces" : {
-            "type" : "string"
-          },
-          "response-message" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.rest.RestOperationResponseMsgDefinition"
-            }
-          },
-          "route" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.RouteDefinition"
-          },
-          "route-id" : {
-            "type" : "string"
-          },
-          "security" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.rest.SecurityDefinition"
-            }
-          },
-          "skip-binding-on-error-code" : {
-            "type" : "string"
-          },
-          "steps" : {
-            "type" : "array",
-            "items" : {
-              "$ref" : "#/items/definitions/org.apache.camel.model.ProcessorDefinition"
-            }
-          },
-          "to" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ToDefinition"
-          },
-          "to-d" : {
-            "$ref" : "#/items/definitions/org.apache.camel.model.ToDynamicDefinition"
-          },
-          "type" : {
-            "type" : "string"
-          },
-          "uri" : {
-            "type" : "string"
-          }
-        }
-      },
-      "org.apache.camel.model.rest.GetVerbDefinition" : {
-        "type" : "object",
-        "properties" : {
-          "api-docs" : {
-            "type" : "string"
-          },
-          "binding-mode" : {
-            "type" : "string"
-          },
-          "client-request-validation" : {
-            "type" : "string"
-          },
-          "consumes" : {
-            "type" : "string"
-          },
-          "deprecated" : {
-            "type" : "boolean"
-          },
-          "enable-cors" : {
-            "type" : "string"
-          },
-          "method" : {
-            "type" : "string"
-          },
-          "out-type" : {
-            "type" : "string"
-          },
... 4401 lines suppressed ...