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

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

commit c3610b84d322ff44e2638c9de4a3334d8e8f0a18
Author: AurĂ©lien Pupier <[email protected]>
AuthorDate: Wed Sep 23 13:54:29 2026 +0200

    Removal of Iggy replicationFactor and addition of iggy header options
    Map
    
    with Iggy 0.9.0, the replication factor parameter has been removed. This
    parameter was not used anyway by Iggy anymore in default configuration.
    
    I twas more or less replaced by providing a generic Map of Options. Each
    key is specific to the implementation chosen and there is no API or
    documentation for them. So providing the possibility to use it but you
    have to look to the internals of Iggy.
    
    Signed-off-by: AurĂ©lien Pupier <[email protected]>
---
 .../org/apache/camel/catalog/components/iggy.json  |  24 +--
 .../component/iggy/IggyComponentConfigurer.java    |  21 ++-
 .../component/iggy/IggyEndpointConfigurer.java     |  21 ++-
 .../component/iggy/IggyEndpointUriFactory.java     |   2 +-
 .../org/apache/camel/component/iggy/iggy.json      |  24 +--
 .../camel/component/iggy/IggyConfiguration.java    |  23 +--
 .../apache/camel/component/iggy/IggyEndpoint.java  |  13 +-
 .../ROOT/pages/camel-4x-upgrade-guide-4_23.adoc    |   6 +
 .../component/dsl/IggyComponentBuilderFactory.java |  33 ++--
 .../endpoint/dsl/IggyEndpointBuilderFactory.java   | 177 +++++++++++----------
 10 files changed, 194 insertions(+), 150 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/iggy.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/iggy.json
index c747a512e3f2..65229dd9b0fc 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/iggy.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/iggy.json
@@ -30,12 +30,12 @@
     "compressionAlgorithm": { "index": 3, "kind": "property", "displayName": 
"Compression Algorithm", "group": "common", "label": "", "required": false, 
"type": "enum", "javaType": "org.apache.iggy.topic.CompressionAlgorithm", 
"enum": [ "None", "Gzip" ], "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": "None", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Compression algorithm for [...]
     "configuration": { "index": 4, "kind": "property", "displayName": 
"Configuration", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": "org.apache.camel.component.iggy.IggyConfiguration", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to pre-configure the Iggy component with common options that the 
endpoints will reuse." },
     "host": { "index": 5, "kind": "property", "displayName": "Host", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "localhost", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy server hostname or IP address" },
-    "maxTopicSize": { "index": 6, "kind": "property", "displayName": "Max 
Topic Size", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Maximum topic size in bytes (0 means 
unlimited)" },
-    "messageExpiry": { "index": 7, "kind": "property", "displayName": "Message 
Expiry", "group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Message expiry time in seconds (0 means no 
expiry)" },
-    "partitionsCount": { "index": 8, "kind": "property", "displayName": 
"Partitions Count", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Number of partitions for the topic" },
-    "password": { "index": 9, "kind": "property", "displayName": "Password", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy password" },
-    "port": { "index": 10, "kind": "property", "displayName": "Port", "group": 
"common", "label": "", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 8090, 
"configurationClass": "org.apache.camel.component.iggy.IggyConfiguration", 
"configurationField": "configuration", "description": "Iggy server port number" 
},
-    "replicationFactor": { "index": 11, "kind": "property", "displayName": 
"Replication Factor", "group": "common", "label": "", "required": false, 
"type": "integer", "javaType": "java.lang.Short", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Replication factor for the topic" },
+    "iggyHeaderOptions": { "index": 6, "kind": "property", "displayName": 
"Iggy Header Options", "group": "common", "label": "", "required": false, 
"type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.iggy.IggyConfiguration", 
"configurationField": "configuration", "description": "Options provided when 
creating a topic" },
+    "maxTopicSize": { "index": 7, "kind": "property", "displayName": "Max 
Topic Size", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Maximum topic size in bytes (0 means 
unlimited)" },
+    "messageExpiry": { "index": 8, "kind": "property", "displayName": "Message 
Expiry", "group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Message expiry time in seconds (0 means no 
expiry)" },
+    "partitionsCount": { "index": 9, "kind": "property", "displayName": 
"Partitions Count", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Number of partitions for the topic" },
+    "password": { "index": 10, "kind": "property", "displayName": "Password", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy password" },
+    "port": { "index": 11, "kind": "property", "displayName": "Port", "group": 
"common", "label": "", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 8090, 
"configurationClass": "org.apache.camel.component.iggy.IggyConfiguration", 
"configurationField": "configuration", "description": "Iggy server port number" 
},
     "streamId": { "index": 12, "kind": "property", "displayName": "Stream Id", 
"group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Long", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Stream identifier" },
     "streamName": { "index": 13, "kind": "property", "displayName": "Stream 
Name", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "endpointIdentity": true, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Stream name" },
     "autoCommit": { "index": 14, "kind": "property", "displayName": "Auto 
Commit", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Controls message acknowledgment behavior. When 
true, messages are automatically marked as proces [...]
@@ -63,12 +63,12 @@
     "clientTransport": { "index": 3, "kind": "parameter", "displayName": 
"Client Transport", "group": "common", "label": "", "required": false, "type": 
"enum", "javaType": "java.lang.String", "enum": [ "TCP", "HTTP" ], 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"TCP", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Polling strategy" },
     "compressionAlgorithm": { "index": 4, "kind": "parameter", "displayName": 
"Compression Algorithm", "group": "common", "label": "", "required": false, 
"type": "enum", "javaType": "org.apache.iggy.topic.CompressionAlgorithm", 
"enum": [ "None", "Gzip" ], "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": "None", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Compression algorithm fo [...]
     "host": { "index": 5, "kind": "parameter", "displayName": "Host", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "localhost", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy server hostname or IP address" },
-    "maxTopicSize": { "index": 6, "kind": "parameter", "displayName": "Max 
Topic Size", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Maximum topic size in bytes (0 means 
unlimited)" },
-    "messageExpiry": { "index": 7, "kind": "parameter", "displayName": 
"Message Expiry", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Message expiry time in seconds (0 means no 
expiry)" },
-    "partitionsCount": { "index": 8, "kind": "parameter", "displayName": 
"Partitions Count", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Number of partitions for the topic" },
-    "password": { "index": 9, "kind": "parameter", "displayName": "Password", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy password" },
-    "port": { "index": 10, "kind": "parameter", "displayName": "Port", 
"group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 8090, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy server port number" },
-    "replicationFactor": { "index": 11, "kind": "parameter", "displayName": 
"Replication Factor", "group": "common", "label": "", "required": false, 
"type": "integer", "javaType": "java.lang.Short", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Replication factor for the topic" },
+    "iggyHeaderOptions": { "index": 6, "kind": "parameter", "displayName": 
"Iggy Header Options", "group": "common", "label": "", "required": false, 
"type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.iggy.IggyConfiguration", 
"configurationField": "configuration", "description": "Options provided when 
creating a topic" },
+    "maxTopicSize": { "index": 7, "kind": "parameter", "displayName": "Max 
Topic Size", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Maximum topic size in bytes (0 means 
unlimited)" },
+    "messageExpiry": { "index": 8, "kind": "parameter", "displayName": 
"Message Expiry", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Message expiry time in seconds (0 means no 
expiry)" },
+    "partitionsCount": { "index": 9, "kind": "parameter", "displayName": 
"Partitions Count", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Number of partitions for the topic" },
+    "password": { "index": 10, "kind": "parameter", "displayName": "Password", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy password" },
+    "port": { "index": 11, "kind": "parameter", "displayName": "Port", 
"group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 8090, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy server port number" },
     "streamId": { "index": 12, "kind": "parameter", "displayName": "Stream 
Id", "group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Long", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Stream identifier" },
     "streamName": { "index": 13, "kind": "parameter", "displayName": "Stream 
Name", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "endpointIdentity": true, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Stream name" },
     "autoCommit": { "index": 14, "kind": "parameter", "displayName": "Auto 
Commit", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Controls message acknowledgment behavior. When 
true, messages are automatically marked as proce [...]
diff --git 
a/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyComponentConfigurer.java
 
b/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyComponentConfigurer.java
index d3476c5b725d..a757b821d394 100644
--- 
a/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyComponentConfigurer.java
+++ 
b/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyComponentConfigurer.java
@@ -50,6 +50,8 @@ public class IggyComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "consumerscount":
         case "consumersCount": 
getOrCreateConfiguration(target).setConsumersCount(property(camelContext, 
int.class, value)); return true;
         case "host": 
getOrCreateConfiguration(target).setHost(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "iggyheaderoptions":
+        case "iggyHeaderOptions": 
getOrCreateConfiguration(target).setIggyHeaderOptions(property(camelContext, 
java.util.Map.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
         case "maxtopicsize":
@@ -67,8 +69,6 @@ public class IggyComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "pollingstrategy":
         case "pollingStrategy": 
getOrCreateConfiguration(target).setPollingStrategy(property(camelContext, 
java.lang.String.class, value)); return true;
         case "port": 
getOrCreateConfiguration(target).setPort(property(camelContext, int.class, 
value)); return true;
-        case "replicationfactor":
-        case "replicationFactor": 
getOrCreateConfiguration(target).setReplicationFactor(property(camelContext, 
java.lang.Short.class, value)); return true;
         case "shutdowntimeout":
         case "shutdownTimeout": 
getOrCreateConfiguration(target).setShutdownTimeout(property(camelContext, 
int.class, value)); return true;
         case "sslcontextparameters":
@@ -113,6 +113,8 @@ public class IggyComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "consumerscount":
         case "consumersCount": return int.class;
         case "host": return java.lang.String.class;
+        case "iggyheaderoptions":
+        case "iggyHeaderOptions": return java.util.Map.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
         case "maxtopicsize":
@@ -130,8 +132,6 @@ public class IggyComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "pollingstrategy":
         case "pollingStrategy": return java.lang.String.class;
         case "port": return int.class;
-        case "replicationfactor":
-        case "replicationFactor": return java.lang.Short.class;
         case "shutdowntimeout":
         case "shutdownTimeout": return int.class;
         case "sslcontextparameters":
@@ -177,6 +177,8 @@ public class IggyComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "consumerscount":
         case "consumersCount": return 
getOrCreateConfiguration(target).getConsumersCount();
         case "host": return getOrCreateConfiguration(target).getHost();
+        case "iggyheaderoptions":
+        case "iggyHeaderOptions": return 
getOrCreateConfiguration(target).getIggyHeaderOptions();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
         case "maxtopicsize":
@@ -194,8 +196,6 @@ public class IggyComponentConfigurer extends 
PropertyConfigurerSupport implement
         case "pollingstrategy":
         case "pollingStrategy": return 
getOrCreateConfiguration(target).getPollingStrategy();
         case "port": return getOrCreateConfiguration(target).getPort();
-        case "replicationfactor":
-        case "replicationFactor": return 
getOrCreateConfiguration(target).getReplicationFactor();
         case "shutdowntimeout":
         case "shutdownTimeout": return 
getOrCreateConfiguration(target).getShutdownTimeout();
         case "sslcontextparameters":
@@ -216,5 +216,14 @@ public class IggyComponentConfigurer extends 
PropertyConfigurerSupport implement
         default: return null;
         }
     }
+
+    @Override
+    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "iggyheaderoptions":
+        case "iggyHeaderOptions": return java.lang.String.class;
+        default: return null;
+        }
+    }
 }
 
diff --git 
a/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyEndpointConfigurer.java
 
b/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyEndpointConfigurer.java
index de39baa4ce96..08b254549f29 100644
--- 
a/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyEndpointConfigurer.java
+++ 
b/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyEndpointConfigurer.java
@@ -46,6 +46,8 @@ public class IggyEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "headerfilterstrategy":
         case "headerFilterStrategy": 
target.setHeaderFilterStrategy(property(camelContext, 
org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
         case "host": target.getConfiguration().setHost(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "iggyheaderoptions":
+        case "iggyHeaderOptions": 
target.getConfiguration().setIggyHeaderOptions(property(camelContext, 
java.util.Map.class, value)); return true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
         case "maxtopicsize":
@@ -63,8 +65,6 @@ public class IggyEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "pollingstrategy":
         case "pollingStrategy": 
target.getConfiguration().setPollingStrategy(property(camelContext, 
java.lang.String.class, value)); return true;
         case "port": target.getConfiguration().setPort(property(camelContext, 
int.class, value)); return true;
-        case "replicationfactor":
-        case "replicationFactor": 
target.getConfiguration().setReplicationFactor(property(camelContext, 
java.lang.Short.class, value)); return true;
         case "shutdowntimeout":
         case "shutdownTimeout": 
target.getConfiguration().setShutdownTimeout(property(camelContext, int.class, 
value)); return true;
         case "sslcontextparameters":
@@ -110,6 +110,8 @@ public class IggyEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "headerfilterstrategy":
         case "headerFilterStrategy": return 
org.apache.camel.spi.HeaderFilterStrategy.class;
         case "host": return java.lang.String.class;
+        case "iggyheaderoptions":
+        case "iggyHeaderOptions": return java.util.Map.class;
         case "lazystartproducer":
         case "lazyStartProducer": return boolean.class;
         case "maxtopicsize":
@@ -127,8 +129,6 @@ public class IggyEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "pollingstrategy":
         case "pollingStrategy": return java.lang.String.class;
         case "port": return int.class;
-        case "replicationfactor":
-        case "replicationFactor": return java.lang.Short.class;
         case "shutdowntimeout":
         case "shutdownTimeout": return int.class;
         case "sslcontextparameters":
@@ -175,6 +175,8 @@ public class IggyEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "headerfilterstrategy":
         case "headerFilterStrategy": return target.getHeaderFilterStrategy();
         case "host": return target.getConfiguration().getHost();
+        case "iggyheaderoptions":
+        case "iggyHeaderOptions": return 
target.getConfiguration().getIggyHeaderOptions();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
         case "maxtopicsize":
@@ -192,8 +194,6 @@ public class IggyEndpointConfigurer extends 
PropertyConfigurerSupport implements
         case "pollingstrategy":
         case "pollingStrategy": return 
target.getConfiguration().getPollingStrategy();
         case "port": return target.getConfiguration().getPort();
-        case "replicationfactor":
-        case "replicationFactor": return 
target.getConfiguration().getReplicationFactor();
         case "shutdowntimeout":
         case "shutdownTimeout": return 
target.getConfiguration().getShutdownTimeout();
         case "sslcontextparameters":
@@ -212,5 +212,14 @@ public class IggyEndpointConfigurer extends 
PropertyConfigurerSupport implements
         default: return null;
         }
     }
+
+    @Override
+    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "iggyheaderoptions":
+        case "iggyHeaderOptions": return java.lang.String.class;
+        default: return null;
+        }
+    }
 }
 
diff --git 
a/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyEndpointUriFactory.java
 
b/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyEndpointUriFactory.java
index 053866b0c284..f3224818d57f 100644
--- 
a/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyEndpointUriFactory.java
+++ 
b/components/camel-iggy/src/generated/java/org/apache/camel/component/iggy/IggyEndpointUriFactory.java
@@ -37,6 +37,7 @@ public class IggyEndpointUriFactory extends 
org.apache.camel.support.component.E
         props.add("exchangePattern");
         props.add("headerFilterStrategy");
         props.add("host");
+        props.add("iggyHeaderOptions");
         props.add("lazyStartProducer");
         props.add("maxTopicSize");
         props.add("messageExpiry");
@@ -47,7 +48,6 @@ public class IggyEndpointUriFactory extends 
org.apache.camel.support.component.E
         props.add("pollBatchSize");
         props.add("pollingStrategy");
         props.add("port");
-        props.add("replicationFactor");
         props.add("shutdownTimeout");
         props.add("sslContextParameters");
         props.add("startingOffset");
diff --git 
a/components/camel-iggy/src/generated/resources/META-INF/org/apache/camel/component/iggy/iggy.json
 
b/components/camel-iggy/src/generated/resources/META-INF/org/apache/camel/component/iggy/iggy.json
index c747a512e3f2..65229dd9b0fc 100644
--- 
a/components/camel-iggy/src/generated/resources/META-INF/org/apache/camel/component/iggy/iggy.json
+++ 
b/components/camel-iggy/src/generated/resources/META-INF/org/apache/camel/component/iggy/iggy.json
@@ -30,12 +30,12 @@
     "compressionAlgorithm": { "index": 3, "kind": "property", "displayName": 
"Compression Algorithm", "group": "common", "label": "", "required": false, 
"type": "enum", "javaType": "org.apache.iggy.topic.CompressionAlgorithm", 
"enum": [ "None", "Gzip" ], "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": "None", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Compression algorithm for [...]
     "configuration": { "index": 4, "kind": "property", "displayName": 
"Configuration", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": "org.apache.camel.component.iggy.IggyConfiguration", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Allows to pre-configure the Iggy component with common options that the 
endpoints will reuse." },
     "host": { "index": 5, "kind": "property", "displayName": "Host", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "localhost", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy server hostname or IP address" },
-    "maxTopicSize": { "index": 6, "kind": "property", "displayName": "Max 
Topic Size", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Maximum topic size in bytes (0 means 
unlimited)" },
-    "messageExpiry": { "index": 7, "kind": "property", "displayName": "Message 
Expiry", "group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Message expiry time in seconds (0 means no 
expiry)" },
-    "partitionsCount": { "index": 8, "kind": "property", "displayName": 
"Partitions Count", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Number of partitions for the topic" },
-    "password": { "index": 9, "kind": "property", "displayName": "Password", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy password" },
-    "port": { "index": 10, "kind": "property", "displayName": "Port", "group": 
"common", "label": "", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 8090, 
"configurationClass": "org.apache.camel.component.iggy.IggyConfiguration", 
"configurationField": "configuration", "description": "Iggy server port number" 
},
-    "replicationFactor": { "index": 11, "kind": "property", "displayName": 
"Replication Factor", "group": "common", "label": "", "required": false, 
"type": "integer", "javaType": "java.lang.Short", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Replication factor for the topic" },
+    "iggyHeaderOptions": { "index": 6, "kind": "property", "displayName": 
"Iggy Header Options", "group": "common", "label": "", "required": false, 
"type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.iggy.IggyConfiguration", 
"configurationField": "configuration", "description": "Options provided when 
creating a topic" },
+    "maxTopicSize": { "index": 7, "kind": "property", "displayName": "Max 
Topic Size", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Maximum topic size in bytes (0 means 
unlimited)" },
+    "messageExpiry": { "index": 8, "kind": "property", "displayName": "Message 
Expiry", "group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Message expiry time in seconds (0 means no 
expiry)" },
+    "partitionsCount": { "index": 9, "kind": "property", "displayName": 
"Partitions Count", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Number of partitions for the topic" },
+    "password": { "index": 10, "kind": "property", "displayName": "Password", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy password" },
+    "port": { "index": 11, "kind": "property", "displayName": "Port", "group": 
"common", "label": "", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 8090, 
"configurationClass": "org.apache.camel.component.iggy.IggyConfiguration", 
"configurationField": "configuration", "description": "Iggy server port number" 
},
     "streamId": { "index": 12, "kind": "property", "displayName": "Stream Id", 
"group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Long", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Stream identifier" },
     "streamName": { "index": 13, "kind": "property", "displayName": "Stream 
Name", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "endpointIdentity": true, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Stream name" },
     "autoCommit": { "index": 14, "kind": "property", "displayName": "Auto 
Commit", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Controls message acknowledgment behavior. When 
true, messages are automatically marked as proces [...]
@@ -63,12 +63,12 @@
     "clientTransport": { "index": 3, "kind": "parameter", "displayName": 
"Client Transport", "group": "common", "label": "", "required": false, "type": 
"enum", "javaType": "java.lang.String", "enum": [ "TCP", "HTTP" ], 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"TCP", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Polling strategy" },
     "compressionAlgorithm": { "index": 4, "kind": "parameter", "displayName": 
"Compression Algorithm", "group": "common", "label": "", "required": false, 
"type": "enum", "javaType": "org.apache.iggy.topic.CompressionAlgorithm", 
"enum": [ "None", "Gzip" ], "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": "None", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Compression algorithm fo [...]
     "host": { "index": 5, "kind": "parameter", "displayName": "Host", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "localhost", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy server hostname or IP address" },
-    "maxTopicSize": { "index": 6, "kind": "parameter", "displayName": "Max 
Topic Size", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Maximum topic size in bytes (0 means 
unlimited)" },
-    "messageExpiry": { "index": 7, "kind": "parameter", "displayName": 
"Message Expiry", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Message expiry time in seconds (0 means no 
expiry)" },
-    "partitionsCount": { "index": 8, "kind": "parameter", "displayName": 
"Partitions Count", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Number of partitions for the topic" },
-    "password": { "index": 9, "kind": "parameter", "displayName": "Password", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy password" },
-    "port": { "index": 10, "kind": "parameter", "displayName": "Port", 
"group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 8090, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy server port number" },
-    "replicationFactor": { "index": 11, "kind": "parameter", "displayName": 
"Replication Factor", "group": "common", "label": "", "required": false, 
"type": "integer", "javaType": "java.lang.Short", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Replication factor for the topic" },
+    "iggyHeaderOptions": { "index": 6, "kind": "parameter", "displayName": 
"Iggy Header Options", "group": "common", "label": "", "required": false, 
"type": "object", "javaType": "java.util.Map<java.lang.String, 
java.lang.String>", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.iggy.IggyConfiguration", 
"configurationField": "configuration", "description": "Options provided when 
creating a topic" },
+    "maxTopicSize": { "index": 7, "kind": "parameter", "displayName": "Max 
Topic Size", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Maximum topic size in bytes (0 means 
unlimited)" },
+    "messageExpiry": { "index": 8, "kind": "parameter", "displayName": 
"Message Expiry", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 0, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Message expiry time in seconds (0 means no 
expiry)" },
+    "partitionsCount": { "index": 9, "kind": "parameter", "displayName": 
"Partitions Count", "group": "common", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 1, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Number of partitions for the topic" },
+    "password": { "index": 10, "kind": "parameter", "displayName": "Password", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy password" },
+    "port": { "index": 11, "kind": "parameter", "displayName": "Port", 
"group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 8090, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Iggy server port number" },
     "streamId": { "index": 12, "kind": "parameter", "displayName": "Stream 
Id", "group": "common", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Long", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Stream identifier" },
     "streamName": { "index": 13, "kind": "parameter", "displayName": "Stream 
Name", "group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "endpointIdentity": true, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Stream name" },
     "autoCommit": { "index": 14, "kind": "parameter", "displayName": "Auto 
Commit", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.iggy.IggyConfiguration", "configurationField": 
"configuration", "description": "Controls message acknowledgment behavior. When 
true, messages are automatically marked as proce [...]
diff --git 
a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyConfiguration.java
 
b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyConfiguration.java
index 698f10467c53..a09f17147fe1 100644
--- 
a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyConfiguration.java
+++ 
b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyConfiguration.java
@@ -16,6 +16,9 @@
  */
 package org.apache.camel.component.iggy;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
@@ -53,8 +56,8 @@ public class IggyConfiguration implements Cloneable {
     private Long messageExpiry = 0L;
     @UriParam(defaultValue = "0", description = "Maximum topic size in bytes 
(0 means unlimited)")
     private Long maxTopicSize = 0L;
-    @UriParam(description = "Replication factor for the topic")
-    private Short replicationFactor;
+    @UriParam(description = "Options provided when creating a topic")
+    private Map<String, String> iggyHeaderOptions = new HashMap<>();
     @UriParam(label = "producer", defaultValue = "balanced", description = 
"Partitioning strategy for message distribution")
     private Partitioning partitioning = Partitioning.balanced();
     @UriParam(label = "consumer", description = "The name of the consumer 
group")
@@ -201,14 +204,6 @@ public class IggyConfiguration implements Cloneable {
         this.maxTopicSize = maxTopicSize;
     }
 
-    public Short getReplicationFactor() {
-        return replicationFactor;
-    }
-
-    public void setReplicationFactor(Short replicationFactor) {
-        this.replicationFactor = replicationFactor;
-    }
-
     public Partitioning getPartitioning() {
         return partitioning;
     }
@@ -322,4 +317,12 @@ public class IggyConfiguration implements Cloneable {
     public void setSslContextParameters(SSLContextParameters 
sslContextParameters) {
         this.sslContextParameters = sslContextParameters;
     }
+
+    public Map<String, String> getIggyHeaderOptions() {
+        return iggyHeaderOptions;
+    }
+
+    public void setIggyHeaderOptions(Map<String, String> iggyHeaderOptions) {
+        this.iggyHeaderOptions = iggyHeaderOptions;
+    }
 }
diff --git 
a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyEndpoint.java
 
b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyEndpoint.java
index 90f8e8885c26..6491d58a51eb 100644
--- 
a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyEndpoint.java
+++ 
b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyEndpoint.java
@@ -17,8 +17,9 @@
 package org.apache.camel.component.iggy;
 
 import java.math.BigInteger;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Objects;
-import java.util.Optional;
 import java.util.concurrent.ExecutorService;
 
 import org.apache.camel.Category;
@@ -38,6 +39,7 @@ import org.apache.iggy.consumergroup.ConsumerGroupDetails;
 import org.apache.iggy.identifier.ConsumerId;
 import org.apache.iggy.identifier.StreamId;
 import org.apache.iggy.identifier.TopicId;
+import org.apache.iggy.message.HeaderValue;
 import org.apache.iggy.stream.StreamDetails;
 import org.apache.iggy.topic.TopicDetails;
 import org.slf4j.Logger;
@@ -112,13 +114,18 @@ public class IggyEndpoint extends DefaultEndpoint 
implements HeaderFilterStrateg
                     .getTopic(StreamId.of(stream), TopicId.of(topic))
                     .orElseGet(() -> {
                         LOG.debug("Creating topic with name {}", topic);
+                        Map<String, HeaderValue> options = new HashMap<>();
+                        for (Map.Entry<String, String> optionEntry : 
iggyConfiguration.getIggyHeaderOptions().entrySet()) {
+                            options.put(optionEntry.getKey(), 
HeaderValue.fromString(optionEntry.getValue()));
+                        }
+
                         TopicDetails topicDetails = 
client.topics().createTopic(StreamId.of(stream),
                                 iggyConfiguration.getPartitionsCount(),
                                 iggyConfiguration.getCompressionAlgorithm(),
                                 
BigInteger.valueOf(iggyConfiguration.getMessageExpiry()),
                                 
BigInteger.valueOf(iggyConfiguration.getMaxTopicSize()),
-                                
Optional.ofNullable(iggyConfiguration.getReplicationFactor()),
-                                topic);
+                                topic,
+                                options);
 
                         LOG.debug("Topic created or retrieved with details: 
{}", topicDetails.toString());
 
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
index 7e9e6024b2e4..c2d3df2b39d4 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
@@ -1015,6 +1015,12 @@ The affected sites, all of which resolved a 
header-derived or endpoint-derived v
 Where the value came from the endpoint rather than a header it was already 
resolved at build time,
 so removing the per-message resolution does not change those routes.
 
+=== camel-iggy - breaking change
+
+Client dependency has been upgraded to 0.9.0.
+The URI parameter `replicationFactor` has been removed. It was removed from 
Iggy API. It wasn't used anyway in Iggy code.
+New parameter `iggyHeaderOptions` has been added. Each key is specific to the 
implementation chosen and there is no API or documentation for them. So 
providing the possibility to use it but you have to look to the internals of 
Iggy.
+
 === camel-console - variables dev console JSON response shape
 
 The `variables` dev console (`/q/dev/variables`) no longer returns a JSON 
object keyed by each
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/IggyComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/IggyComponentBuilderFactory.java
index 71cef1d3585f..4b09d3e4bc92 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/IggyComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/IggyComponentBuilderFactory.java
@@ -154,6 +154,22 @@ public interface IggyComponentBuilderFactory {
             return this;
         }
     
+        /**
+         * Options provided when creating a topic.
+         * 
+         * The option is a: &lt;code&gt;java.util.Map&amp;lt;java.lang.String,
+         * java.lang.String&amp;gt;&lt;/code&gt; type.
+         * 
+         * Group: common
+         * 
+         * @param iggyHeaderOptions the value to set
+         * @return the dsl builder
+         */
+        default IggyComponentBuilder 
iggyHeaderOptions(java.util.Map<java.lang.String, java.lang.String> 
iggyHeaderOptions) {
+            doSetProperty("iggyHeaderOptions", iggyHeaderOptions);
+            return this;
+        }
+    
         /**
          * Maximum topic size in bytes (0 means unlimited).
          * 
@@ -233,21 +249,6 @@ public interface IggyComponentBuilderFactory {
             return this;
         }
     
-        /**
-         * Replication factor for the topic.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Short&lt;/code&gt; type.
-         * 
-         * Group: common
-         * 
-         * @param replicationFactor the value to set
-         * @return the dsl builder
-         */
-        default IggyComponentBuilder replicationFactor(java.lang.Short 
replicationFactor) {
-            doSetProperty("replicationFactor", replicationFactor);
-            return this;
-        }
-    
         /**
          * Stream identifier.
          * 
@@ -616,12 +617,12 @@ public interface IggyComponentBuilderFactory {
             case "compressionAlgorithm": 
getOrCreateConfiguration((IggyComponent) 
component).setCompressionAlgorithm((org.apache.iggy.topic.CompressionAlgorithm) 
value); return true;
             case "configuration": ((IggyComponent) 
component).setConfiguration((org.apache.camel.component.iggy.IggyConfiguration) 
value); return true;
             case "host": getOrCreateConfiguration((IggyComponent) 
component).setHost((java.lang.String) value); return true;
+            case "iggyHeaderOptions": getOrCreateConfiguration((IggyComponent) 
component).setIggyHeaderOptions((java.util.Map) value); return true;
             case "maxTopicSize": getOrCreateConfiguration((IggyComponent) 
component).setMaxTopicSize((java.lang.Long) value); return true;
             case "messageExpiry": getOrCreateConfiguration((IggyComponent) 
component).setMessageExpiry((java.lang.Long) value); return true;
             case "partitionsCount": getOrCreateConfiguration((IggyComponent) 
component).setPartitionsCount((java.lang.Long) value); return true;
             case "password": getOrCreateConfiguration((IggyComponent) 
component).setPassword((java.lang.String) value); return true;
             case "port": getOrCreateConfiguration((IggyComponent) 
component).setPort((int) value); return true;
-            case "replicationFactor": getOrCreateConfiguration((IggyComponent) 
component).setReplicationFactor((java.lang.Short) value); return true;
             case "streamId": getOrCreateConfiguration((IggyComponent) 
component).setStreamId((java.lang.Long) value); return true;
             case "streamName": getOrCreateConfiguration((IggyComponent) 
component).setStreamName((java.lang.String) value); return true;
             case "autoCommit": getOrCreateConfiguration((IggyComponent) 
component).setAutoCommit((boolean) value); return true;
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/IggyEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/IggyEndpointBuilderFactory.java
index b80a48209c22..6b9a7a2bb1a8 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/IggyEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/IggyEndpointBuilderFactory.java
@@ -165,6 +165,37 @@ public interface IggyEndpointBuilderFactory {
             doSetProperty("host", host);
             return this;
         }
+        /**
+         * Options provided when creating a topic.
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.String&gt;</code> type.
+         * 
+         * Group: common
+         * 
+         * @param iggyHeaderOptions the value to set
+         * @return the dsl builder
+         */
+        default IggyEndpointConsumerBuilder 
iggyHeaderOptions(Map<java.lang.String, java.lang.String> iggyHeaderOptions) {
+            doSetProperty("iggyHeaderOptions", iggyHeaderOptions);
+            return this;
+        }
+        /**
+         * Options provided when creating a topic.
+         * 
+         * The option will be converted to a
+         * <code>java.util.Map&lt;java.lang.String, java.lang.String&gt;</code>
+         * type.
+         * 
+         * Group: common
+         * 
+         * @param iggyHeaderOptions the value to set
+         * @return the dsl builder
+         */
+        default IggyEndpointConsumerBuilder iggyHeaderOptions(String 
iggyHeaderOptions) {
+            doSetProperty("iggyHeaderOptions", iggyHeaderOptions);
+            return this;
+        }
         /**
          * Maximum topic size in bytes (0 means unlimited).
          * 
@@ -299,34 +330,6 @@ public interface IggyEndpointBuilderFactory {
             doSetProperty("port", port);
             return this;
         }
-        /**
-         * Replication factor for the topic.
-         * 
-         * The option is a: <code>java.lang.Short</code> type.
-         * 
-         * Group: common
-         * 
-         * @param replicationFactor the value to set
-         * @return the dsl builder
-         */
-        default IggyEndpointConsumerBuilder replicationFactor(Short 
replicationFactor) {
-            doSetProperty("replicationFactor", replicationFactor);
-            return this;
-        }
-        /**
-         * Replication factor for the topic.
-         * 
-         * The option will be converted to a <code>java.lang.Short</code> type.
-         * 
-         * Group: common
-         * 
-         * @param replicationFactor the value to set
-         * @return the dsl builder
-         */
-        default IggyEndpointConsumerBuilder replicationFactor(String 
replicationFactor) {
-            doSetProperty("replicationFactor", replicationFactor);
-            return this;
-        }
         /**
          * Stream identifier.
          * 
@@ -975,6 +978,37 @@ public interface IggyEndpointBuilderFactory {
             doSetProperty("host", host);
             return this;
         }
+        /**
+         * Options provided when creating a topic.
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.String&gt;</code> type.
+         * 
+         * Group: common
+         * 
+         * @param iggyHeaderOptions the value to set
+         * @return the dsl builder
+         */
+        default IggyEndpointProducerBuilder 
iggyHeaderOptions(Map<java.lang.String, java.lang.String> iggyHeaderOptions) {
+            doSetProperty("iggyHeaderOptions", iggyHeaderOptions);
+            return this;
+        }
+        /**
+         * Options provided when creating a topic.
+         * 
+         * The option will be converted to a
+         * <code>java.util.Map&lt;java.lang.String, java.lang.String&gt;</code>
+         * type.
+         * 
+         * Group: common
+         * 
+         * @param iggyHeaderOptions the value to set
+         * @return the dsl builder
+         */
+        default IggyEndpointProducerBuilder iggyHeaderOptions(String 
iggyHeaderOptions) {
+            doSetProperty("iggyHeaderOptions", iggyHeaderOptions);
+            return this;
+        }
         /**
          * Maximum topic size in bytes (0 means unlimited).
          * 
@@ -1109,34 +1143,6 @@ public interface IggyEndpointBuilderFactory {
             doSetProperty("port", port);
             return this;
         }
-        /**
-         * Replication factor for the topic.
-         * 
-         * The option is a: <code>java.lang.Short</code> type.
-         * 
-         * Group: common
-         * 
-         * @param replicationFactor the value to set
-         * @return the dsl builder
-         */
-        default IggyEndpointProducerBuilder replicationFactor(Short 
replicationFactor) {
-            doSetProperty("replicationFactor", replicationFactor);
-            return this;
-        }
-        /**
-         * Replication factor for the topic.
-         * 
-         * The option will be converted to a <code>java.lang.Short</code> type.
-         * 
-         * Group: common
-         * 
-         * @param replicationFactor the value to set
-         * @return the dsl builder
-         */
-        default IggyEndpointProducerBuilder replicationFactor(String 
replicationFactor) {
-            doSetProperty("replicationFactor", replicationFactor);
-            return this;
-        }
         /**
          * Stream identifier.
          * 
@@ -1529,6 +1535,37 @@ public interface IggyEndpointBuilderFactory {
             doSetProperty("host", host);
             return this;
         }
+        /**
+         * Options provided when creating a topic.
+         * 
+         * The option is a: <code>java.util.Map&lt;java.lang.String,
+         * java.lang.String&gt;</code> type.
+         * 
+         * Group: common
+         * 
+         * @param iggyHeaderOptions the value to set
+         * @return the dsl builder
+         */
+        default IggyEndpointBuilder iggyHeaderOptions(Map<java.lang.String, 
java.lang.String> iggyHeaderOptions) {
+            doSetProperty("iggyHeaderOptions", iggyHeaderOptions);
+            return this;
+        }
+        /**
+         * Options provided when creating a topic.
+         * 
+         * The option will be converted to a
+         * <code>java.util.Map&lt;java.lang.String, java.lang.String&gt;</code>
+         * type.
+         * 
+         * Group: common
+         * 
+         * @param iggyHeaderOptions the value to set
+         * @return the dsl builder
+         */
+        default IggyEndpointBuilder iggyHeaderOptions(String 
iggyHeaderOptions) {
+            doSetProperty("iggyHeaderOptions", iggyHeaderOptions);
+            return this;
+        }
         /**
          * Maximum topic size in bytes (0 means unlimited).
          * 
@@ -1663,34 +1700,6 @@ public interface IggyEndpointBuilderFactory {
             doSetProperty("port", port);
             return this;
         }
-        /**
-         * Replication factor for the topic.
-         * 
-         * The option is a: <code>java.lang.Short</code> type.
-         * 
-         * Group: common
-         * 
-         * @param replicationFactor the value to set
-         * @return the dsl builder
-         */
-        default IggyEndpointBuilder replicationFactor(Short replicationFactor) 
{
-            doSetProperty("replicationFactor", replicationFactor);
-            return this;
-        }
-        /**
-         * Replication factor for the topic.
-         * 
-         * The option will be converted to a <code>java.lang.Short</code> type.
-         * 
-         * Group: common
-         * 
-         * @param replicationFactor the value to set
-         * @return the dsl builder
-         */
-        default IggyEndpointBuilder replicationFactor(String 
replicationFactor) {
-            doSetProperty("replicationFactor", replicationFactor);
-            return this;
-        }
         /**
          * Stream identifier.
          * 

Reply via email to